The present invention relates to the field of network connection techniques, and more particularly, to automatically establishing network connections according to the features of various kinds of network applications and a user's preferences for various kinds of network applications.
With the rapid popularization of the Internet, the number of users accessing the Internet is growing exponentially. In fact, as the media exclaims, networks have already begun to permeate everyday life of people and influence all aspects of the life of people. For example, all around the world, at all times there are a lot of people using the Internet for sending/receiving e-mails, distributing/browsing all kinds of information and attending various forums.
Meanwhile, there have emerged a great deal of companies specialized in providing the Internet services, i.e. the Internet service providers (ISP), which provide the Internet connectivity service to the Internet users for a service charge.
Usually, different ISPs have different features. For example, ISPs of larger scale have abundant funds, more advanced design hardware and more secure environment for data transmission, but they also have more users, and thus their lines are busier. As contrast, ISPs of smaller scale may sometimes not be able to provide services users want. Besides, at present different ISPs have different tariffs of fees. Some of them only collect fixed monthly service fees, which is advantageous to the users who would access Internet everyday; some others collect hourly service fees varying dependent on the corresponding time segments, for example, the late night hours being cheaper and the evening hours being more expensive; and more ISPs collect fixed hourly service fees. Generally, users tend to choose cheaper ISPs, but they often find those ISPs' lines being extremely busy, and repetitive dialing is needed. In addition, all ISPs may also continuously adjust their service contents and service fee standards.
Therefore, it is difficult for a network user to choose a right ISP. Most users would want to have a mechanism, which can help them in real time and dynamically select a appropriate ISP, so that they can get the satisfactory service at a lower price.
US Patent No. 2002/0010915 discloses such a mechanism. As shown in
However, there are the following disadvantages in the above mechanism. First, this mechanism selects an ISP according to the user's requirements. The specific way of doing this comprises the step of storing a table such as shown in the
Next, currently many kinds of computing devices (e.g. PDAs, portable computers) are equipped with multiple kinds of network adapters, such as modem, IR port, wireless network card etc., allowing the computing devices to be connected to the networks either by using the modem in a wire mode, or by means of a BlueTooth short range wireless network card through a LAN in a wireless mode. In the mechanism as shown in the
To overcome the above mentioned problems, the present invention provides systems and methods for automatically establishing network connections for an user by selecting in real time and dynamically an ISP and network adapter etc. appropriate for the particular application being currently used by the user, such as sending/receiving e-mails, distributing/browsing all kinds of information and attending various online forums etc., according to the specific features of the application.
According to a first aspect of the invention, there is provided an application-based autonomic connectivity system comprising an application analysis module for analyzing various network applications and collecting various kinds of application connectivity feature data on determining a appropriate network connection for a particular application; databases for storing the application connectivity feature data collected by the application analysis module; a connection command module used for determining a appropriate network connection for a particular application on the basis of the application connectivity feature data stored in the databases; and an autonomic connectivity module for automatically establishing the network connection for the application on the basis of the connection commands from the connection command module.
According to a second aspect of the invention, there is provided an application-based autonomic connectivity method comprising analyzing various network applications and collecting various network application connectivity feature data on determining a appropriate network connection for a particular application; storing the application connectivity feature data collected; determining a appropriate network connection for a particular application on the basis of the application connectivity feature data; and automatically establishing the network connection for the particular application.
These and other objects, features, and advantages of the present invention will become apparent upon further consideration of the following detailed description of the invention when read in conjunction with the drawing figures, in which:
The present invention provides apparatus, systems and methods for automatically establishing network connections for an user by selecting in real time and dynamically an ISP and network adapter etc. appropriate for the particular application being currently used by the user, such as sending/receiving e-mails, distributing/browsing all kinds of information and attending various online forums etc., according to the specific features of the application.
There is herein provided an application-based autonomic connectivity system comprising an application analysis module for analyzing various network applications and collecting various kinds of application connectivity feature data on determining a appropriate network connection for a particular application; databases for storing the application connectivity feature data collected by the application analysis module; a connection command module used for determining a appropriate network connection for a particular application on the basis of the application connectivity feature data stored in the databases; and an autonomic connectivity module for automatically establishing the network connection for the application on the basis of the connection commands from the connection command module.
There is also herein provided an application-based autonomic connectivity method comprising analyzing various network applications and collecting various network application connectivity feature data on determining a appropriate network connection for a particular application; storing the application connectivity feature data collected; determining a appropriate network connection for a particular application on the basis of the application connectivity feature data; and automatically establishing the network connection for the particular application.
According to the above considerations, as shown in
However, as understood by those skilled in the art, the application-based autonomic connectivity system according to the present invention should not be limited to selecting only the above-mentioned devices and establishing connections to the Internet only through the above-mentioned devices. As described above, the object of the present invention is to automatically establish, on the basis of the features of various applications, the network connections appropriate for the applications, and therefore, all kinds of devices on network connection paths will fall within the scope of the present invention. Besides, the application-based autonomic connectivity system according to the present invention need not select the devices mentioned above one by one, e.g. some portable computing devices may be equipped with only one type of network adapter, or some users may want to select a PS by himself/herself. So, it is clear for those skilled in the art that what the present invention sets forth is a system being able to automatically establish a network connection for a particular application on the basis of the analysis on the application. Although
Now the application-based autonomic connectivity system and method according to the advantageous embodiment of the present invention will be described with reference to the accompanying drawings as follows.
As shown in
Besides, as shown in
In addition, in the case of the user directly uses a particular application, the application connectivity history data automatic collection module 111 is also used to capture the connection request/DNS (domain name server) request, send the request to the connection command module, which will automatically determine the network connection for the particular application.
The application analysis module 110 also includes a user interface 112 through which the user can input various application connection feature data on determining a appropriate network connection for a particular application, including, for example, application connectivity history data, application connectivity requirement data, network adapter data, ISP data, PS data and user requirement data etc. The above has provided an explanation to the application connectivity history data. And the following will provide a detailed explanation to the application connectivity requirement data, ISP data, PS data, network adapter data, user requirement data, and their functions.
The application connectivity requirement data are used to describe the requirements of various kinds of applications for their network connections. Usually, applications can be classified into different types, and the different types of applications will have different requirements for their network connections.
For example, “chatting”, “telnet” etc. belong to the interactive flow type, and the requirements of these applications for their network connections are minimized delay, faultless, and small throughput; “ftp”, “E-mail” etc. belong to the bulk-data flow type, and the requirements of these applications for their network connections are faultless and large throughput; browsing information on the web belongs to the short-term flow type, and the requirements of these applications for their network connections are faultless, large throughput, low delay; VoD belongs to the multimedia flow type, and the requirements of these applications for their network connections are low jitter, large throughput, and tolerant of a small number of faults.
The application-based autonomic connectivity system according to the present invention is simply to analyze the type to which a particular application belongs, and select the network connection appropriate for the particular application, on the basis of the requirements of the type of applications for the network connections.
As shown in
As shown in
The network adapter data are used for describing the features of network adapters installed in an user's computing devices, for example, as shown in
All the data mentioned above (including application connectivity requirement data, ISP data, PS data, and network adapter data) can be inputted through the user interface 112 by the user. So, in the application-based autonomic connectivity system according to the present invention, it is not only possible to collect automatically by using the application connectivity history data automatic collection module 111 the states of the connections being used by various kinds of applications as history records for later use by the system in determining the network connections for the same or like applications, but also possible to input all the data on determining a appropriate connection for a particular application through the user interface 112 for use by the system.
It should be noted that the user can also input the application connectivity history data and user requirement data through the user interface 112. Usually, the application connectivity history data are collected by the application connectivity history data automatic collection module 111, but in the case of the user wants to set the network connection accurately and directly for a particular application so that the system can thereafter determine the network connections for the same or like applications on the basis thereof, the user can also input application connectivity history data through the user interface 112. In addition, in the case of multiple network connections all satisfy the requirements of some particular application, the system can use the user requirement data to determine the final network connection. The user requirement data describe which aspects of a particular application are emphasized by the user, for example, the price, speed, security, time of completion etc.
Besides, as shown in
The above describes in detail the composition of the application analysis module 110, and at the same time of introducing the application connectivity history data automatic collection module 111, user interface 112 and application connectivity state monitoring module 113, the contents and functions of the data in all databases of the system (including the application connectivity history database, application connectivity requirement data, ISP database, PS database, network adapter database and user requirement database) are also explained. The following will give a detailed description of the composition of the connection command module 120 and how the connection command module 120 determines the network connection for a particular application on the basis of the data stored in the above databases.
As shown in
In addition, when the message processing center 122 determines that the data are from the application connectivity state monitoring module and determines that the current connection does not satisfy the requirements, then it informs the path selection module 121 to re-select a connection for the application.
The above has described the message processing center 122 in the connection command module 120, and the following will describe the path selection module 121. After the path selection module 121 receives a connection request/DNS request from the message processing center 122, it will first search for the application connectivity history data corresponding with the application (the same or like) in the application connectivity history database, and if there is such data, then it will send the application connectivity history data to the autonomic connectivity module 130 and command the latter to establish automatically the network connection for the application.
If the path selection module 121 has not found any application connectivity history data corresponding with the application in the application connectivity history database, then it needs first to determine the type of the application and to find the requirements of the type of the application from the application connectivity requirement database, and then to find the network connection satisfying the requirements in the ISP database, PS database and network adapter database, that is, to determine a appropriate ISP, PS and network adapter, and to inform the autonomic connectivity module 130 of the selected ISP, PS and network adapter to command the autonomic connectivity module 130 to establish automatically the network connection for the application. In the case of two or more network connections all satisfy the requirements of the particular application at the same time, the path selection module 121 can determine an optimal network connection on the basis of the requirements of the users for this kind of applications stored in the user requirement database, i.e. which aspects are emphasized by the users with respect to this kind of applications, such as, price (selecting the most economical access path), speed (selecting the fastest access path), security (selecting the safest access path) time of completion (selecting the access path satisfying the time requirement) etc.
The connection command module 120 has been described above. The system shown in
In addition, in the system, the application connectivity state monitoring module 113 can also monitor the network connection state of an application, and once a session is completed, inform the connection command module 120 to re-select a more appropriate network connection for the application, e.g. a cheaper connection. For example, the 163 and 263 web sites have the same charging standards for the normal time segments, but the 163 offers a cheaper price after 21:00. So, if the application connectivity state monitoring module 113 has detected the end of a session of an application at about 21:00 in the evening, it will inform the connection command module to redetermine the connection for the application, and the ISP in the network connection thus determined this time will probably be the 163.
The above provides a detailed description of the composition of the application-based autonomic connectivity system according to the advantageous embodiment of the present invention with reference to the accompanying drawings. It is obvious to those skilled in the art that it is possible to realize the present invention in various specific implementations on the basis of the foregoing content. As an illustrative example of a specific implementation, the following will give a description of how to realize the above described application-based autonomic connectivity system according to the present invention on the basis of existing software packages such as Access Connectivity from IBM, IE, Winsock and NDIS from Microsoft. First, the functions of these software packages will be given respectively.
Access Connectivity from IBM: a kind of access connectivity software which provides a connection profile and allows an user to complete the selection to an ISP and network adapter in a single step.
IE from Microsoft: a client-side network application from Microsoft, by which a user can utilize various applications on the Internet, such as sending/receiving e-mails, browsing/distributing all kinds of information and attending various online forums.
Winsock: A Windows-based application programming interface (API) for developers to transfer data between application programs (e.g. IE, Navigator) and TCP/IP protocol stacks. Using Winsock, the manufacturers using different protocols can design Winsock programs based on their own TCP/IP protocol stacks so that the application programs using different protocols can communicate with each other through the Winsock interface. It extends the functions of API and makes possible the information transfer between Windows-based applications and network-based applications.
NDIS: a network driver interface specification.
Since most users now use the client software IE provided by Microsoft to utilize various applications on the Internet, in the example shown in
The Winsock capturer is used for capturing all Windows sockets, i.e. for capturing connection requests/DNS requests, and can invoke the path selector provided in the connection command center. When the path selector has returned a selected PS, this PS will be used. In addition, the Winsock capturer can also be used to measure the QoS parameters of every application.
The NDIS hooker is used for computing the throughput of networks.
Since in the specific example of the implementation shown in
The above, in reference to the accompanying drawings, provides a detailed description of the application-based autonomic connectivity system according to the present invention and a specific implementation of the system utilizing some existing software.
Although the above has described in detail in reference to the accompanying drawings the application-based autonomic connectivity system and method according to the advantageous embodiment of the invention, various changes and modifications in a wide range will be without departing from the spirit and scope of the invention, so the invention is intended to cover all these changes and modifications.
Variations described for the present invention can be realized in any combination desirable for each particular application. Thus particular limitations, and/or embodiment enhancements described herein, which may have particular advantages to a particular application need not be used for all applications. Also, not all limitations need be implemented in methods, systems and/or apparatus including one or more concepts of the present invention.
The present invention can be realized in hardware, software, or a combination of hardware and software. A visualization tool according to the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system—or other apparatus adapted for carrying out the methods and/or functions described herein—is suitable. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.
Computer program means or computer program in the present context include any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after conversion to another language, code or notation, and/or reproduction in a different material form.
Thus the invention includes an article of manufacture which comprises a computer usable medium having computer readable program code means embodied therein for causing a function described above. The computer readable program code means in the article of manufacture comprises computer readable program code means for causing a computer to effect the steps of a method of this invention. Similarly, the present invention may be implemented as a computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing a a function described above. The computer readable program code means in the computer program product comprising computer readable program code means for causing a computer to effect one or more functions of this invention. Furthermore, the present invention may be implemented as a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for causing one or more functions of this invention.
It is noted that the foregoing has outlined some of the more pertinent objects and embodiments of the present invention. This invention may be used for many applications. Thus, although the description is made for particular arrangements and methods, the intent and concept of the invention is suitable and applicable to other arrangements and applications. It will be clear to those skilled in the art that modifications to the disclosed embodiments can be effected without departing from the spirit and scope of the invention. The described embodiments ought to be construed to be merely illustrative of some of the more prominent features and applications of the invention. Other beneficial results can be realized by applying the disclosed invention in a different manner or modifying the invention in ways known to those familiar with the art.
Number | Date | Country | Kind |
---|---|---|---|
03148280.5 | Jul 2003 | CN | national |