CA2345288A1 - Data link layer manager for network access - Google Patents
Data link layer manager for network access Download PDFInfo
- Publication number
- CA2345288A1 CA2345288A1 CA002345288A CA2345288A CA2345288A1 CA 2345288 A1 CA2345288 A1 CA 2345288A1 CA 002345288 A CA002345288 A CA 002345288A CA 2345288 A CA2345288 A CA 2345288A CA 2345288 A1 CA2345288 A1 CA 2345288A1
- Authority
- CA
- Canada
- Prior art keywords
- data link
- link layer
- application
- computer system
- 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/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5691—Access to open networks; Ingress point selection, e.g. ISP selection
- H04L12/5692—Selection among different networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
A system, method, and apparatus are provided for selecting a data link layer (128) to connect a computer system (105) for data communication. An application (107) seeking data communication access over a data link layer (128) sends a request (step 309) to a data link layer manager (205). The data link layer manager (205) then determines the availability of a data fink layer (128) from a plurality of data link layers (128) based on the user's preferences and selects (step 310) the most preferred data link layer (128) that is available.
Description
r DATA LINK LAYER MANAGER FOR NETWORK ACCESS
BACKGROUND OF THE INVENTION
Technical Field of the Invention The present application is related to the proceas for accessing a network, and mare particularly to a mechanism for selecting from amongst a plurality of possible data link layers in establishing network access.
Description of Related Art 1 o One of the most popular uses of computers today is for the communication of information. Computers connected across a communication channel or medium are able to transfer large amounts of data electronically. The medium through which computers connects to each other for data communications is a connection across a physical layer established and maintained by a data kink layer.
I5 There are several communication media that are available to users. A very common communications medium used in the hone environment is the public switched telephone network (PS'TN). A user can connect his computer to a phone line via a modem, and then place a phone call to another computer similarly connected to . the PSTN. A common communication medium in most business environments is a 2 0 Local Area Network (LAN) connection. In a LAN, the; communicating computers are interconnected with a twisted pair of wires to form a r.~etwork. Other communication media include a Wide Area Network connection (WAN), or a wireless (cellular) connection. Each communication medium offers a unique set of advantages and disadvantages making each communication medium more suitable for certain 25 computer data communication uses and less suitable for other computer data communication uses.
One of the fastest growing areas of computer data communications is the Internet. The Internet is a large number of computer networks from government agencies, the military, educational institutions, and businesses from all parts of the 3 0 world interconnected to form a network of networks. In order to use the Internet, a user must simply establish a communication channel between their computer and an Internet Access Device (IAD). Once a computer has access to the Internet, the user can have access to and exchange information ranging from stock quotes to the latest WO OO/I9b79 PCT1SE99/01650 scores in sporting events. Accordingly, the Internet has been referred to as the "Information Superhighway."
The Internet is also advantageous for use in establishing a data communication channel between two computers. While two computers could establish a communication channel using one of the aforementioned examples of communication media, such a communication channel is expensive and sometimes impractical in cases where the communicating computers are separated by large geographic distances.
Because the Internet is a global network, each computer can connect to an Internet Access Device (IAD) which is in closer geographical proximity. Accordingly, a communication channel can be established between two computers using the Internet.
The computer systems connect to the IAD using a direct connection across a physical layer which is established and maintained by a data link layer. T'he physical layer provides the mechanical and electrical means for data transmission. The data link layer is built on the physical layer and is responsible for managing the ~5 transmission of data over the physical connection. Those skilled in the art will recognize that many computer systems have a plurality of available communications media, and therefore, will have a plurality ofphysicaI layers and data link layers built on each physical layer.
Today, there are several applications that utilize data communications. The File Transfer Protocol (FTP) allows computers to exchange, upload, and download files. TELNET enables a terminal to be connected to a remote host as if it were directly connected to the computer. Simple Mail Transport Protocol (SMTP) provides a method for exchanging electronic mail (E-mail). 'The Video Phone allows users at communicating computers to engage in a video conference. One of the most popular applications is the Hypertext Transfer Protocol (HT'TP) which is used by a browser, such as the Netscape NavigatorT"" or the Microsoft: Internet ExplorerTM, to browse pages on the World Wide Web (WWW).
Depending in part, on the particular application, as well as the user habits, certain data link layers are most appropriate for certain application and less appropriate 3 0 for others. For example, applications like HTTP and FTP which involve the transfer of large amounts of data may be better suited for a data link layer built on a physical layer with a higher bandwidth. On the other hand, l:he SMTP might be better suited with data link layer built on a physical layer with a lower bandwidth which is usually more economical to use.
3 5 In the current system implementation, in order for the user to effectuate a preferred data link layer far an application, a user must designate a specific data Iinlc WO OOII9679 PC'T/SE99/01650 layer from the computer's operating system before starting the application. In many simple computer systems with only a single data link layer, designating the data Link layer in each application using the operating system is straight-forward.
However, in a higher-end computer system with access to several data Link layers, assigning a particular data link layer for each application is quiae complex. Furthermore many applications do not allow the user to designate their preferred data Link layer in the event many data link layers are available from the operating system. There would be an advantage if the manner in which the user can designate preferences regarding the data link layer for each application could be simplified and perhaps allow far the selection by applications of alternate data link layer..
SUMMARY OF THE INVENTION
The present invention is directed to a system, rriethod, and apparatus for automatically selecting the data link layer an application utilizes in engaging in a data communication. The user inputs a list of any number of data link layer preferences for each application. When the application seeks to communicate, the presence and status of each of the data link layers is examined, and the most preferred available data link layer is selected for use by the application in engaging in the data communication.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the method and apparatus of the present invention may be acquired by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:
FIGURE 1 is a block diagram of computer systems exchanging information;
FIGURE 2 is a block diagram of a software system embodying the principals of the present invention;
FIGURE 3 is a flow chart of the operation of the data link layer manager in accordance with the principals of the present invention; and FIGURE 4 is an exemplary hardware environment configurable for embodying the principals of the present invention.
DETAILED DESCRIPTION OF THE DRAWINGS
Reference is now made to FIGURE l, wherein there is shown a block diagram of computer systems lOSa, lOSb exchanging information over a communications channel 110. The computer systems 105a, l OSb run software, known as applications 107a, 107b, which exchange information during noxmal use. In order for computer .
.
WO 00/19679 PCTlSE99/01650 system 1 OSa to exchange information with computer system I OSb, a communications channel 110 must exist between the computer systems. The communications channel 110 can be, for example, a phone Iine in the public switched telephone network (PSTN), a local area network (LAN) connection, a wide area network {WAN) connection, an Internet connection, or even a cellular wireless channel (such as Cellular Digital Packet Data, or General Packet Radio Service). The Internet 11 S has recently become a popular communications channel 110.
The Internet 11 S is a network which joins together computer networks from educational institutions, the government, the miIita~y, and many private businesses in all parts of the world. Because the Internet includes computer networks all over the world, computer system lOSa, and computer system lOSb can connect to the Internet from an access computer l2Sa, I2Sb in close geographical proximity. The computer systems lOSa, IOSb connect to the access computer 125a, l2Sb using a direct connection across a physical layer I27a,127b which is established and maintained by a data link layer 128a, 128b. The physical layer 1127 provides the mechanical and electrical means for data transmission, and includes voltage specifications, current specifications, and impedence specifcations. The data link layer 128 is built on the physical layer and is responsible for managing the transmission of data over the physical connection. Those skilled in the art will recognize that many computer 2 0 systems have a plurality of available communications media, and therefore, will have a plurality of physical layers and data link layers built on each physical layer. Each data link layer i28a can establish a connection with a different access computer 125.
The access computers I2Sa, l2Sb at which the computer systems l OSa, 1 OSb connect to the Internet 11 S via the physical layers I27a, 22'~b are known in the art as Internet 2 5 Access Devices (IAD) l2Sa, l2Sb. Although the LADS 12S are shown connected to a single computer system lOS, it should be understood that IADs can connect to a plurality of different computer systems.
In addition to being connected to computer systems lOS, an IAD l2Sa is physically interconnected with other IADs l2Sb, I2Sc, l2Sd using what is known as 3 0 a mesh connection 126. The mesh connection 126 is established and maintained by a special data /ink layer 128c, such as Synchronous Optical Network (SONET), Synchronous Digital Hierarchy (SDH), Asynchronous Transfer Mode (ATM), or Frame Relay. When computer system 1 OSa communicates to computer system 10Sb using the Internet, computer system l OSa transfers data to IAD l2Sa. The IAD
l2Sa 3 5 passes the data to an Internet Protocol (IP) layer l3Sc residing on the iAD. The IP
layer is used to route the packet to the right destination IAD. The IP layer I3Sc passes WO 00119679 PCT/SE99/Ol b50 the data to the data link layer 128c for transmission to IAD 125b. When IAD
125b receives the data, the data is passed to IP layer 135c v~rhich passes the data to data link layer 128c for transmission to computer system l OSb.
Accordingly the communication channel 110 includes physical layers 127a, 127b and the Internet 115. Because the physical layers 127x, I27b connect the computer systems IOSa, lOSb to a point 125a, 125b that is in close geographical proximity, the physical connections are inexpensive and more practical to maintain.
The use of the Internet 115 is also beneficial because tl'ne computer systems 1 OS a, I OSb can also exchange information with any other computer system on the Internet.
l0 Once a communication channel 110 is established, the information to be transmitted must be formatted in a manner suitable for transmission.
Additionally, information regarding the information transfer, such as the speed, ready to send signals, and ready to receive signals, must also be sent. The foregoing is straight-forward in cases where computer system I OSa and computer system IOSb are made by the same manufacturer. However a compatibility problem arises in cases where the computer system 105a and computer system IOSb are made by different manufacturers.
Furthermore, a compatibility problem is certain to arise if the communication channel includes the Internet 1 IS, because the Internet includes a vast variety of computer 2 0 system made by many different manufacturers. Accordingly, a common communication standard is needed for transferring information. The most common communication standard used is known as the Transport Control Protocolllnternet Protocol {TCP/IP). Another common communication standard is the User Datagram Protocol (UDP).
2 5 TCP/IP includes a network layer 135, known as the Internet Protocol (IP), and a transport layer 140, known as the Transport Control Protocol (TCP). The IP
layer 135 is a connectionless mode protocol designed to route messages between networks and includes the capability to segment and reassemblie messages that must be routed between networks that support different packet sizes than the size supported by the 3 0 different data link layers 128 on which the computers ;ire attached. The TCP layer 140 provides end-to-end reliable transmission and includes advanced functions such as flow control, error control, and the exchange of status information. The TCPIIP
addresses computers l OSa, 1 OSb connected to the Internet 1 I S using a 32-bit address known as an IP address. The IP address is often expressed as four decimal numbers 35 ranging from 0 to 255 with each number separated by a dot (e.~., 127.100.32.255), ..._.
WO 00!19679 PCTISE99101650 wherein each number is the decimal equivalent of a corresponding 8-bit portion of the 32-bit address.
The TCPIIP is usually implemented as a modularized program referred to as ' a TCP/IP stack I30. The application 107a, 107b involved in the information transfer interfaces with the TCP/IP stack 130 to transfer ini:ormation. While the application ' 10? handles higher-level tasks related to the content of the information to be transferred, the TCP/IP stack 130 handles the details related to the transferring of the information and interfaces with the data link layer '.128.
The application 107 can be, far example, t:he File Transfer Protocol (FTP), IO TELNET, Simple Mail Transport Protocol (SM7:'P), or Hypertext Transmission Protocol (HTTP). Depending in part, on the particuilar application 107, as well as the user habits, certain data link layers 128 are most appropriate for certain application and less appropriate for others. For example, for a remote user, applications like HTTP
and FTP which involve the transfer of large amounts of data may be better suited for a data link layer 128 with higher bandwidth, such ;as an analog phone line. On the other hand, the SMTP application might be better suited with a wireless packet data connection.
Refernng now to FIGURE 2, a block dia;;ram of a software system 200 embodying the present invention is described. The computer system 1 OS
includes a 2 0 number of available physical layers I27 which can be used to connect to a responding computer 215. The responding computer 215 is a computer which is directly connected to computer system l OSa via a physical :layer 127, and can comprise, for example, computer system lOSb or Internet Access Device 125x. Built on each physical layer is a data link layer I28. Operating and bounded to each data link layer 2 5 128 is a separate instance of a TCP/IP stack 130 or any othermodule for implementing a common communication standard 145 (communication module 145), such as a UDP
module. Whenever a data link layer 128 bounded t:o a TCP/IP stack 130 is used to connect to the responding computer 2I5, an IP addr<as or other means to identify the destination is obtained from the application I07.
3 0 A socket application program interface (API;I implementation 201 with a well defined API 202 is inserted between the applications I07 and the TCP/IP stacks and any other communication module 145 which are bounded to the data link layer 128. The socket API implementation 201 includes a data link layer manager 205 which controls the access of the applications 10'7 to the TCP/IP stacks 130 or 3 5 communication module 145 which are bounded to the data Link layers 128, when the _.
_'7_ applications seek external data communication acceas to, for example, the Internet 115.
The user inputs into the data link layer manager 205 a series of preferred data link layers 128 for each particular application 107. The user can also select any number of alternate data link layers 128 to be used when the most preferred data link Layer is not available. Table 1 is an exemplary illustration of a user-defined preference table of data link layers A-D 128 for each application. The user's preferences for each application 107 can be stored in memory or on a disl; in a manner well known in the art and retrieved by the data link layer manager 205 when an application seeks to access to a responding computer 2 i 5.
Preferences Most Second Third Fourth Applications Preferred Preferred Preferred Preferred HTTP A B C D
SMTP C A B D
FTP A C B D
Those skilled in the art will recognize that designating the data link Layer preferences within the data link layer manager 205 one time is more convenient than 2 o designating the data link layer manually in the Operating System at each time an application is run. Another advantage is that if the most preferred data link layer 128 is unavailable, an alternate data link layer can be designated.
When an application 107 seeks access to a responding computer 215, a request is made by the application 107 to the socket API implf;mentation 20I to open a socket.
2 5 A socket 220 is a service point that allows an application to use the underlying TCP
layer I 40 and is described by a 16-bit port number. '~i~hereas the IP address is used to identify a TCP/IP stack 130 on a specific computer system 105, the port number is used to identify a particular application 107 at the IP address. The request includes the application type identif ed by the port number. The socket API implementation 3 o then requests a specific instance of a TCP/IP stack 130 or communication module 145 bounded to a data link layer 128 from the data link layer manager 205. The data link layer manager 205 responds by selecting a data link layer 128 according to an algorithm (which will be described later) using both the user preferences as well as information related to the status of each data link 1layer 128. The data link layer _g_ manager 205 uses a Simple Network Management Protocol-Management Information Base II (SNMP-MiB II) 210 to poll the status of each data link layer I28. The SNMP-MIB II 210 is a Network Management Entity which contains parameters related to each data link layer 128.
When the data link layer manager 205 selects a data link layer bounded to a TCP/IP stack 130 for connection to the application 107, the data link layer manager 205 connects a socket 220 in the application to the TCP/IP stack bounded to the particular data link layer 128a. Accordingly, t:he application 107 can transfer information across the data link layer 128. When th,e application 107 no longer needs access to the responding computer 215, the socket 220 is disconnected by the socket API implementation 201.
Refernng now to FIGURE 3, a flow chart illustrating the operation of the data link layer manager 205 selecting a data link layer 128 ' for an application 107 is illustrated. At step 305, an application 107 requests connection to the responding computer 215. The data link layer manager 205 responds by determining the most preferred data link layer 128 and setting it as the current preferred data link layer (step 310). The data link layer manager 205 then determines whether the current preferred data link layer is connected (step 315). If the current: preferred data link layer is in use, the data link layer manager 205 selects the current: preferred data Iink layer and the 2 0 application 107 can transmit data using the current preferred data link Iayer 128.
4n the other hand, if the current preferred data link layer is not connected, the data link layer manager 205 scans the SNMP-MIB II interface table 210 for an interface equal to the current preferred data Iink layer. The data link layer manager 205 looks up the first interface from the SNMP-MIB II (step 322) and determines if 2 5 it is equal to the current preferred data link layer (step 325). If the first interface from the SNMP-MIB II is equal to the current preferred data link layer, the data link layer manager 205 sets up a connection to the responding computer 215 with the current preferred data link layer (step 330} and the application 107 can then transmit data (step 320). The data link layer manager 205 connects socket 220 to the TCP/IP stack 3 0 or communication module 145 bounded to the data link layer 128.
If the first interface from the SNMP-MIB II is not equal to the current preferred data link layer at step 325, the data link layer manager 205 continuously looks up the next interface from the SNMP-MIB II (step 335) and compares it to the current preferred data link layer (step 325) until either an interface is found that is equal to the 3 5 current preferred data link layer (at step 325) or the entire SNMP-MIB II
is scanned (at step 340).
WO 00!19679 PCT/SE99/01650 If the interfaces on the entire SNMP-MIB II have.been scanned, the data link layer manager 205 sets the current preferred data link layer equal to the next most preferred data link layer as designated by the user (step 345). If not all the data link layers 128 have been scanned {step 300), the data link layer manager 205 proceeds to repeat steps 3I5 - 345 until either an interface is found from the SNMP-MIB II
which equals one of the designated preferred data link layers 128 or the entire list of designated preferred data link layers has been scamned (step 350). If an interface is found from the SNMP-MIB II which equals a designated preferred data link layer, the data link layer manager 205 sets up a connection on the data link layer 128 (step 330) 1 o and the application 107 proceeds to transmit data on the data Iink layer 128 (step 320).
On the other hand, if the entire list of designated preferred data link layers has been scanned (at step 350), a data link layer 128 is not available for the application 107 and the connection to the responding computer 215 for the application 107 is denied at step 355.
Referring now to FIGURE 4, there is shown a representative hardware environment for a computer system 458 for practicing the present invention. A
CPU
460 is interconnected via system bus 462 to random access memory (RAM) 464, read only memory (ROM) 466, an inputloutput (I/O) adapter 468, a user interface adapter 472, communications adapters 484, and a display adapter486. The input/output (I/O) 2 0 adapter 468 connects peripheral devices such as hard disc drives 440, floppy disc drives 441 for reading removable floppy discs 442, and optical disc drives 443 for reading removable optical disc 444 (such as a compact disc or a digital versatile disc) to the bus 462. The user interface adapter 472 connects devices such as a keyboard 474, a mouse 476 having a plurality of buttons 467, <~ speaker 478, a microphone 482, 2 5 and/or other user interfaces devices such as a touch screen device (not shown) to the bus 462. The display adapter 486 connects a monitor 488 to the bus 462. The communications adapters 484 cormect the computer system to a data processing network 492. The data processing network 492 may include any number of other computer systems, such as another computer system 458 or a server, as well as mass 30 storage elements such as another hard disc drive 440., or another optical disc drive 443 for reading optical discs 444.
The data link layer manager 205 can be implemented as sets of instnzctions resident in the random access memory 464 of one or more computer systems 458 configured generally as described in FIGURE 4. Until required by the computer 35 system 458, the set of instructions may be stored in another computer readable memory, for example in a hard disc drive 440, or in removable memory such as an i ' ' , WO 00!19679 PCTISE99101650 optical disc 444 for eventual use in an optical disc drive 443, or a floppy disc 442 for eventual use in a floppy disc drive 441.
Although the invention has been described with a certain degree of particularity, it should be 'recognized that elements thereof may be altered by persons skilled in the art without departing from the spirit and scope of the invention.
Therefore, the invention is limited only by the following claims and their equivalents.
BACKGROUND OF THE INVENTION
Technical Field of the Invention The present application is related to the proceas for accessing a network, and mare particularly to a mechanism for selecting from amongst a plurality of possible data link layers in establishing network access.
Description of Related Art 1 o One of the most popular uses of computers today is for the communication of information. Computers connected across a communication channel or medium are able to transfer large amounts of data electronically. The medium through which computers connects to each other for data communications is a connection across a physical layer established and maintained by a data kink layer.
I5 There are several communication media that are available to users. A very common communications medium used in the hone environment is the public switched telephone network (PS'TN). A user can connect his computer to a phone line via a modem, and then place a phone call to another computer similarly connected to . the PSTN. A common communication medium in most business environments is a 2 0 Local Area Network (LAN) connection. In a LAN, the; communicating computers are interconnected with a twisted pair of wires to form a r.~etwork. Other communication media include a Wide Area Network connection (WAN), or a wireless (cellular) connection. Each communication medium offers a unique set of advantages and disadvantages making each communication medium more suitable for certain 25 computer data communication uses and less suitable for other computer data communication uses.
One of the fastest growing areas of computer data communications is the Internet. The Internet is a large number of computer networks from government agencies, the military, educational institutions, and businesses from all parts of the 3 0 world interconnected to form a network of networks. In order to use the Internet, a user must simply establish a communication channel between their computer and an Internet Access Device (IAD). Once a computer has access to the Internet, the user can have access to and exchange information ranging from stock quotes to the latest WO OO/I9b79 PCT1SE99/01650 scores in sporting events. Accordingly, the Internet has been referred to as the "Information Superhighway."
The Internet is also advantageous for use in establishing a data communication channel between two computers. While two computers could establish a communication channel using one of the aforementioned examples of communication media, such a communication channel is expensive and sometimes impractical in cases where the communicating computers are separated by large geographic distances.
Because the Internet is a global network, each computer can connect to an Internet Access Device (IAD) which is in closer geographical proximity. Accordingly, a communication channel can be established between two computers using the Internet.
The computer systems connect to the IAD using a direct connection across a physical layer which is established and maintained by a data link layer. T'he physical layer provides the mechanical and electrical means for data transmission. The data link layer is built on the physical layer and is responsible for managing the ~5 transmission of data over the physical connection. Those skilled in the art will recognize that many computer systems have a plurality of available communications media, and therefore, will have a plurality ofphysicaI layers and data link layers built on each physical layer.
Today, there are several applications that utilize data communications. The File Transfer Protocol (FTP) allows computers to exchange, upload, and download files. TELNET enables a terminal to be connected to a remote host as if it were directly connected to the computer. Simple Mail Transport Protocol (SMTP) provides a method for exchanging electronic mail (E-mail). 'The Video Phone allows users at communicating computers to engage in a video conference. One of the most popular applications is the Hypertext Transfer Protocol (HT'TP) which is used by a browser, such as the Netscape NavigatorT"" or the Microsoft: Internet ExplorerTM, to browse pages on the World Wide Web (WWW).
Depending in part, on the particular application, as well as the user habits, certain data link layers are most appropriate for certain application and less appropriate 3 0 for others. For example, applications like HTTP and FTP which involve the transfer of large amounts of data may be better suited for a data link layer built on a physical layer with a higher bandwidth. On the other hand, l:he SMTP might be better suited with data link layer built on a physical layer with a lower bandwidth which is usually more economical to use.
3 5 In the current system implementation, in order for the user to effectuate a preferred data link layer far an application, a user must designate a specific data Iinlc WO OOII9679 PC'T/SE99/01650 layer from the computer's operating system before starting the application. In many simple computer systems with only a single data link layer, designating the data Link layer in each application using the operating system is straight-forward.
However, in a higher-end computer system with access to several data Link layers, assigning a particular data link layer for each application is quiae complex. Furthermore many applications do not allow the user to designate their preferred data Link layer in the event many data link layers are available from the operating system. There would be an advantage if the manner in which the user can designate preferences regarding the data link layer for each application could be simplified and perhaps allow far the selection by applications of alternate data link layer..
SUMMARY OF THE INVENTION
The present invention is directed to a system, rriethod, and apparatus for automatically selecting the data link layer an application utilizes in engaging in a data communication. The user inputs a list of any number of data link layer preferences for each application. When the application seeks to communicate, the presence and status of each of the data link layers is examined, and the most preferred available data link layer is selected for use by the application in engaging in the data communication.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the method and apparatus of the present invention may be acquired by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:
FIGURE 1 is a block diagram of computer systems exchanging information;
FIGURE 2 is a block diagram of a software system embodying the principals of the present invention;
FIGURE 3 is a flow chart of the operation of the data link layer manager in accordance with the principals of the present invention; and FIGURE 4 is an exemplary hardware environment configurable for embodying the principals of the present invention.
DETAILED DESCRIPTION OF THE DRAWINGS
Reference is now made to FIGURE l, wherein there is shown a block diagram of computer systems lOSa, lOSb exchanging information over a communications channel 110. The computer systems 105a, l OSb run software, known as applications 107a, 107b, which exchange information during noxmal use. In order for computer .
.
WO 00/19679 PCTlSE99/01650 system 1 OSa to exchange information with computer system I OSb, a communications channel 110 must exist between the computer systems. The communications channel 110 can be, for example, a phone Iine in the public switched telephone network (PSTN), a local area network (LAN) connection, a wide area network {WAN) connection, an Internet connection, or even a cellular wireless channel (such as Cellular Digital Packet Data, or General Packet Radio Service). The Internet 11 S has recently become a popular communications channel 110.
The Internet 11 S is a network which joins together computer networks from educational institutions, the government, the miIita~y, and many private businesses in all parts of the world. Because the Internet includes computer networks all over the world, computer system lOSa, and computer system lOSb can connect to the Internet from an access computer l2Sa, I2Sb in close geographical proximity. The computer systems lOSa, IOSb connect to the access computer 125a, l2Sb using a direct connection across a physical layer I27a,127b which is established and maintained by a data link layer 128a, 128b. The physical layer 1127 provides the mechanical and electrical means for data transmission, and includes voltage specifications, current specifications, and impedence specifcations. The data link layer 128 is built on the physical layer and is responsible for managing the transmission of data over the physical connection. Those skilled in the art will recognize that many computer 2 0 systems have a plurality of available communications media, and therefore, will have a plurality of physical layers and data link layers built on each physical layer. Each data link layer i28a can establish a connection with a different access computer 125.
The access computers I2Sa, l2Sb at which the computer systems l OSa, 1 OSb connect to the Internet 11 S via the physical layers I27a, 22'~b are known in the art as Internet 2 5 Access Devices (IAD) l2Sa, l2Sb. Although the LADS 12S are shown connected to a single computer system lOS, it should be understood that IADs can connect to a plurality of different computer systems.
In addition to being connected to computer systems lOS, an IAD l2Sa is physically interconnected with other IADs l2Sb, I2Sc, l2Sd using what is known as 3 0 a mesh connection 126. The mesh connection 126 is established and maintained by a special data /ink layer 128c, such as Synchronous Optical Network (SONET), Synchronous Digital Hierarchy (SDH), Asynchronous Transfer Mode (ATM), or Frame Relay. When computer system 1 OSa communicates to computer system 10Sb using the Internet, computer system l OSa transfers data to IAD l2Sa. The IAD
l2Sa 3 5 passes the data to an Internet Protocol (IP) layer l3Sc residing on the iAD. The IP
layer is used to route the packet to the right destination IAD. The IP layer I3Sc passes WO 00119679 PCT/SE99/Ol b50 the data to the data link layer 128c for transmission to IAD 125b. When IAD
125b receives the data, the data is passed to IP layer 135c v~rhich passes the data to data link layer 128c for transmission to computer system l OSb.
Accordingly the communication channel 110 includes physical layers 127a, 127b and the Internet 115. Because the physical layers 127x, I27b connect the computer systems IOSa, lOSb to a point 125a, 125b that is in close geographical proximity, the physical connections are inexpensive and more practical to maintain.
The use of the Internet 115 is also beneficial because tl'ne computer systems 1 OS a, I OSb can also exchange information with any other computer system on the Internet.
l0 Once a communication channel 110 is established, the information to be transmitted must be formatted in a manner suitable for transmission.
Additionally, information regarding the information transfer, such as the speed, ready to send signals, and ready to receive signals, must also be sent. The foregoing is straight-forward in cases where computer system I OSa and computer system IOSb are made by the same manufacturer. However a compatibility problem arises in cases where the computer system 105a and computer system IOSb are made by different manufacturers.
Furthermore, a compatibility problem is certain to arise if the communication channel includes the Internet 1 IS, because the Internet includes a vast variety of computer 2 0 system made by many different manufacturers. Accordingly, a common communication standard is needed for transferring information. The most common communication standard used is known as the Transport Control Protocolllnternet Protocol {TCP/IP). Another common communication standard is the User Datagram Protocol (UDP).
2 5 TCP/IP includes a network layer 135, known as the Internet Protocol (IP), and a transport layer 140, known as the Transport Control Protocol (TCP). The IP
layer 135 is a connectionless mode protocol designed to route messages between networks and includes the capability to segment and reassemblie messages that must be routed between networks that support different packet sizes than the size supported by the 3 0 different data link layers 128 on which the computers ;ire attached. The TCP layer 140 provides end-to-end reliable transmission and includes advanced functions such as flow control, error control, and the exchange of status information. The TCPIIP
addresses computers l OSa, 1 OSb connected to the Internet 1 I S using a 32-bit address known as an IP address. The IP address is often expressed as four decimal numbers 35 ranging from 0 to 255 with each number separated by a dot (e.~., 127.100.32.255), ..._.
WO 00!19679 PCTISE99101650 wherein each number is the decimal equivalent of a corresponding 8-bit portion of the 32-bit address.
The TCPIIP is usually implemented as a modularized program referred to as ' a TCP/IP stack I30. The application 107a, 107b involved in the information transfer interfaces with the TCP/IP stack 130 to transfer ini:ormation. While the application ' 10? handles higher-level tasks related to the content of the information to be transferred, the TCP/IP stack 130 handles the details related to the transferring of the information and interfaces with the data link layer '.128.
The application 107 can be, far example, t:he File Transfer Protocol (FTP), IO TELNET, Simple Mail Transport Protocol (SM7:'P), or Hypertext Transmission Protocol (HTTP). Depending in part, on the particuilar application 107, as well as the user habits, certain data link layers 128 are most appropriate for certain application and less appropriate for others. For example, for a remote user, applications like HTTP
and FTP which involve the transfer of large amounts of data may be better suited for a data link layer 128 with higher bandwidth, such ;as an analog phone line. On the other hand, the SMTP application might be better suited with a wireless packet data connection.
Refernng now to FIGURE 2, a block dia;;ram of a software system 200 embodying the present invention is described. The computer system 1 OS
includes a 2 0 number of available physical layers I27 which can be used to connect to a responding computer 215. The responding computer 215 is a computer which is directly connected to computer system l OSa via a physical :layer 127, and can comprise, for example, computer system lOSb or Internet Access Device 125x. Built on each physical layer is a data link layer I28. Operating and bounded to each data link layer 2 5 128 is a separate instance of a TCP/IP stack 130 or any othermodule for implementing a common communication standard 145 (communication module 145), such as a UDP
module. Whenever a data link layer 128 bounded t:o a TCP/IP stack 130 is used to connect to the responding computer 2I5, an IP addr<as or other means to identify the destination is obtained from the application I07.
3 0 A socket application program interface (API;I implementation 201 with a well defined API 202 is inserted between the applications I07 and the TCP/IP stacks and any other communication module 145 which are bounded to the data link layer 128. The socket API implementation 201 includes a data link layer manager 205 which controls the access of the applications 10'7 to the TCP/IP stacks 130 or 3 5 communication module 145 which are bounded to the data Link layers 128, when the _.
_'7_ applications seek external data communication acceas to, for example, the Internet 115.
The user inputs into the data link layer manager 205 a series of preferred data link layers 128 for each particular application 107. The user can also select any number of alternate data link layers 128 to be used when the most preferred data link Layer is not available. Table 1 is an exemplary illustration of a user-defined preference table of data link layers A-D 128 for each application. The user's preferences for each application 107 can be stored in memory or on a disl; in a manner well known in the art and retrieved by the data link layer manager 205 when an application seeks to access to a responding computer 2 i 5.
Preferences Most Second Third Fourth Applications Preferred Preferred Preferred Preferred HTTP A B C D
SMTP C A B D
FTP A C B D
Those skilled in the art will recognize that designating the data link Layer preferences within the data link layer manager 205 one time is more convenient than 2 o designating the data link layer manually in the Operating System at each time an application is run. Another advantage is that if the most preferred data link layer 128 is unavailable, an alternate data link layer can be designated.
When an application 107 seeks access to a responding computer 215, a request is made by the application 107 to the socket API implf;mentation 20I to open a socket.
2 5 A socket 220 is a service point that allows an application to use the underlying TCP
layer I 40 and is described by a 16-bit port number. '~i~hereas the IP address is used to identify a TCP/IP stack 130 on a specific computer system 105, the port number is used to identify a particular application 107 at the IP address. The request includes the application type identif ed by the port number. The socket API implementation 3 o then requests a specific instance of a TCP/IP stack 130 or communication module 145 bounded to a data link layer 128 from the data link layer manager 205. The data link layer manager 205 responds by selecting a data link layer 128 according to an algorithm (which will be described later) using both the user preferences as well as information related to the status of each data link 1layer 128. The data link layer _g_ manager 205 uses a Simple Network Management Protocol-Management Information Base II (SNMP-MiB II) 210 to poll the status of each data link layer I28. The SNMP-MIB II 210 is a Network Management Entity which contains parameters related to each data link layer 128.
When the data link layer manager 205 selects a data link layer bounded to a TCP/IP stack 130 for connection to the application 107, the data link layer manager 205 connects a socket 220 in the application to the TCP/IP stack bounded to the particular data link layer 128a. Accordingly, t:he application 107 can transfer information across the data link layer 128. When th,e application 107 no longer needs access to the responding computer 215, the socket 220 is disconnected by the socket API implementation 201.
Refernng now to FIGURE 3, a flow chart illustrating the operation of the data link layer manager 205 selecting a data link layer 128 ' for an application 107 is illustrated. At step 305, an application 107 requests connection to the responding computer 215. The data link layer manager 205 responds by determining the most preferred data link layer 128 and setting it as the current preferred data link layer (step 310). The data link layer manager 205 then determines whether the current preferred data link layer is connected (step 315). If the current: preferred data link layer is in use, the data link layer manager 205 selects the current: preferred data Iink layer and the 2 0 application 107 can transmit data using the current preferred data link Iayer 128.
4n the other hand, if the current preferred data link layer is not connected, the data link layer manager 205 scans the SNMP-MIB II interface table 210 for an interface equal to the current preferred data Iink layer. The data link layer manager 205 looks up the first interface from the SNMP-MIB II (step 322) and determines if 2 5 it is equal to the current preferred data link layer (step 325). If the first interface from the SNMP-MIB II is equal to the current preferred data link layer, the data link layer manager 205 sets up a connection to the responding computer 215 with the current preferred data link layer (step 330} and the application 107 can then transmit data (step 320). The data link layer manager 205 connects socket 220 to the TCP/IP stack 3 0 or communication module 145 bounded to the data link layer 128.
If the first interface from the SNMP-MIB II is not equal to the current preferred data link layer at step 325, the data link layer manager 205 continuously looks up the next interface from the SNMP-MIB II (step 335) and compares it to the current preferred data link layer (step 325) until either an interface is found that is equal to the 3 5 current preferred data link layer (at step 325) or the entire SNMP-MIB II
is scanned (at step 340).
WO 00!19679 PCT/SE99/01650 If the interfaces on the entire SNMP-MIB II have.been scanned, the data link layer manager 205 sets the current preferred data link layer equal to the next most preferred data link layer as designated by the user (step 345). If not all the data link layers 128 have been scanned {step 300), the data link layer manager 205 proceeds to repeat steps 3I5 - 345 until either an interface is found from the SNMP-MIB II
which equals one of the designated preferred data link layers 128 or the entire list of designated preferred data link layers has been scamned (step 350). If an interface is found from the SNMP-MIB II which equals a designated preferred data link layer, the data link layer manager 205 sets up a connection on the data link layer 128 (step 330) 1 o and the application 107 proceeds to transmit data on the data Iink layer 128 (step 320).
On the other hand, if the entire list of designated preferred data link layers has been scanned (at step 350), a data link layer 128 is not available for the application 107 and the connection to the responding computer 215 for the application 107 is denied at step 355.
Referring now to FIGURE 4, there is shown a representative hardware environment for a computer system 458 for practicing the present invention. A
CPU
460 is interconnected via system bus 462 to random access memory (RAM) 464, read only memory (ROM) 466, an inputloutput (I/O) adapter 468, a user interface adapter 472, communications adapters 484, and a display adapter486. The input/output (I/O) 2 0 adapter 468 connects peripheral devices such as hard disc drives 440, floppy disc drives 441 for reading removable floppy discs 442, and optical disc drives 443 for reading removable optical disc 444 (such as a compact disc or a digital versatile disc) to the bus 462. The user interface adapter 472 connects devices such as a keyboard 474, a mouse 476 having a plurality of buttons 467, <~ speaker 478, a microphone 482, 2 5 and/or other user interfaces devices such as a touch screen device (not shown) to the bus 462. The display adapter 486 connects a monitor 488 to the bus 462. The communications adapters 484 cormect the computer system to a data processing network 492. The data processing network 492 may include any number of other computer systems, such as another computer system 458 or a server, as well as mass 30 storage elements such as another hard disc drive 440., or another optical disc drive 443 for reading optical discs 444.
The data link layer manager 205 can be implemented as sets of instnzctions resident in the random access memory 464 of one or more computer systems 458 configured generally as described in FIGURE 4. Until required by the computer 35 system 458, the set of instructions may be stored in another computer readable memory, for example in a hard disc drive 440, or in removable memory such as an i ' ' , WO 00!19679 PCTISE99101650 optical disc 444 for eventual use in an optical disc drive 443, or a floppy disc 442 for eventual use in a floppy disc drive 441.
Although the invention has been described with a certain degree of particularity, it should be 'recognized that elements thereof may be altered by persons skilled in the art without departing from the spirit and scope of the invention.
Therefore, the invention is limited only by the following claims and their equivalents.
Claims (16)
1. A system for connecting a computer system to a responding computer, wherein said computer system is running an application needing access to a data link layer, and wherein said computer system is connectable to a plurality of data link layers operable to connect said computer system to said responding computer, said system comprising:
a plurality of communication modules corresponding to said plurality of data link layers, each of said plurality of communication modules for transmitting data received from said application on a corresponding one of said plurality of data link layers when said corresponding one of said plurality of data link layers connects said computer system to the responding computer; and a data link layer manager for selecting for use by the application one of said plurality of data link layers to connect said computer system to the responding computer.
a plurality of communication modules corresponding to said plurality of data link layers, each of said plurality of communication modules for transmitting data received from said application on a corresponding one of said plurality of data link layers when said corresponding one of said plurality of data link layers connects said computer system to the responding computer; and a data link layer manager for selecting for use by the application one of said plurality of data link layers to connect said computer system to the responding computer.
2. The system of claim 1 wherein said plurality of data link layers includes a data link layer selected from a group consisting of a land-based phone line, a local area network connection, a wide area network connection, and a cellular wireless interface.
3. The system of claim 1, further comprising a Simple Network Management Protocol-Management Information Base (SNMP-MIB) for storing availability status of each of said plurality of data lint layers.
4. The system of claim 3, further comprising a memory for storing a list for each application comprising a first preferred one of the plurality of data link layers for use by the application, and a second preferred one of the plurality of data link layers.
5. The system of claim 4, wherein said data link layer manager is operable to retrieve said list from said memory responsive to receiving a request from said application to open a socket from said computer system to the responding computer.
6. The system of claim 5, wherein said data link layer manager is further operable to scan said SNMP-MIB to determine the status of said first data link layer, select said first preferred data link layer to connect said computer system to the responding computer wherein the status of said first preferred data link layer is available, and scan said SNMP-MIB to determine the status of said second preferred data link layer wherein the status of said first preferred data link layer is unavailable.
7. The system of claim 1, wherein said data link layer manager is operable to connect a socket associated with said application to one of said plurality of communication modules, responsive to selecting one of said plurality of data link layers to connect said computer system to the responding computer.
8. The system of claim 1, wherein said communications modules comprise a Transport Control Protocol layer and an Internet Protocol layer.
9. In a computer system connectable to a plurality of data link layers, wherein said computer system runs an application, a method of connecting said computer system to a data link layer, and wherein said computer system comprises a plurality of communication modules corresponding to said plurality of data link layers, said method comprising the steps of:
receiving a request to open a socket from an application of said computer system to a data link layer;
retrieving a list comprising a first preferred one and a second preferred one of said plurality of data link layers;
polling the availability status of said first preferred data link layer;
transmitting data from said application across said first preferred data link layer if said first preferred data link layer has an available status; and polling the status of said second preferred data link layer, wherein the status of said first preferred data link layer has a not available status.
receiving a request to open a socket from an application of said computer system to a data link layer;
retrieving a list comprising a first preferred one and a second preferred one of said plurality of data link layers;
polling the availability status of said first preferred data link layer;
transmitting data from said application across said first preferred data link layer if said first preferred data link layer has an available status; and polling the status of said second preferred data link layer, wherein the status of said first preferred data link layer has a not available status.
10. The method of claim 9, wherein said step of polling the status of said first data link layer further comprises the step of scanning a Simple Network Management Protocol-Management Information E3ase (SNMP-MIB).
11. The method of claim 9, further comprising the step of connecting a socket associated with said application to one of said plurality of communication modules.
12. The method of claim 9, wherein said communication modules comprise a Transport Control Protocol layer and an Internet Protocol layer.
13. An article of manufacture comprising a computer usable medium having computer readable program code means embodied thereon for connecting a computer system running an application to a data link layer, wherein said computer system is connectable to a plurality of data link layers, and wherein said computer system comprises a plurality of stacks corresponding to said plurality of data link layers, the computer readable code means in said article of manufacture comprising means for:
receiving a request to open a socket from an application of said computer system to a data link layer;
retrieving, from a memory, a list comprising a first preferred data link layer, wherein said first preferred data link layer corresponds to a first data link layer of said plurality of data link layers, and a second preferred data link layer, wherein said second preferred data link layer corresponds to a second data link layer of said plurality of data link layers;
polling the availability status of said first data link layer;
transmitting data from said application across said first data link layer, wherein the status of said first data link layer is available during said polling step; and polling the status of said second data link layer, wherein the status of said first data link layer has a not available status.
receiving a request to open a socket from an application of said computer system to a data link layer;
retrieving, from a memory, a list comprising a first preferred data link layer, wherein said first preferred data link layer corresponds to a first data link layer of said plurality of data link layers, and a second preferred data link layer, wherein said second preferred data link layer corresponds to a second data link layer of said plurality of data link layers;
polling the availability status of said first data link layer;
transmitting data from said application across said first data link layer, wherein the status of said first data link layer is available during said polling step; and polling the status of said second data link layer, wherein the status of said first data link layer has a not available status.
14. The article of manufacture of claim 13, wherein said means for polling the status of said first data link layer further comprises means for scanning a Simple Network Management Protocol-Management Information Base (SNMP-MIB).
15. The article of manufacture of claim 13, wherein said computer readable code means further comprises means for connecting a socket associated with said application to one of said plurality of stacks.
16. The article of manufacture of claim 13, wherein said communication modules comprise a Transport Control Protocol layer and an Internet Protocol layer.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16424398A | 1998-09-30 | 1998-09-30 | |
US09/164,243 | 1998-09-30 | ||
PCT/SE1999/001650 WO2000019679A2 (en) | 1998-09-30 | 1999-09-21 | Data link layer manager for network access |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2345288A1 true CA2345288A1 (en) | 2000-04-06 |
Family
ID=22593606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002345288A Abandoned CA2345288A1 (en) | 1998-09-30 | 1999-09-21 | Data link layer manager for network access |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU1301900A (en) |
CA (1) | CA2345288A1 (en) |
WO (1) | WO2000019679A2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002041580A1 (en) * | 2000-11-14 | 2002-05-23 | Siemens Aktiengesellschaft | Device and method for selecting network accesses |
US7230921B2 (en) | 2001-04-02 | 2007-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Concurrent use of communication paths in a multi-path access link to an IP network |
GB2376848A (en) * | 2001-06-22 | 2002-12-24 | Immarsat Ltd | Communication channel mode selection |
JP3588604B2 (en) | 2001-11-30 | 2004-11-17 | 株式会社東芝 | Electronic device and communication device switching method |
US6973324B2 (en) * | 2002-01-04 | 2005-12-06 | Motorola, Inc. | Method of enabling the transmission of data in a wireless communication network |
US20030130005A1 (en) * | 2002-01-04 | 2003-07-10 | Weisshaar Bernhard P. | Method of selecting a communication interface to transmit data in a wireless communication network |
US6947760B2 (en) * | 2002-01-04 | 2005-09-20 | Motorola, Inc. | Method of optimizing the transmission of data in a wireless communication network |
DE10244710A1 (en) * | 2002-09-25 | 2004-04-08 | Siemens Ag | Protocol selection procedure for transmission of data packets |
FR2886803B1 (en) * | 2005-06-07 | 2007-08-10 | Alcatel Sa | MULTIMODES MOBILE TERMINAL WITH AUTOMATIC SELECTION OF RADIO ACCESS NETWORK INTERFACE DURING A SERVICE SESSION |
FR2886801B1 (en) * | 2005-06-07 | 2007-08-03 | Alcatel Sa | NETWORK EQUIPMENT FOR PROVIDING MULTI-MODE MOBILE DATA TERMINALS NECESSARY FOR THE AUTOMATIC SELECTION OF RADIO ACCESS NETWORK INTERFACES DURING SERVICE SESSIONS |
GB2433682A (en) * | 2005-12-21 | 2007-06-27 | Symbian Software Ltd | Selecting communication channels |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6137802A (en) * | 1997-03-25 | 2000-10-24 | Motorola, Inc. | Automatic media switching apparatus and method |
-
1999
- 1999-09-21 AU AU13019/00A patent/AU1301900A/en not_active Abandoned
- 1999-09-21 CA CA002345288A patent/CA2345288A1/en not_active Abandoned
- 1999-09-21 WO PCT/SE1999/001650 patent/WO2000019679A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2000019679A2 (en) | 2000-04-06 |
AU1301900A (en) | 2000-04-17 |
WO2000019679A3 (en) | 2000-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6038602A (en) | Connection method for a network system and a server computer | |
US6351771B1 (en) | Distributed service network system capable of transparently converting data formats and selectively connecting to an appropriate bridge in accordance with clients characteristics identified during preliminary connections | |
US6278532B1 (en) | Apparatus and method for reception and transmission of information using different protocols | |
US6310889B1 (en) | Method of servicing data access requests from users | |
JP4142051B2 (en) | Method and system for coupling selective call receivers to widely distributed information sources | |
US6065044A (en) | Home page update notification apparatus comparing notification time and update time to determine home page update status in an information communication system using computer network and program recording medium | |
CN100466633C (en) | Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices | |
US20020068609A1 (en) | Wireless data transport method, and mobile terminal and interworking function device therefor | |
US20080155108A1 (en) | Method And System For Transmitting Data Utilizing Multiple Communication Modes Simultaneously | |
JPH0749823A (en) | Method and system for communication | |
GB2384653A (en) | A method and apparatus for negotiating mobile services | |
US7660875B2 (en) | Bidirectional remote communication via browser plug-in | |
CA2345288A1 (en) | Data link layer manager for network access | |
EP0662762A2 (en) | Voice mail network | |
US6651118B2 (en) | Method for allowing appliance-to-appliance communication transactions | |
US6356631B1 (en) | Multi-client object-oriented interface layer | |
JP3610081B2 (en) | Facsimile server system and control method thereof | |
JP2001339422A (en) | Mail data managing system | |
EP0970429A2 (en) | Distributed service network | |
JPH05276197A (en) | Communication equipment | |
JP2001024691A (en) | Server system and method for providing address information in the server system | |
JP4330844B2 (en) | Shared information management method, mobile communication terminal, and shared information management system | |
JPH11341051A (en) | Communication system and medium converting method in communication system | |
KR20010109763A (en) | Method and system for providing image data using mobile phone | |
JP2001216210A (en) | Mail communication system, mail receiver, mail transmitter, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued |