METHOD FOR COLLECTING A NETWORK PERFORMANCE
INFORMATION, COMPUTER READABLE MEDIUM STORING THE SAME,
AND AN ANALYSIS SYSTEM AND METHOD FOR NETWORK
PERFORMANCE
CROSS REFERENCE TO RELATED APPLICATION
This application is based on Korea Patent Application No. 2001 -18292
filed on April 6, 2001 in the Korean Intellectual Property Office, the content of
which is incorporated herein by reference.
BACKGROUND OF THE INVENTION
(a) Field of the Invention
The present invention relates to a system and method for analyzing
network performance. More specifically, the present invention relates to a
method for collecting network performance information, a computer readable
recording medium installing the same, and a system and method for analyzing
network performance using the medium.
(b) Description of the Related Art
In general, Internet-related business categories include web contents
providers such as network service providers, portal service providers, and
broadcasting service providers; sales service providers or brokers for electronic
commerce and shopping malls; and equipment and solution providers.
In addition to these categories, they further include data center hosting
(IDC) service providers, web contents delivery (CDN) service providers, and
performance measurement portal (PMP) service providers for measuring
Internet performance and web server performance, which complement each
other.
Recently, various protocols and services have been developed under
the open TCP/IP network systems, and the Internet and web environments
have also been greatly developed. Accordingly, methods for measuring
network performance together with the development of various and new
services are now becoming an important issue to the service providers and
service users.
Conventional web service providers also perceive the need for
monitoring the access performance and managing the network from the clients'
viewpoint as well as for the conventional internal system management.
Further, Internet equipment providers (e.g., PCs, servers, load
balancers, and repeaters) are gradually becoming more aware of business
methods that require pre/post services for clients through an analysis of
accurate performance and status of client systems on the PMP basis so as to
strengthen their competitiveness.
However, since access performance according to the current client
management methods used by various network service providers is far
different from access performance measured while using the network service,
there is an urgent need to manage network access performance that the clients
actually experience.
As the number of network service users has greatly increased, heavy
loads have occurred in network servers, and the users have sometimes been
unable to access a server because of the bottleneck phenomenon on the
network, and hence, users' complaints have grown. Accordingly, it is now
required to manage the service satisfaction of users in addition to simply
providing the network services.
However, the management of companies that provide services to
network users are mainly focused on the management of databases provided
to the users and the management of the networks.
Since performance evaluated by the management of the networks is
different from the network service performance actually experienced by the
users, problems exist in that the network access performance that the users
generally experience is less than that which is ascertained by such
management.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a computer readable
recording medium storing a network performance information collecting
program for more fluently collecting basic data for managing networks such as
the Internet and PC networks and basic data for managing contents services
for users to thus easily obtain network using states, and for managing access
performance to the Internet or the PC networks.
It is another object of the present invention to provide a method for
collecting network performance information using the network performance
information collecting program.
It is still another object of the present invention to provide a network
performance analysis system using the network performance information
collecting method.
It is yet another object of the present invention to provide a network
performance analysis method using the network performance information
collecting method.
In one aspect of the present invention, a method for collecting network
performance information comprises: (a) accessing a network performance
analysis server according to program starting, and downloading schedule
information including a starting time, a measuring target medium, a URL
(uniform resource location), and a test location used for testing the network
performance; (b) analyzing service response times for respective network
intervals and disconnection intervals on the basis of the schedule information
to test network or Internet devices; (c) accessing a corresponding service to
test homepage and file downloading; and (d) generating a log file on the basis
of respective test results of (b) and (c), and transmitting the log file to the
network performance analysis server.
In another aspect of the present invention, a computer readable
recording medium with a network performance information collecting program
comprises: a schedule module, including at least one test from among a
predetermined time range and a number established by a system manager of a
measuring side, for managing schedule information on performance
measurement; an ICMP (Internet control message protocol) module having a
trace-route function to transmit an ICMP echo message to at least one network
or Internet device provided on a path of a measuring target URL on the basis of
the schedule information, and checking its response to check an existence
state and its delay time of the network or Internet device on the path; a Winlnet
module for measuring performance of CPs (contents providers) or ISPs
(Internet service providers) under an environment identical with that of normal
Internet use; and an analysis module for calculating measuring results on the
basis of data measured by the ICMP module and the Winlnet module.
The recording medium further comprises a manager program including
a TCP client module for transmitting the analysis log information using a
predetermined protocol.
The manager program controls generation and removal of at least one
agent program including an ICMP module, a Winlnet module, an analysis
module, a TCP client module, and a schedule module.
In still another aspect of the present invention, a network performance
analysis system comprises: a plurality of client systems for using a client
program installed in a client PC (personal computer) or a server-level computer
of a plurality of Internet users, accessing a measured system through the
Internet or the network, receiving network performance test information on web
sites and network performance, and outputting the network performance test
information; and a network performance analysis server system, including a log
server and a database, for providing predetermined schedule instructions for a
network performance analysis to clients that are locally scattered and installed
on the system, receiving data collected according to its response, and
providing various categories of statistical data on the basis of the data.
In still yet another aspect of the present invention, a network
performance analysis method using a plurality of client systems for collecting
network performance test information on the basis of predetermined schedule
information and outputting the information and a network performance analysis
server system for providing various types of statistical information on the basis
of the information comprises: (a) downloading the schedule information of
items for measuring the network performance to the agent program when a
task number and user information are input to the manager program of the
client system and at least one agent program is generated; (b) checking
whether a format of log information is a previously established data format
when the log information of test data collected and provided on the basis of the
downloaded schedule information is transmitted; (c) outputting an error
message and going to (b) when the data format is not previously established;
(d) storing the data format in a predetermined database when the data format
is previously established; and (e) transmitting an ACK message to the manager
program and going to (b) when the data format is stored in the database.
The (b) comprises: (1 ) attempting to access a corresponding medium
on the basis of the schedule information; (2) testing a network or Internet
device through a service response time for each network interval and an
analysis of a disconnection interval; (3) accessing a corresponding service and
testing downloading of a homepage and a file; (4) generating a log file on the
basis of each test result; and (5) disconnecting the access to the corresponding
medium when the test of downloading the homepage and the file is finished,
and going to (1 ) when a unit test process is provided in the schedule
information.
According to the network performance information collecting method,
the computer readable recording medium storing the method, and the network
performance analysis system and method using the recording medium,
network service performance and contents service performance may be
checked on the basis of network performance information used for accessing a
predetermined web site and service performance information provided to the
corresponding web site through an agent program, each installed in a client
personal computer.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute
a part of the specification, illustrate an embodiment of the invention, and,
together with the description, serve to explain the principles of the invention:
FIG. 1 shows a block diagram for a network performance analysis
system according to a preferred embodiment of the present invention;
FIG. 2 shows a client program according to a preferred embodiment of
the present invention;
FIG. 3 shows a signal flowchart between a TCP client module and a
log server for describing data communication protocol;
FIG. 4 shows a flowchart for an operation of a manager program
according to a preferred embodiment of the present invention;
FIG. 5(a) shows a flowchart for an operation of an agent program
according to a preferred embodiment of the present invention;
FIG. 5(b) shows a flowchart for an operation of an agent program
according to another preferred embodiment of the present invention;
FIG. 6 shows a flowchart for describing a network performance test by
the client program according to a preferred embodiment of the present
invention;
FIG. 7 shows a flowchart for an access to a server according to a
preferred embodiment of the present invention;
FIG. 8 shows a flowchart for describing packet flows of a trace-route
according to a preferred embodiment of the present invention;
FIG. 9 shows a diagram for measuring a receiving speed and a cut
ratio according to a preferred embodiment of the present invention;
FIG. 10 shows a flowchart for a network performance analysis method
by a log server according to a preferred embodiment of the present invention;
and
FIG. 1 1 shows a network performance analysis server system
according to a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In the following detailed description, only the preferred embodiment of
the invention has been shown and described, simply by way of illustration of
the best mode contemplated by the inventor(s) of carrying out the invention. As
will be realized, the invention is capable of modification in various obvious
respects, all without departing from the invention. Accordingly, the drawings
and description are to be regarded as illustrative in nature, and not restrictive.
FIG. 1 shows a block diagram for a network performance analysis
system according to a preferred embodiment of the present invention.
Referring to FIG". 1 , the network performance analysis system
comprises a network performance analysis server system (NPASS) 100; a
plurality of client systems 200; and a plurality of measured systems 300.
The NPASS 100 comprises a log server 1 10, a database server 120,
and a web server 130, and it provides schedule instructions for performance
analysis to the clients, each of which is locally scattered and installed on the
system, and it receives test information that is collected in response to the
schedule instructions from them.
Also, the NPASS 100 generates various types of statistical information
on the basis of the test information, and provides the statistical information to a
user who requests a network performance analysis, through the web server
130.
Namely, it is desirable to provide statistical information to a network
manager for providing various services, and it is also preferable for the network
manager to be able to process the statistical information such that it can be
used for comparison within their own company or within the same industry.
The client system 200 that is accessible to the Internet or the networks
comprises a manager program 210 and an agent program 220, and it is a
computer system positioned at a home for the network performance analysis
test, or a computer system or a server system installed at a predetermined
place of business for the network performance analysis.
Regarding its operation, the client system 200 receives the schedule
information from the NPASS 100, starts its operation on the basis of the
schedule information, performs a network test for measuring how the user
experiences the network, accesses a specific service provider or a site to
perform a service test for measuring how the user experiences the contents
service, and provides corresponding test information to the NPASS 100.
During the network test, as an example, the client system 200 receives
test information at hops that are provided on a path from the client system to a
specific site, and tests network service states such as network efficiencies on
the basis of the test information. In this instance, the hops include network
devices such as a server, a RAS (remote access server), or a router.
Also, during the service test, the client system accesses a
predetermined site via a plurality of hops, and downloads the first web page,
that is, a homepage, to the client system to thereby test contents service states.
The measured system 300 may be a system for managing a
homepage and a plurality of web pages.
The Internet is exemplified for the measured system 300, but the
measured system may further comprise wire and wireless communication
networks, cable networks, optical communication networks, business intranets,
public broadband networks, and other public networks.
A realization method and an operation principle of respective modules
of the client program according to the preferred embodiment of the present
invention will now be described.
FIG. 2 shows a client program according to a preferred embodiment of
the present invention.
Referring to FIGs. 1 and 2, the client program 200 comprises: a
manager program 210 including a TCP client module 212; and an agent
program 220 including a schedule module 221 , an ICMP (Internet control
message protocol) module 222, a Winlnet module 223, an analysis module 224,
and a media connection module 225. Functions of the respective modules will
be separately described for ease of explanation.
The client program 200 accesses a web site according to a schedule,
downloads the first web page to the client program 200 or downloads a
predetermined file to the client program 200 according to the schedule, to
automatically measure service performance of the corresponding site and the
performance of the network through which the client program 200 accesses the
corresponding web site, and it transmits measurement results to the log server
110 of the NPASS 100.
It is desirable to install the client program in a computer system
provided to the home of a high use Internet user, or in a server level system, or
to install the client program in various local regions (e.g., an IDC (Internet data
center) under various environments so as to measure in many ways how the
clients experience the network performance. In this instance, a single agent is
provided, and a plurality of client servers may also be set within the
requirements of the client system.
The respective modules in the client program 200 will now be
described in detail.
The TCP client module 212 transmits various types of analysis
information generated by the client program 200 to the log server 110 that is an
assigned management server using a protocol such as a TCP socket
communication. The log server 110 provides various categories of statistical
information to a system that requests a network performance analysis, on the
basis of data collected by the clients which are locally scattered and installed
on the system.
The log data tested by the client, that is, a kind of a protocol, are
transmitted to the log server 1 10 of the NPASS 100 to be stored in a database.
The client program 200 generates log data when each test is
terminated. The log data are stored in a client PC's HDD or a floppy disk and
are used for processing abnormal program errors and system errors and for
safely transmitting test results to the log server 110 through the Internet.
In order to remove various errors that may occur during transmission of
the log information, the log server 1 10 checks whether the log data transmitted
by the client program 200 are correct, and transmits checking results to the
corresponding client program 200. That is, when receiving log data from the
client program 200, the log server 110 checks the log data and notifies the
client program 200 of an ACK or NAK response.
In the above-described preferred embodiment of the present invention,
the TCP client module 212 is installed in the manager program to perform TCP
socket communication, and it is also obvious that a UDP client module is
installed in the manager program to perform UDP socket communication.
In addition, a manager program and an agent program are individually
installed in the client program in the embodiment of the present invention, and
further it is obvious that they may be concurrently installed in the client program.
FIG. 3 shows a signal flowchart between a TCP client module and a
log server for describing data communication protocol.
Referring to FIGs. 1 and 3, the client program 200 waits for an ACK
response on the transmitted log data from the log server 1 10. If receiving the
ACK response from the log server 1 10, the client program 200 determines that
information is safely transmitted.
The log server 110 performs several tests on the transmitted log
information to check whether the data are lost or damaged on the network or
the Internet, and transmits test results to the client through an ACK or NAK
response. When the client receives a NAK message from the log server 1 10,
the client assumes that a problem is generated while a corresponding log
frame is transmitted, and the client again transmits the log information to the
log server 1 10. This process is repeated for each identical time frame until the
client receives an ACK response from the log server 1 10. During this process,
subsequent errors may be assumed.
First, when the client transmits log information to the log server but
fails to receive an ACK/NAK signal from the log server 1 10 because of
disconnection of data communication with the log server 1 10, the client
program stands by indefinitely while waiting to receive the ACK/NAK signal.
To solve the first problem, the client program drives a timer, which is
timing out software. That is, when the client program transmits log information,
resets the timer, and receives no ACK/NAK signal from the log server 110
within a predetermined time frame, the client program processes this as time¬
out, and determines that no log information is transmitted to the log server 110.
This time-out function creates benefits, but it may cause the following
problems.
It is assumed that the client transmits log information and drives the
timer and this log information is transmitted through a low-speed network.
The log information is transmitted to the log server 1 10 through the
low-speed network, and it is processed to thereby generate a corresponding
ACK/NAK frame. The ACK/NAK frame is then transmitted to the client through
the low-speed network. During this process, however, a time-out may occur in
the client program because of a lot of time spent in the process.
A second problem may exist in that the frame synchronized state
between the log information of the client program and the ACK/NAK frame
transmitted by the log server 110 may not be guaranteed because of the
ACK/NAK frame transmitting after the time-out.
In order to solve the second problem, a piggyback method is used for
the ACK/NAK frame. That is, "log time" information in the log information
transmitted to the log server 110 is provided to the ACK/NAK frame so that the
log time information and the ACK/NAK may be transmitted together.
Accordingly, by using the information, the client program checks to what log the
ACK/NAK frame transmitted by the log server 110 is matched.
Referring to FIG. 2, in order for the client program 200 to measure the
performance of the Internet or the network in various and effective ways, the
schedule module 221 receives schedule information on a test procedure and a
corresponding method from the log server 110 when driving the agent program
220. Using the schedule information, the NPASS controls the client programs
each of which is locally scattered and installed on the system.
For example, respective schedule items that a manager may control
using the NPASS may be configured so as to 1 ) perform a test during
predetermined time periods, 2) add a location of a measuring target URL and
modify it, 3) set various categories of information used for tests such as test
areas and media types, and 4) provide a different schedule to each client.
In particular, so as to perform the functions of 3) and 4), it is desirable
to separate the client program from the NPASS. To perform the separation,
each client program is assigned a serial number, and the NPASS controls the
clients' measuring operation on the basis of the serial numbers.
The ICMP module 222 has a trace-route function to transmit an ICMP
echo message to respective network or Internet devices such as routers that
are provided on the path of the measuring target URL, and check
corresponding responses, thereby testing the routers' existence states on the
paths as well as corresponding delay times. Namely, the ICMP module 222
uses the trace-route function to find information on addresses of the hops (e.g.,
routers) on the corresponding paths, time delay factors between the hops, and
packet loss rates.
The client program may define ICMP items including TTL (time to live),
lengths of ICMP packets, number of ICMP packets, and time-out, and manage
the ICMP items.
The packet loss rates generated from the respective routers may be
measured by adjusting the number of ICMP packets. That is, when the ICMP
packet is transmitted to each router provided on the path of a predetermined
URL, each hop is required to echo the ICMP packet in normal cases. The loss
rate may be measured by counting the number of ICMP packets safely
transmitted to the client program by the router after being transmitted to the
hops.
For example, it is assumed that the user sets the ICMP items such that
TTL = 30, the length of the ICMP packet = 64 Bytes, the number of ICMP
packets = 10, and Time-out = 3000ms.
Under this state, when a trace-route operation is performed on a
predetermined URL, the ICMP packets are transmitted to the hops each
provided on the corresponding path by the predetermined number of ICMP
packets (the number is set to be ten in this example). If a predetermined hop
transmits nine echo responses to the client program, the corresponding packet
loss rate is calculated as follows.
100% - (9/10)*100 = 10%
The Winlnet module 223 measures the users' network performance on
the networks or the Internet, and uses Winlnet functions of the Internet
Explorer (IE) installed in the Windows O/S (operating system) as a default. By
performing performance measurement on the basis of the Winlnet functions,
subsequent merits may be obtained.
That is, in the case specifications of general-purpose application
protocols (e.g., HTTP or FTP) of the TCP/IP are changed, the performance
measurement may be continuously performed using the updated IE Winlnet
functions without additional modification of the client program.
Also, the performance measurement may be performed under the
identical IE environments used by general Internet users.
The client program 200 reads the schedule set by the NPASS 100
through the schedule module 221 , and performs a test operation according to
the schedule.
The analysis module 224 generates various measurement result data
on the basis of the data measured by the respective measurement modules of
the client program.
The media connection module 225 performs a media access operation
to wire and wireless terminals or modems in each test stage. In this instance,
the media access operation includes a first network access method for
accessing the network such as the Internet through computer communication
(e.g., the 104XY-phone number method via a modem) or through a wireless
Internet that requires additional access attempts by a user, and a second
network access method through a high-speed communication network or an
exclusive line that needs no additional access attempts by the user.
Through the above-described media access operation, the actual
access rate of the user receiving desired services through the network or the
Internet may be calculated. Furthermore, the client program separately
transmits notification of access failures that may occur and access failure
reasons to the measurement server, thereby providing notification of problems
that exist between wire and wireless intervals of the networks or the Internet,
and suggesting corresponding improvement ideas.
To execute data communication through the wire and wireless
terminals or the wire and wireless modems, an additional process for making
the Windows O/S recognize the above-noted terminals and modems is needed.
Accordingly, after making the Windows O/S recognize driver programs
according to individual methods corresponding to the respective media, the
user may drive respective wire and wireless devices through the "phone
access network" Windows program with no concern regarding the
characteristics of the corresponding media, which have been widely applied to
the conventional modem usage and recent ADSL devices.
The client program uses the access methods of the wire and wireless
terminals to use the Windows standard RASAPI (remote access service
application programming interface) for directly controlling the "phone access
network" Windows program, and it also uses the characteristics of the modem
provided to each device to find the modem's access speed or problems
caused by access failure.
Items to be measured and managed by the client program that
manages services of an Internet or network management system will now be
described in detail. In particular, the measurement and management items
according to the first network access method through computer communication
such as the 014XY phone number method or through the wireless Internet, and
those according to the second network access method through the high-speed
communication network or the exclusive line, may be separately described.
First, information to be collected and processed by the client program
through the first network access method includes (1) access information, (2)
data communication information, (3) ICMP trace-route information, and (4)
other categories of information according to contents and characteristics of the
corresponding items.
Corresponding contents and configuration of each information set will
now be described.
(1 ) Access information
Probable error factors and various measurement parameters that may
be generated during attempting data communication by using a wire and
wireless terminal or a wire and wireless modem, are provided in Table 1
Table 1
In particular, messages transmitted to an upper program from the TAPI
when an accessing state is disconnected will be subsequently summarized in
the case of the access error code.
For reference, the client program processes cases of when the
subsequent messages are transmitted from the Windows O/S as errors, and
leaves a log message for each corresponding case.
The client program is programmed to check an RAS access when the
access is abnormally disconnected while the subsequent messages are not
transmitted from the TAPI.
Also, when determining that the RAS access has failed, the client
program leaves an error message of "User authentication has failed," and in
another case, it leaves a log of "The line has been disconnected normally."
LINEDISCONNECTMODE_NORMAL // Process as "Disconnect
access from remote place"
LINEDISCONNECTMODEJJNKOWN // Process as "Disconnect
unknown call connection"
LINEDISCONNECTMODE_BUSY // Process as "Line is busy"
LINEDISCONNECTMODE_NOANSWER // Process as "No answer
from another user's repeater"
LINEDISCONNECTMODE_NODIALTONE // Process as "No dial tone
detected"
RASDISCONNECTMODE_AUTHENTICATEFAIL // Process as "User
authentication failed"
The definitions and descriptions of the above-noted errors are
provided as documents to the MSDN (Microsoft Developer Network)
periodically issued by Microsoft Corporation.
(2) Data communication information
After successful access, the client program performs corresponding
detailed tests according to the test procedure transmitted from the log server
1 10 of the NPASS 100. Table 2 describes respective items generated through
the test procedure.
Table 2
The transmission speed will now be described in further detail.
The download count represents a number of files that form the first
page, and the client processes text-based HTML files or general-purpose
images files (e.g., those of GIF and JPG formats) as download target files.
The download size indicates a number of total bytes of the files that
configure the first page of the test target URL.
The download speed shows a mean down speed (in bytes/sec)
calculated after actually receiving the contents of all the files that configure the
first page of the test target URL.
The error code will now be described in detail.
As an example, problems may be generated to the actual data
communication because of error factors that may be generated from a
predetermined server provided in a corresponding medium after access
through the medium is successfully performed. These error factors need to be
processed differently from the error factors generated when accessing the
medium. Namely, when the client program uses a GET instruction of the HTTP
so as to receive a predetermined file from a measurement server and no such
file is found from the measurement server, the measurement server transmits
an error code (e.g., 404) to the client program instead of contents of the file.
The error code transmitted by the server becomes a measuring target
item. Generally, the error code is dynamically processed by the corresponding
server or within the range of a protocol to be thereby transmitted to the client
program.
The DNS Lookup will now be described.
The DNS count represents a number of times the DNS used for
modifying a URL that directs the location of the files (e.g., HTML files or image
files) into an IP (Internet protocol) address is called.
The DNS time indicates a total time spent calling the DNS that is
required for downloading the first page.
The server connection will now be further described.
The server count represents a number of HTTP server connection
tasks required for downloading files that configure the first page of a test target
URL.
The server time shows a total time used for a HTTP server connection
task required for receiving the first page.
(3) ICMP trace-route information
In order to make the relations of the hops provided on the data
transmission paths numbers, the client program uses an ICMP protocol at each
performance of the test to perform the trace-route, thereby creating items of
Table 3. The measuring basis of the respective items will refer to the ICMP
module description.
Table 3
(4) Other categories of information
Table 4 shows items that are transmitted to the NPASS and used as
important index keys for processing various statistical analyses and databases,
though they are not related to the actual measurement.
Table 4
In the above, various types of information that the client program
collects and processes through the first network access method are described.
In the case of the second network access method, an additional access
operation by a user is not required, and accordingly, it may be desirable to omit
the description of the first item, that is, the (1) access information.
FIG. 4 shows a flowchart for an operation of the manager program
according to the preferred embodiment of the present invention.
Referring to FIG. 4, when the manager program is executed in step
S110, a number of tasks and other categories of information are input in step
S112. In this instance, the number of tasks represents the number of agent
programs managed by the manager program. The other categories of
information include personal information (e.g., a name, an address, and a
telephone number) of the agent program's manager; network environments
(e.g., an IP address, an access medium, and a network speed in the case of a
fixed IP) under which the agent program will be operated; and information (e.g.,
an IP address of a main log server, and a URL of a schedule file) for
communication with the log server.
It is checked whether the number of tasks is provided in step S114,
and when it is not found, the agent program is executed in step S1 16, and it
returns to step S1 14.
When the number of tasks is provided, the manager program 210
performs a multitasking operation with the log server 110 and the agent
program 220.
An operation between the manager program 210 and the log server
1 10 will now be described.
When the number of tasks is provided in step S1 14, it is checked
whether test data to be transmitted to the log server 1 10 are provided in step
S120, and when the test data are not found, a standby mode is executed, and
when they are found, it is checked whether a network connection to the log
server 1 10 (e.g., a socket connection) is performed in step S122.
When it is found that the socket is not connected, a standby mode is
performed until the socket is connected, and when the socket is found to be
connected, the corresponding test data are transmitted to the log server 1 10 in
step S124.
It is checked whether an ACK message is received from the log server
1 10 in step S126, and when the ACK message is not received, an operation for
going to the step S124 and transmitting the test data again is repeated, and
when the ACK message is received, an operation for going to the step S120
and transmitting other test data to the log server 1 10 is repeated. In this
instance, the number of the process for going to the step S124 may be
controlled to be a predetermined number by the manager.
An operation between the manager program 210 and the agent
program 220 will now be described.
When the number of tasks is provided in the previous step S1 14, a
predetermined message for checking a driving state is transmitted to the agent
program in step S130, and it is checked whether an ACK message
corresponding to a message transmission is received from the corresponding
agent program in step S132.
When the ACK message is not received, it is checked that the agent
program is not executed, and accordingly, the agent program is executed in
step S134. When the ACK message is received, it is checked whether a
predetermined time is passed in step S136. In this instance, the predetermined
time includes a period from a start time to an end time of driving the agent
program.
When the time is not passed, it goes to the previous step S130, and
when the time is passed, an end message is transmitted to the agent program
in step S138, and it goes to the previous step S130.
Referring to FIG. 2, a plurality of agent programs 220 may be installed
in the client PC, and when a client program that includes a manager program
and an agent program is installed in a server-level computer of huge capacity
and high-speed, the manager program may generate at least two agent
programs.
In the case at least two agent programs are generated as described
above, an operation of the log server 1 10 and at least two agent programs is
possible as well as an operation of the log server 1 10 and one agent program.
Here, it is obvious that the steps S130 through S138 perform a multitask
operation with each generated agent program.
FIG. 5(a) shows a flowchart for an operation of the agent program
according to the preferred embodiment of the present invention, and in detail, it
is a flowchart for an operation of the agent program that uses the second
network access method through a very high-speed communication network or
an exclusive line that does not require an additional access attempt operation
by the user.
Referring to FIG. 5(a), the agent program is executed in step S210,
and a ping message is transmitted to check an activation state of the network
in step S212. In this instance, the ping message is used to test transmission
and receiving states between systems using the ICMP.
When the network is not activated, a standby mode is performed until
the corresponding network is activated, and when it is activated, schedule
information is downloaded from the log server 1 10 in step S214, and it is
checked whether the agent program is required to be refreshed before the
items set by the schedule are tested in step S216. In this instance, the
refreshing represents a function for terminating the agent program for each
predetermined time interval (e.g., a one-hour time interval), and the terminated
agent program is re-executed by the manager program. The refreshing function
previously protects the agent program's abnormal execution that may be
generated because of various reasons, and minimizes occurrences of the
abnormal execution.
When the agent program requires refreshing, the execution of the
agent program is terminated and reset, and when it requires no refreshing, a
ping message is transmitted to check the network activation state in step S218.
When the network is found to be not activated, a standby mode is
performed until it is activated, and when the network is activated, a trace-route
is performed according to schedule information in step S220, and a URL
according to the schedule information is downloaded to receive test information
in step S222. For example, when the schedule information includes an
instruction to access a predetermined site, network test information may be
received from the hops used for accessing the corresponding site, and test
information may be received through a downloading operation of images and
tests that configure a homepage of the accessed site.
It is checked whether a manager program is started in step S224, and
when it is not started, the corresponding manager program is started in step
S226, the test information generated by performing the step S220 and the test
information generated by executing the step S222 is transmitted to the started
manager program in step S228, and it feeds back to the previous step S214. In
this instance, the process of obtaining the test information through the
feedback may be determined by the schedule information, and when the
schedule information includes no further information on the measured targets
to be tested, the process is obviously terminated.
FIG. 5(b) shows a flowchart for an operation of the agent program
according to a second preferred embodiment of the present invention, and in
detail, it is a flowchart for an operation of the agent program that uses the first
network access method through the 014XY telephone method or wireless
media that require an additional access attempt operation by the user.
Referring to FIG. 5(b), an agent program is executed in step S250, and
a schedule and operating environments are input in step S252.
An access to a medium is attempted to check whether the access to
the corresponding medium is successful in step S254, and when the access
fails, the access is attempted until the access is successful, and when the
access is successful, an access to the main log server is attempted to check
whether the access to the log server is successful in step S256.
When the log-in access in step S256 is successful, corresponding log
information is transmitted, and a trace-route test is performed in steps S258
and S260. When the log-in access is checked and found to have failed, the
trace-route test is performed in step S260.
A URL download test operation is performed in step S262, test log
information is calculated in step S264, the access to the medium is cancelled,
and it goes to the step S254 to attempt an access to a medium according to
schedule information in step S266.
FIG. 6 shows a packet flow of the trace-route according to the
preferred embodiment of the present invention, describing the step S220 of
FIG. 5 in detail.
Referring to FIG. 6, when the agent program 220 provides an ICMP
message to the hops on the Internet or the network according to a schedule so
as to access a predetermined Internet site, the corresponding hops determine
the paths of the packets provided to the hops and reduce items of the TTL that
relates to the packets' lifetime.
As a result, when the TTL value of the packet provided to the hop is
set to be zero, the corresponding packet is no longer transmitted to the
destination, but a time-out packet, preferably a time exceeded error ICMP
packet is transmitted to the corresponding packet's transmitter as an echo. The
response by the time exceeded error ICMP packet is based on the RFC792
standard documents.
Accordingly, when the terminal that performs the trace-route sets the
TTL value of the first ICMP echo message to be '1 ' and transmits it, the
terminal may receive a time exceeded error ICMP packet from the first router
on the path.
When the terminal transmits an ICMP echo message having the TTL
value as '2' to the destination, the terminal may receive a time exceeded error
ICMP packet from the second hop such as a router.
When the above method is repeated, the trace-route operation may be
performed up to the target hop connected to a predetermined Internet site,
information and delay time of all the hops (e.g., routers) provided on the paths
to the destination may be obtained, and test information such as a packet loss
rate may also be found.
FIG. 7 shows a flowchart for a network performance test by a client
program according to the preferred embodiment of the present invention, in
detail, describing a network performance test according to a client program that
uses the second network access method through a very high-speed
communication network or an exclusive line that requires no additional access
attempt operation by a user.
Referring to FIG. 7, when the client program is started, the NPASS is
accessed to download schedule information including a starting time, a
measuring target, a URL, and a test location required for the test in step S310.
An attempt to access a medium according to the corresponding
schedule through a wire/wireless modem, a terminal, or a LAN card installed in
the client system in which the client program is installed is executed in step
S320.
An ICMP test is performed to analyze network service contents
including a service response time and a disconnection interval for each
network interval (i.e., a hop), thereby receiving test results in step S330.
An access to a corresponding service (e.g., a predetermined Internet
site) is executed to test a homepage and a file downloading process and
receive test results in step S340.
Various test results received through the steps S330 and S340 are
used to generate log information, and the generated log information is
transmitted to the log server 1 10 to store it in a database in step S350.
When the test of the networks or the service performance for receiving
a predetermined service according to the schedule information is finished, the
access to the corresponding site is disconnected in step S360, and it goes to
the previous step S320 so as to perform a next test according to the schedule
information, and thereby repeat a unit test process under an established
schedule.
In the above, a network performance test through the client program
that uses the first network access method using a computer communication
(e.g., 014XY) or a wireless Internet that requires an additional access operation
by a user is described, and the network performance test through the client
program that uses the second network access method through a very high¬
speed network or an exclusive line that requires no additional access attempt
by the user excludes the steps S320 and S360 from the whole steps of FIG. 7,
which will no longer be described.
FIG. 8 shows a server access diagram according to the preferred
embodiment of the present invention, describing the step S320 of FIG. 7 in
detail.
Referring to FIG. 8, an access to a corresponding measured server
(i.e., "request HTTP connect") is performed so as to download a file installed in
the measured server by a test program, and the measured server transmits an
access permission signal (i.e., "accept HTTP connect") to the test program that
is responsive to the above-noted request.
When receiving the access permission signal, the measuring program
requests a test file from the measured server (i.e., "get test file"), and the
measured server provides a corresponding file to the measuring program (i.e.,
"ACK").
The above-described process is referred to as a "server connection,"
and when the process is successfully executed, it is defined as "server
connection succeeded," and the corresponding time spent is measured as a
server access spending time.
When an access to a file of the measured server from the test program
is attempted and no response is provided from the corresponding server, it is
processed as "server connection failed."
The above-noted access process to the measured server is applied to
the HTTP type and general TCP type communication environments. Namely,
the communication protocol may apply identical methods to the Telnet, the FTP,
and the SMTP, as well as the HTTP.
FIG. 9 shows a process for measuring a receiving speed and a
disconnection rate, describing the step S340 of FIG. 7 in detail.
Referring to FIG. 9, when an access to the measured server is
successfully performed, information on the file to be downloaded is requested
from the measured server (i.e., "get test file header"), and file size information
(i.e., "ACK & header data") is received from the measured server, that is, an
HTTP server according to a corresponding response. The test program finds
the actual size of the file provided to the server using the file size information.
In this instance, the information is used so as to measure receiving speeds and
disconnection rates.
When collecting the basic file information, an actual download of the
corresponding file is requested on the HTTP protocol basis, and the file is
transmitted according to its response (i.e., "get test file connect," and "ACK &
real data.")
Regarding the actual downloading of the file, the test program
downloads the file contents to the corresponding server until the transmitted file
size information is satisfied.
When the connection state to the server is disconnected or the server
does not respond for a long time when the size of the currently received file
has not reached the total file size at the time of receiving the file data, it is
processed to be a file download error.
When the total file is successfully downloaded, a receiving speed (or a
transmission rate) is measured in reference to Equation 1.
Equation 1
. . . , , . . file size receiving speed (or transmission rate) = downloading time
FIG. 10 shows a flowchart for a network performance analysis method
by the log server according to the preferred embodiment of the present
invention.
Referring to FIG. 10, the log server 1 10 is operated in step S410 to
reset a socket connected to the client in step S412.
Log information according to test data provided from the manager
program of the client program is received in step S414.
It is checked in step S416 whether the log information is formatted
data, and when the log information is not formatted, an error message is output
to the manager program of the client program in step S418, and it goes to the
step S414. In this instance, the reason for receiving formatted data is for the
client program and the log server 110 to transmit and receive established
protocols through a predetermined setting.
When the log information is found to be formatted data in step S416, it
is transmitted to a database to be stored therein in step S420, an ACK
message that reports a normal receipt state is transmitted to the corresponding
manager program in step S422, and it goes to the previous step S414 to
receive log information according to test information.
FIG. 1 1 shows an NPASS according to the preferred embodiment of
the present invention.
Referring to FIG. 1 1 , the NPASS comprises a log server 1 10, a
database server 120, and a web server 130. The database server 120
comprises a daily report generator 121 , an access time analyzer 122, a
download time analyzer 123, a download speed analyzer 124, an agent
information analyzer 125, a homepage analyzer 126, a hop and error
information analyzer 127, a service contents modifier 128, and a help message
providing analyzer 129.
The NPASS receives, in a predetermined log format, network
performance test information from a plurality of client systems 100 and
contents service performance information from corresponding media, analyzes
each information set, stores the same, and provides each stored analysis
information set to a network performance analysis request system through a
web server 130.
The network performance analysis request system may also receive a
predetermined request, and access a predetermined medium through
predetermined hops at a predetermined time period to thereby provide
customized network performance analysis information. In particular, the format
of various types of network performance analysis information is obviously
processed to be other types so that the user may easily check the
corresponding analysis information.
The respective analyzers of FIG. 1 1 are conceptually separated so as
to describe functional operations of the database server, and they are not
separated in the hardwired manner.
As described above, the performance of the international and global
Internet and network infrastructures may be measured and managed by using
the Internet performance measuring program.
Also, services such as consulting may be provided so that effective
contents services may be provided through information on various types of
indices used for receiving contents on the web via the Internet and the
infrastructures.
Further, by measuring and managing far-reaching Internet service
performance and web using states, the Internet performance may be enhanced
through providing equipment services and contents services.
While this invention has been described in connection with what is
presently considered to be the most practical and preferred embodiment, it is to
be understood that the invention is not limited to the disclosed embodiments,
but, on the contrary, is intended to cover various modifications and equivalent
arrangements included within the spirit and scope of the appended claims.