(趋势)2004题目

2004 ???橲#? 
Preliminary Stage 鐬w|?焢N  
焤+z>?蔴  
(Version 2.5) ??鏲拒e  
?'I檮諱? 
1.   Subject ?蟄篪阔  
Central Computer Activity Monitor System 4/欢岲2喧  
?吅o湩墅? 
2.   Overview 溭R垘?貍D  
Network administrators manage all computers in their network domain. One of their daily jobs is to ensure every computer is running smoothly without any problem. However, there could be a large number of computers in their network domain. It is difficult to know if there is a computer can’t work properly. They may need to visit computers located in different places to make sure everything is still running. 澕?赽冀? 
We want to design a client-server system to ease this effort. When this system is deployed to the computers of a network domain, every client will report its system state to the server regularly. At the server side, network administrators can check the system state of every computer remotely. Watching their network domain becomes an easier job. 膸R銩佅鍱g  
To create such a system, at client side, several “probes” must be installed in different positions in OS. These probes monitor system activities such as network packet transferring, CPU usage, file access and so on. Then client sends the intercepted information to the server. 竍婝 犄&z? 
  The server receives activity information from all client computers. At the server’s display, administrators can view the system state of the whole network or any single client computer. The system state is presented in “History List” and “History Diagram”, which is text log and 2D history graph respectively. 埥煭霤lY庣  
?oC%:U淣? 
3.   System Activities 聟?Sz怩  
  System activities mean every activity a computer may do. In our system, the clients are expected to keep a watch on the following system activities, collected their information, and report to the server. 绹誺3罺  
a.   Network packets v?? ?rB  
Both incoming and outgoing network packets are watched. The information such as protocol, source IP, destination IP, source port and destination port should be collected. 纲聇娄畔? 
b.   File modification/creation 鉣M?.^0T? 
Modification/deletion of an existing file or creation of a new file are watched. The information of filename and path should be collected. 芅DU? b?  
c.   Process execution /R矹憡7,? 
Processes starting, running and terminating are watched. Process name should be collected. ?D澹夒喽/  
d.   CPU usage ?~(蒓z` ? 
CPU loading is watched. The info of percentage of current CPU usage should be collected. 翘瑈昡  
e.   Sending/Receiving E-mails (SMTP/POP3) 1?u稓懌? 
Incoming and outgoing E-mails are watched. The information of number of E-Mails, subjects, sender, recipients and filenames of attached files should be collected. 緅眣i睆 ~? 
^WaDd?/l? 
I?Vm&鐭  
4.   Probes and Activity Simulator fa醂?僪? 
  To watch the mentioned system activities, “probes” must be implemented and installed on client computers. Legally using free libraries or source codes is allowed, but you must declare it explicitly in your design document. ?睫龍:?€  
Your probes are expected to be able to watch the system activities listed in the previous section. It is good if your probes can watch more system activities and collect more detailed information. If you can’t complete all the probes, just try your best. 唽?詭?? 
However, whether you can implement all the requested probes or not, you MUST also implement an “Activity Simulator” for your clients. This Simulator reads an “Activity File” containing a text list of system activities. The data read from Activity File by the Simulator should be treated the same as collected from the probes. In other words, the data is treated “as it really happens on a client computer”. Your client should use the same client-server channel to deliver this info to the server. I?xg?V? 
  N甓鮇钦  
5.   Format of Activity File 仭?-釁?I  
  Before introducing the format, here is a reminder: your probes are NOT RESTRICTED to gather only the information listed below. You can gather any additional information (more detail or even other activities not listed here) you want. 輶剥Y嶌踪|  
The Activity File is an ASCII plain text file and its data is recorded row by row. One or multiple spaces and/or tabs separate fields in a row. Every row is ended with a new-line. #u?w?  
The first row of Activity File is a “starting time” indicating when the first system activity listed in this file is going to happen. It could be: j}?瀀m>  
Either y 楞J? 
A single string of now means “right after this file is opened”, which means the following data will be read without a delay. 8 N锔30? 
Or 姈鷲汣4(?  
A string of HH:MM:SS means local and today’s real world time in the format of hour:minute:second. It must be a time later in today, so it causes a delay before reading all the following data. ?lt;.{佤4聰  
崭薟?蔵  
Begin from 2nd row to the last row, each row records a system activity as this format: "婲.朒蜄瓢  
          seconds   category   category_specific info /?U雚  
<seconds> 梿%?畜N? 
Integer. It indicates when a system activity happens or a system state is “polled”. ?%HL?;? 
It is a delay relative to the previous row of system activity. If this is the first system activity in the file, the delay is relative to the “starting time” recorded in the first row. The delay is measured in seconds. 觫y鬋紳 Lk  
p0叏*1,Z? 
<category> vQ/曨??  
String. Could be NET, FILE, PROC, CPU or MAIL p3?諑鑂隄  
  <category_specific info> q鼄] ?m蛂  
It differs by different categories and contains some fields of different attributes. See the following definitions. 嗚%p搲=?  
(茽I??  
Definitions of <category_specific info> 浃l})A5貄g  
  NET 聕U~V(? 
    <Repeat> N?盨赯59  
Integer. This field is used to simulate that a number of identical packets with the following attributes are happening. f?A/?阆  
  <Direction> €X?晴G(e  
    String. IN or OUT ﹃L贩?? 
  <Protocol> ?宽嶂頾  
        String. Could be one of TCP, UDP, ICMP or OTHER. m蘭嫹+%  
    <TCP flag> eZΜR 啡? 
        Integer. Mapping to the real “flag” field in TCP protocol. Giving 0 if           the protocol is not TCP. 浝_a晕  
    <Address> 譌c?嘺l? 
        A IPv4 string of the remote address. Ex: 10.1.1.2 檾$?J痟匮  
    <Port> ?p艼萬7岯  
        Integer from 0 to 65535. It’s the destination port. 侞炙&U;?? 
    <Size> j?v鶼l臻  
Integer. Size of packet measured in bytes. ?o??}  
怣H軼U? 
FILE #鱑窃KR?  
    <action> 琫7e还?鐓  
        String. “CREATE” “MODIFY” “DELETE” 膯陡鼾柣斖  
  <full pathname> wDAV瓽殱>  
String. The format is “/dir1/dir2/…/dirN/filename” whether you work on Win32® or Unix® platforms. The whole string is enclosed with two “ (double quote) to support spaces in path. 桖k?50?? 
疙醫鼘T?  
  PROC ?a %;屯? 
    <action> 堧?衱V  
        String. “START” or “END” ?Ow.梐 玢  
  <application full pathname> {报_F玩[  
String. The format is “/dir1/dir2/…/dirN/filename” whether you work on Win32® or Unix® platforms. The whole string is enclosed with two “ (double quote) to support spaces in path. 寕?#麩2W? 
 骧`X諦? 
  CPU 鍁 ?礫? 
    <usage> ? 怆埔擨  
        Integer from 0 to 100. 幋怹涝?Z? 
_P舢袣=諨&  
  MAIL 菱6叹b甃? 
    <subject> .D劂G栎  
String. The whole string is enclosed with two “ (double quote) to support spaces. 緫0T秺  
    <sender> v*'L黒腺  
String. The whole string is enclosed with two “ (double quote) to support spaces. :!s?凼鱐P  
    <recipients> 鶟x?I  
String. Multiple recipients are separated by “;”. The whole string is enclosed with two “ (double quote) to support spaces. -@鉝彌a>J  
    <attached filenames> 敪?驺?騐  
String. Multiple files are separated by “;”. The whole string is enclosed with two “ (double quote) to support spaces. ?裂矋C疹H  
,k紅=?鴟? 
This is the content of an example Activity File: ?}V?F`? 
now 51惄摢?x,  
0   CPU   0 Xf纡顝櫍偏  
1   NET     1 OUT TCP 2 10.1.1.1 23 120 m=U  
10   FILE   CREATE “/read me.txt” 椭y偃 m唚  
10   PROC   START “/calculator.exe” ??? 
11   CPU   10 *癈LD弹马  
15   MAIL   “hello world” “John M” “David C;Peter W” “a.txt;b.txt,” lqU懼?? 
k:y0s袦  
6.   History List DS璤e/遜V? 
The information of system activities sent to the server is recorded as a “History List”. Each row of this list is an item of “when and what happens on which client”. >Z6 ?滚僋  
Some system activities, like network packets transferring, are “events”. They happen in an exact time and this time is recorded with them in the History List. y?W繼鑠? 
Other system activities, like CPU usage, are more like “states”. They are continuous and do not happen at a point in time. So the common approach is using a “polling” technique to monitor the state change. These activities are recorded with the time when they are polled. @>a?吤椵  
b仳@NW  
7.   History Diagram vZ慃洛Ⅻf  
  In addition to History List that is shown in texts, “History diagram” organizes and shows information in graphics. The performance monitor tool included in Windows® is an example: System activity statistics are shown in a 2D diagram with horizontal axis representing “past time” and vertical axis representing a “count”. Every diagram is updated periodically, which is expected to be not slower than every 30 seconds and faster is better. The diagram draws a statistical curve so administrators could see the change of every type of system activities. ?=r燫磺  
The “scales” of the both axes must be able to set reasonably to show statistics values. You may either design an “auto scaling” feature or provide controls for users to adjust scales. For the horizontal axis representing “past time”, at least, your UI must be able to display the information of past 10 minutes. Q!す塺掩  
It’s better to provide some “filters”. Only the activities matching the filter are counted. For example, users can choose only to watch a certain network protocol, packets to a certain destination, file access under system folders and etc. 7漖憷%~YQ  
Using single or multiple graphs to show the system activities is both fine. There is no explicit requirement besides mentioned items - Just design in an ideal way and let users can watch the state easily. ^55bM蘠顒F  
瞴郤y扶? 
An example of History Diagram: Performance Tool in Microsoft Windows® {?Ew汕#? 
[V溭簤}F  
8.   Functionality of the Server UI 恡齾院?  
The server UI must be able to show History Diagrams and History List of the current state. Also, it must be able to show a list of all connected clients and provide selection function on these clients. 価鐠?┣  
If no client is selected, History Diagrams are calculated by the data coming from all the connected clients. If a certain client is selected, History Diagrams are calculated by the data of that client only. The same logic applies to History List. o曼稉]1帗  
You may add extra functions freely. You can design UI in any style, which is able to provide the mentioned functionalities. ^剒3緍阎睋  
W歷??[鱱  
9.   Testing Environments ?w胫?  
We provide the following testing environments for you. 貑呐?媆? 
憶捖:E⊿ノ  
Hardware 3s  
Pentium-III class machines with 256MB RAM. We may test on at least 2 machines. I5?;沼踘  
Software ?:』Dg?  
Windows® 2000 Pro SP4 + MSDE® + Sun JRE® 1.4.2_05 + .NET® 1.1 (2煚巂r  
or 侼%?紳熠  
Red Hat® 9.0 + MySQL® + Sun JRE® 1.4.2_05 荎)缳3輚  
Please choose one in your manual. 跬cG諬? 
All OS and software will be installed with default settings and default components. 藕羿敁%^N? 
You can’t request us to install any other commercial software. If you want to use other free software, you must bundle it in your package and provide clear installation procedures in your document. 矓u鐰"FP^  
For Windows Java programmers: h?狢D?  
Microsoft® has declared they no more support Java®. If you want to use Microsoft JVM®, only the version bundled with Windows 2000® is available for you. Or, we will additionally install Sun JRE 1.4.2_05 on our testing computers. Please specify clearly which one you want to use and teach testers how to run your Java programs in your documents. 挪?^q"虇  
Network 禥┘)銙;  
The testing environment is a closed, pure LAN environment, and each machine has an internal IP. All operating systems are installed with default protocols. No firewalls or routers are present in the environment. 哇?雩)n:  
d@?紥5?A  
t 湵C视_? 
10.   Requirement of Your Software Package ?/>睨W$? 
We provide a FTP server for uploading your files. Every team has a home directory on the FTP server. Please carefully follow the rules in this section to name and organize your directories and files. k?'t?暳  
?恚,倀`/  
a.   Directory structures ?泈毯襅H  
You must create 3 directories named “document”, “program” and “source” under your root directory, and classify all your files into them. You may create more sub-directories in any name under these 3 directories. But don’t create other directories under the root directory. 锓希蛇#齖E  
抾蛑脣^  
b.   Documents t覮ㄈ萈瞖? 
You must provide the following 4 documents with the given filenames. Please put them in the directory named “document” and add proper extension filenames like .doc or .html according to the document format you choose. 7??骐  
manual         '?標N琨(  
A document written in plain text, HTML, Word or PDF. 奓=歨堑塳  
The first section must introduce the installation procedures clearly and correctly. You must write the software requirement and step-by-step installation procedures. You will lose the contest if our testers can’t set up your programs and get them running. So please confirm your installation procedures are correct. ?6軛渣qP? 
The latter sections must introduce the usage of your programs. Remind again, please write it clearly. ?9?lt;?J`  
design         墟植燻烧馄  
A document written in plain text, HTML, Word or PDF. ?亸G?? 
It describes the architecture of your design. If you borrow any public libraries or source codes, write all of them down explicitly. If you are found that you miss something, you will be disqualified from the competition. w?O)8  
build .鬆?D! 刽  
A document written in plain text, HTML, Word or PDF. ?t繨ぐ猦  
This document describes the detailed procedures of how to build executable programs from your source codes. In the building process, Windows® programmers may use Microsoft Visual Studio 6® “workspace” files, and Linux® programmers may provide “Makefile”. But you should still write necessary information in this document to help testers to build your programs. 0趨€扁а? 
filelist ???醻  
A document written in plain text. ~匓愸  
This document is a complete list of all files you sent to our FTP server. You must list full pathname, file size, and last modified time in this list. We use this file to check if you uploaded all the files for this contest. 屫 焼y*協  
I挴釼)髼? 
c.   Programs 掦A?獢? 
Put all your binary programs and installer (if you have) in the directory named “program”. Our testers should be able to begin the installation from this directory. ?9濪l創)  
桽/乆C?_l  
d.   Source codes .?%%?L?  
Put all your source codes into the directory named “source”. Don’ forget to write procedures of how to build your codes into programs in the document named “build”. bx] Gy{蝣  
.宜??  
e.   Installation $楄E脴?t  
Your installer or installation procedures should put executable programs into the following directory if there is no special assignment: i囿敪$曖  
    For Windows®: ?MIB幷嫖  
        C:/CCAMS |刔燞袾^o? 
    For Unix®: > y弾   
        /home/<current user>/CCAMS 賯Q?! dn  
After installation is completed, the executable programs should be put in the installation directory. Don’t forget to teach users how to use them in the document named “manual”. 贕贲?槌鑋  
H?? 敳3? 
11.   Other Requirements 履E黿3?*-  
a.   No restriction about programming languages. 囍娬%m耉? 
b.   No explicit UI requirement about the client. You could design it in a hidden style or provide some controls. But your programs should not interact with the user at the client side too frequently. ?謡?H脿? 
c.   Naturally, the server UI could be a normal application. But we don’t stop you from using web UI or other ways if you can implement it ideally. M岴姃嫜胢  
╅0鑫自  
12.   Scoring H糘绞牍廾`  
Scoring is based on the following items. There are a total of 190 points. Q/T =陕輠-  
a.   Functionality (100) 孪Q?d?m  
How many probes have you done? 蹋<鵬dB坄|  
Are the probes implemented with proper mechanism? &9倴醅+I%? 
Do they work well? $躙躊Pi,I  
How much information can they get? !t.?ゝ? 
Do History Diagrams and History List show correct results? ?婱/刺?? 
b.   Performance (40) -礘)啂T幺  
Can information display quickly on the server? 帴v也儹?  
How much resource do the client and server use? 屡m樜婠t*? 
c.   UI (30) ?.斔6+獛^  
Are History Diagrams and History List shown in an ideal way? %{c泝樧迬  
Is the UI friendly and nice? 詤?Q歚  
Is the whole system easy to use? F!閯ILJV3  
d.   Installation (10) 〤?逃?鮑  
Are the installation process smooth? /?抛殠&  
e.   Document (20) J訚U撢H鍕  
Is the description clear? B 緿擅?  
Is the design well described? #轘CU?拋  
Does the manual cover all things users need to know? kB 祑筭  
?勚%j6碣? 
13.   How We Test ?宀?{  
We will generate system activities by using Activity Simulator and testing tools, then see if History List and History Diagrams on the server UI show expected results. Jó矛羷溸  
 
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值