Reviews & Opinions
Independent and trusted. Read before buy Hitachi CDR-7930!

Hitachi CDR-7930


Bookmark
Hitachi CDR-7930

Bookmark and Share

 

Hitachi CDR-7930Hitachi CDR 7930 8x IDE Internal CD ROM Drive


Details
Brand: HITACHI
Part Numbers: CDR 7930, CDR-7930, CDR7930, cdr-7930


Here you can find all about Hitachi CDR-7930, for example manual and review. You can also write a review.
[ Report abuse or wrong photo | Share your Hitachi CDR-7930 photo ]

 

 

Manual

Preview of first few manual pages (at low quality). Check before download. Click to enlarge.
Manual - 1 page  Manual - 2 page  Manual - 3 page 

Download (English)
Hitachi CDR-7930, size: 66 KB

 

Hitachi CDR-7930

 

 

User reviews and opinions

<== Click here to post a new opinion, comment, review, etc.

Comments to date: 7. Page 1 of 1. Average Rating:
vasco99 4:52am on Friday, October 8th, 2010 
Excellent quality and repeatability. Good colour retention even after sever re-writes. Could not find any The picture quality is really clear. The sound quality is good too. None
tlausen 4:32am on Tuesday, September 28th, 2010 
Seemed too good to be true, but the batteries work fine. I needed to replace the batteries in some toys I bought second-hand (specifically.
LifeLongLearner 7:43am on Sunday, July 25th, 2010 
Great discs Adequate Capacity","Fast Burn Time","Highly Compatible","Reliable Recording
DeMarco 11:21am on Monday, July 12th, 2010 
These were free with an Asus DVD drive. No coasters so far. Used 5 so far. Works just fine None
LDS-James 1:05am on Sunday, May 9th, 2010 
NewEgg has done it again. These discs are about 1.00 each and can be used to burn DL DVD ISO files. Right now DL DVD disks are still higher than 1. What does the RE stand for? Real Expensive Price made 2 coasters but not the discs fault. Have burned a bunch more and all are ok. got them free
m_arco 5:14pm on Wednesday, April 28th, 2010 
Great price for the amount, audio is clear and CDs play in dvds and cd players perfectly.
Korvell 7:02am on Sunday, April 18th, 2010 
Great little button batteries Batteries worked for what i needed them. Can be used for many items.

Comments posted on www.ps2netdrivers.net are solely the views and opinions of the people posting them and do not necessarily reflect the views or opinions of us.

 

Documents

doc0

West Pittsburgh Partnership
Millie Rutkowski, Office Manager/Technology Coordinator Hiu Yu (Jenny) Lo, Student Consultant
I. The Consulting Situation
The Organization The West Pittsburgh Partnership is located on 37 Wabash Street, which is within a block from the West End-Elliott neighborhoods main street, South Main Street. There are a few stores along Wabash Street, and right next to the center is a neighborhood library, the Carnegie Library. The center resides in an old yet elegant three-story house, which provides approximately 1000 square feet of space. Currently, four full time employees work toward the goal of West Pittsburgh Partnership, and serve the West End neighborhood continuously. The following is their mission statement: Promoting social and economic values by acting in leadership and catalytic roles to foster the revitalization of an identifiably attractive, self-sustaining, and well-perceived community, to the betterment of current and prospective residents and business enterprise. The center is located at the heart of the West End neighborhood, which is easily accessible by the residents. Meanwhile, the West Pittsburgh Partnership provides services to residents in the West EndElliot neighborhood and residents in Allegheny County who are interested in setting up businesses or living in the West End-Elliot community. Because of its convenient location and prominence within the community, its services have helped over 5000 residents and 150 businesses in the community. Unlike most of the community centers, the West Pittsburgh Partnership does not run any classes or sessions on a regular basis. Instead, it provides walk-in assistance for clients. Some clients are directed to the organization by other non-profit organizations since the organization has partnership with other non-profit agencies, programs and government units. Occasionally, the organization can direct or introduce clients to other agencies or programs according to their needs. In fact, the organization is involved in lots of community services. Nonetheless, services provided by the organization can be divided into three main areas: housing financing service, employment counseling service and business development service. For employment counseling services, clients can walk in and use the computer lab to create or modify their resume and set up appointments for resume review, employment counseling services and job referrals. The organization also promotes and encourages clients to seek continuing education. For housing financing service, the organization can assist the clients to set up financial planning for purchasing their own home. At the same time, the organization exposes the clients to different programs that are available to them such as Urban Redevelopment Authority (URA) or community lender program. For business development service, the organization assists new coming business owner to finance, forecast changes and needs; meanwhile, it recruits new and retains existing businesses within the community The organization is led by Dru Imler, the executive director who reports directly to the board of director of the organization. The staff of the organization includes Collette Loskoch, the director of workforce development, Eric Kukura, the director of economic development, and Millie Rutkowski, the office
West Pittsburgh Partnership Hiu Yu (Jenny) Lo, Student Consultant

Page 1 of 13 12/2/2001

manager. Excluding Ms. Rutkowski, the main responsibilities of the staff members are writing up proposals and carrying out programs within the organization. Since the organization currently does not have budget to hire a technical administrator, the responsibility of technical administration is assigned to Ms. Rutkowski. Meanwhile, Ms. Rutkowski is also responsible for running office errands such as photocopying, answering phone calls, serving walk-in clients etc. Each year, the West Pittsburgh Partnership receives funding from state and city governments for supporting daily operations of the organization. Extra funding and grants need to be raised for supporting different ongoing projects. The Technical Environment Computer technology is used by both the staff and the clients in the organization. All computers in the organization run on Windows 98, and standard software such as MS-Word, MS-Excel and Internet Explorer are installed in the computers. Staff Technology Each staff member in the organization has his or her own computer with a color printer. There are four identical computers, which were purchased last year for the staff. Please see appendix A for detail. The staff members in the organization are proficient users of MS-Word since they use MS-Word to write their proposals, program documentation and newsletters. They also use MS-Excel to prepare budget spreadsheets and program charts. At the early stage of the consulting session, Ms. Rutkowski has hooked up all the staff computers to the network so that every staff member has access to the Internet. Currently, the organization has only one AOL email account, and Ms. Rutkowski is responsible to check email in behalf of the organization. Client Technology The computer lab consists of nine computers (see appendix B) located on the first floor behind the receptionist area. The computers are networked locally and are connected to a shared network printer and a shared cable modem giving them high-speed access to the Internet. The clients of the organization mainly use computers to write their resumes and cover letters for job searching purposes. They also use the Internet Explorer to access the Internet to search for jobs. Technology Management The official title of Ms. Rutkowski is office manager, and her main responsibilities are running office errands and performing secretarial tasks. Since the organization lacks of a formal technical administrator, Ms. Rutkowski is responsible for technology management in the organization as well, which includes duties such as managing email account, web domain, software and hardware purchase etc. There is no explicit plan or system for managing the computers; therefore, Ms. Rutkowski deals with computer issues when they come up. Nonetheless, Ms. Rutkowski is very enthusiastic about improving the technology within the organization. Consulting Focus

Ms. Rutkowski is the community partner for the consulting project, and she has faced two main challenges for her technology management task. First, a computer lab is newly established which introduces a challenge of managing a complex technical environment. Secondly, Ms. Rutkowski faces the challenge of building a pilot website for the organization which can draw the interest from the staff to build an official website for the organization.

Page 2 of 13 12/2/2001

Technical Environment Support First, there is no explicit plan or system to manage the computer lab. The computer lab was newly set up in August this year, and the organization does not have a plan to manage the lab yet. Since none of the staff has previous experience of dealing with a computer lab, they do not have the knowledge to make up a plan for managing the computer lab and find the necessary resources to run the lab. It is very important to have a system to manage the computer lab to deal with issue such as maintenance of the computers, upgrade of the computers, and an allocation of computer lab resources etc. Again, the mission of the organization is to revitalize the West End-Elliot community. In addition, one of the services provided by the organization is employment-counseling service. The program helps the neighbors to obtain long-term careers and at the same time helps the community employers to match with qualified candidates such that West End-Elliot community will be a better place to live and to open businesses. The computer lab serves a very important role in the employment counseling services. It allows clients to search available jobs online and work on their resumes and cover letters with the computers. Thus, a plan to manage the computers in the computer lab will be very important. Without such a system or plan to manage the computer lab, once a problem arises in the computer lab, no one knows what to do and how to seek help. Since the complexity of the technology environment of the organization increases due to the addition of the computer lab, it is necessary for the organization to have an official technical administrator. Currently, the size of the computer lab is small; thus, the organization can hire a part-time technical administrator or recruit a student volunteer to perform technical administration tasks. However, the organization does not have a budget to hire a technical administrator. Therefore, there is an immediate need of constructing a managing plan. During the consulting session, Ms. Rutkowski has completed a computer listing for the computer lab, which includes information about components of each computer system in the computer lab. The computer listing is very important in terms of technology management because it enables Ms. Rutkowski to trouble-shoot problem and identify compatible issues etc. Through the discussion with the consultant during the consulting session, Ms. Rutkowski has also gained attention to the importance of incorporating technology planning into a strategic plan for the organization, which is vital for the success of the technology within the organization. After this project, it is expected that the community partner would be able to maintain and update the computer listing when there are new computers introduced to the computer lab or when there are software or hardware changes in the computers in the computer lab. It is also expected that the organization would start the process of integrating technology planning into a strategic plan of the organization. The project would be able to increase the capacity of the organization since the community partner has picked up the process of keeping computer listing for the computer lab, which enables her to support the computer lab. Meanwhile, the organization start to plan on a strategic technology planning and thus, the organization should be able to expand its capacity in terms of using, planning and maintaining the computer lab. A well maintained computer lab would enable the organization to carry its mission of providing services to the community to make West End neighborhood a better place to live, and to work. Web Technology The second challenge is to build a website for the organization. The organization joined community partnership for Technology Consulting in the Community at Carnegie Mellon University last year. Through last year partnership, Ms. Rutkowski has learned how to create web pages by using Front Page

Page 3 of 13 12/2/2001

2000. Furthermore, the organization owns a web domain name and a web server. However, Ms. Rutkowski does not know how to upload web pages to the web server, and the staff is uncertain about the possibility of building a website for the organization. A well designed website for the West Pittsburgh Partnership will definitely be beneficial to the organization and the community. Recall the mission of the organization is to revitalize the West EndElliott neighborhood. Retaining old and attracting new businesses within the community is one of the means to revitalize the region. A well design and informative web site will increase the exposure of the organization and the community, which will attract new comers or visitors to the neighborhood. In fact, building a website is one of the few economical way for promoting the organization and the community. If the website is not built, the organization will lose its valuable chance to expose itself and the neighborhood to the public in the City of Pittsburgh or even the whole nation. After the consulting session, it is expected that Ms. Rutkowski would have the knowledge of uploading web pages to web server and building a pilot website. It is also expected that the staff of the organization will gain more interest in building a website for the organization and start planning to work toward this goal after reviewing the pilot website. The capacity of the organization will be increase because Ms. Rutkowski will be able to create web pages and upload them to web server which allow the organization to build its own website as needed. Furthermore, the capacity of the organization will increase if the pilot website successfully draw the interest from the staff to build a website for the organization since a web site can help to promote the service of the organization and the West End community which ties closely to the mission of the organization of revitalizing the West End neighborhood.
II. Outcomes and Recommendations

Consulting Outcomes

Technical Environment Support
The consulting task was to fill in some of the knowledge gaps so that Ms. Rutkowski would be better able to manage the computer lab. After the consulting session, Ms. Rutkowski is able to gain information about components of a computer system such that her ability of maintaining and managing the technical environment has increased. Ms. Rutkowski also concerns more to the integration of technology planning into a strategic plan of the organization after the consulting session, such that the organization would be betted planned in maintaining and upgrading its technology. Ms. Rutkowski was able to obtain computer information for all the computers in the organization and created the computer listing without the presence of the consultant. Since Ms. Rutkowski has learnt the technique of obtaining computer information, if there are new computers installed in the future, she will be able to update and maintain the computer listing. With an updated computer listing, maintaining the computer lab will be easier which ensure the stability of the computer lab and provide reliable services to clients. Ms. Rutkowski has also understood the importance of integrating the technology plan into a strategic plan of the organization. She has already suggested to the organization of the necessity of adding budget for

Page 4 of 13 12/2/2001

technology spending such as computer maintenance, software and hardware purchase, and part-time technical administrator hire. However, a computer listing and a budget are just the first two steps to maintaining the computer lab. Further discussion on creating a plan for maintaining the computer lab should be held in the staff meetings, since the organization does not have meetings regarding to the computer lab issues. The organization should continue to work on a plan to maintain its computer lab to ensure the endurance of computers in the lab. In order to maintain the work, more staff meetings are needed to determine at least the following issues: 1. Computer technical support Schedule to check the computers A check list for tracking the computers Schedule to update the computers Resources to maintain computers such as who they can call when computers are down 2. End-user support Training The above recommendation is some minimal procedures of how a computer lab should be maintained. The schedule of computer checking ensures the computers in the organization run smoothly and discovers any mal-functioned computers before any further damages. For the computers in the computer lab, this step is particular important since computers in the lab are open to the public. Some clients might not know how to use computer properly and break some of the software or even hardware. A checklist to keep track of the health of each computer in the computer lab helps the future troubleshooting and maintenance. All the operations performed to the computers should be recorded in the checklist so that the organization will have a complete record for each computer. Therefore, when problem comes up again, the staff would be able to search if any operations had done before to fix the computer. Alternatively, the staff would be able to inform the technician of the history of the computer so that make the troubleshooting easier. The checklist also provides a managing tool for management team such that the management can analyze the checklist and determine what additional effort is needed for a particular problem. Schedule to update the computers ensures the computers in the organization are up-to-date and recognizes any new software or hardware needs in the organization in the future. At last, having contacts to technical assistants is extremely important to the organization. Since there are no formal trained technical administrators in the organization, no one can fix the computers when computers are down. In terms of end-user support, it is important to provide enough training to end-users so that users can use the computer comfortably. A general introduction of computer system including monitor, keyboard, mouse, floppy drives etc. is needed. Information of how to login and logout the computer, how to use application such as MS-Word, Internet Explore, the concept of folders and files are very important as well. A staff member who can monitor the computer lab and assist end users is also needed as the usage of the computer lab increases. Both the amount of work and the demand for technology expertise increase in order to accomplish the computer technical support and end-users support; thus, hiring a consultant to help to set up the

Page 5 of 13 12/2/2001

maintenance planning for the computer lab is recommended. Moreover, staff training on how to provide support to end-users is needed as well. Additional resources: Website about computer lab security http://www.techsoup.org/articlepage.cfm?topicid=12&articleid=162
Since computers in the computer lab are open to public, it is more secure to create user login for clients Technical assistant listing http://www.techsoup.org/sub_discountlist.cfm?resourcelistid=24 It is important to have a technical assistant so that the organization can find help when computers are down Describe computer support in non-profit organizations http://www.coyotecom.com/database/support.html This is a very good reference and pointer to other resources for the organization to learn to do the computer support. Website about how to document computer systems (make the check list) http://www.techsoup.org/articlepage.cfm?ArticleId=200&topicid=8 Since no one in the organization has the experience of how to document computer systems, this article gives the idea of documenting computer systems and making the checklist.
Web Technology The outcome of the consulting project is Ms. Rutkowski is able to upload the web page to the web server so that a pilot website was built. It makes the staff realizes the website is an important corporate communication vehicle and as such the whole organization needs to be represented and the leadership of the organization needs to incorporate a plan for the website into the organizations strategic plan. During the consulting session, Ms. Rutkowski learned how to download software for developing the website such as Netscape Communicator, which includes the Netscape Composer for making html documents. She also downloaded WinZip and CoffeeFTPClient to unzip files and upload html files from local machine to web server. Ms. Rutkowski was also successful in uploading web pages she created to the web server. After the pilot website was up, the staff of the organization has reviewed the website and expressed their interest in further development of an official website for the organization. The most important evidence is all staff members come together to discuss the website content. In the consulting session on November 8, 2001, a meeting with all staff members in the organization was held. Each of the staff member gave his or her idea of what the website should include and how the website should look like. This is the most important step of building a website. In fact, it is a very important step for any technology planning. This is considered as an increase of organization capacity because the organization did not have any meetings regarding to technology issues prior to the consulting session.

Page 6 of 13 12/2/2001

Thus, this meeting has set up a model for the organization to follow later on for any of their technology plans. Since technology becomes more important to the organization due to the addition of the computer lab and web domain, it is critical for the organization to have staff meetings constantly to discuss the utilization and maintenance of their technology assets which enable the organization to keep up with technology and, at the same time, increase the organization capacity. For example, staff meeting discussing website content and the methods of building website promises the progress of building a website for the organization which helps to promote the organization and the West End community. Meanwhile, it ties strongly with the organizations mission of revitalizing the West End neighborhood. If the staff continues to run staff meetings and finishes the discussion of web content and the ways of building the website, they can successfully build their website which will promote their organization and the West End community and, thus, it agrees with their mission. Moreover, their staff meetings can further discuss other technology issues in the organization. Since the website is not complete yet, it is important for the organization to keep up with the work and continue what the consulting session has left off. Otherwise, the website will remain unfinished, and it wastes the resources of the organization since payments to the web domain name and the web server are made already. Furthermore, a website is a tool to communicate with clients and fund granters. It provides a lot of information for audience such as program information, office hour schedule and useful resources etc. It also helps to promote the organization by posting success stories. Meanwhile, it provides clients with more skills and job visibility. Once again, building a website is important to the organization because a website is a very useful tool to promote the organization and the West End community which ties strongly with the organizations mission of revitalizing the West End neighborhood. Please see Appendix C for detail recommendations. Additional Resources: 1. Websites of other non-profit organizations http://www.redcross.org http://www.chinesenewcomers.org By looking at other non-profit organizations web sites, the West Pittsburgh Partnership staff can get a reference of what kind of information can be included into its own website. 4. Website which teaches how to build a website http://www.webpagesthatsuck.com This site provides very useful information of building a website. It points out both Dont and Do for building a website. http://www.techsoup.org/articlepage.cfm?ArticleId=233&topicid=13 If the organization chooses to build the website in-house. Here are some guidelines to do so. 3. Reasons for building a website http://www.techsoup.org/npostory_bytopic.cfm?topicid=13 (successful stories) http://www.techsoup.org/articlepage.cfm?topicid=13&topic=Web%20Building&articleid=234 (Why the web?)

Page 7 of 13 12/2/2001

http://www.techsoup.org/articlepage.cfm?topicid=13&topic=Web%20Building&articleid=232 (Planning your site) Successful examples of other non-profit organizations and article about what website can do can motivate the organization to continue to work on its website. 4. Outsource for building website http://www.techsoup.org/resourcelist.cfm?resourcelistid=7&showall=1 If the organization chooses to build the website by other people. Here is the listing of web developers who develop websites for non-profit organizations. Additional Recommendations Backup files Currently, each staff member store files in his/her own computer. No extra copies are made for backup. Thus, if computer crashes, those files might be lost forever. The outcome is there will be a backup for every staff members files. If his/her computer crashes and files are lost, he/she can always recover his/her files from the backup. The organization has lots of important documents and information stored in the computers. It will have a great impact to the organization if any computers, which store that important information, are down or damaged. Moreover, those important information might not be recovered after the computer crashes. Thus, it is important to backup those documents and information so that they can be recovered after computer crashes. With the help of the backup system, staff files can be restored even after computer crashes. Thus, proposals, which help to rise funding for the organization will not be lost. Therefore, the backup system helps the organization to provide a stable and reliable environment to serve and to revitalize the West End community. There are many different ways to backup files. Considering the organization size and budget, the following backup plan is recommended. 1. Use the computer in the back office as server Since there are eight computers open to public in the computer lab, the ninth computer in the back office on the first floor is seldom used. Thus, it can serve as a server for backing up files for the staff. This method can save the cost of purchasing new hardware such as a new hard drive or a new tape to do backup. 2. Each staff member creates a password protected shared folder in the back office computer for his/her own backup One advantage to use shared folder is that all the computers in the organization are networked already, therefore, no extra work is needed to set up the network. Moreover, the staff can extend the idea and set up common folder with a password shared by all staff so that some shared files can be passed around by the common folder. For the individual backup folders, no one can gain access except the owner, which provide certain amount of privacy as well.

Page 8 of 13 12/2/2001

3. Organize all the files, which need to be backup under one single folder In order to make backup easier, each staff member is encouraged to store all his/her documents into one single folder, which can have many subfolders. For example, a standard way is to have a My Document folder under which subfolders such as Proposal, Personal, Download, My Picture, My Music are created. Files can be organized nicely with the help of subfolders. Thus, each time, only the My Document folder needs to be backup. 4. Backup that folder everyday before leaving work by drag and drop the folder into the shared folder Each time right before leaving work, each staff member can just open up the backup folder remotely in their computer and drag his/her My Document folder to the backup folder. The My Document folder will be copied to the backup folder and therefore, is backed up to the computer in the back office on the first floor. Additional Resources: 1. How to set up and access shared folders http://www.zedex.net/peer.htm Create the back up shared folders on the computer in the back office is the first step of this backup. 2. Guideline to choose backup methods http://www.techsoup.org/articlepage.cfm?topicid=1&ArticleId=229 This article gives a variety of options to perform backup in different offices. This give the organization an idea of what is available to them.

Page 9 of 13 12/2/2001

Appendix A Staff computer detail
Number Model Compaq Presario 7360s Compaq Presario Processor AMS K6 Generic Celeron RAM 56 MB 88 MB HD 9.5 GB 12.6 GB Peripherals 32x CD-ROM, 3 Floppy Drive 40x CD-ROM, 4x CD-RW, 3 Floppy Drive, External Zip Drive, HP 5200C Scanner

Page 10 of 13 12/2/2001

Appendix B Computer lab computer detail
Numbe r 1 Model Compaq deskpro Compaq Deskpro Compaq Deskpro Compaq Deskpro Compaq Deskpro Processor Pentium I Pentium I Pentium I Pentium I Pentium I RAM 32 MB 64 MB 32 MB 48 MB 32 MB HD 2047 MB 2047 MB 1545 MB 1545 MB 2044 MB Peripherals 3 Floppy Drive 3 Floppy Drive 3 Floppy Drive Hitachi CDR-Floppy Drive 3 Floppy Drive

Page 11 of 13 12/2/2001

Appendix C-1 Recommendation for Web Technology
More staff meetings are needed to determine at least the following issues: 1. Audience of the website Define the audience of the website will help to determine the web content. Potential audience can be students, fund granters, current clients and potential clients. 2. Web content According to above audience, it is important to have organization information for students such as history of the organization, for fund granters, current clients and potential clients such as services provided by the organization. Of course, audience is not limited to the above suggestion. Some contents might be included in their website such as: Organization Information Mission Statement o o Programs & Services provided by the organization o Facility of the organization o Staff o Office hour, address, telephone number, email address etc. o Statistics such as number of people served, number of businesses being brought into the neighborhood Latest news of the organization, current projects, highlight of the month etc. Employment page o Resume workshop o Links to career sites o Job postings o Resume postings Real Estate o Photos or videos of properties Business o Listing of business in West End Community o Business environment in West End Tour of West End o Facilities in the neighborhood such as number of schools, libraries etc. o Neighbor interviews Links to other useful website such as Pittsburgh website 3. System to approve web content Since the website is viewed by the public, it is very important for the management team to agree on the web content before it is published. Therefore, a system of approving web content is very important. A required signature from the management team for approving a web page before published maybe appropriate for such purpose.

Page 12 of 13 12/2/2001

Appendix C-2
4. Methods of building the website Built by Ms. Rutkowski who has the basic knowledge of creating a web page: This is the most cost saving method, and it makes update web contents easy because Ms. Rutkowski works in the organization as well. However, Ms. Rutkowski is not a professional web developer, it might take time for her to learn the skill to build a professional and dynamical website. Built by professional consulting company: This makes sure a professional and dynamical website can be built. However, this is very costly and the organization might not be able to update the website as frequent. Build by part time hire such as high school or college students: Hiring a part-time student who has previous experience of building website can ensure the quality of website. A student can work part-time to maintain and update the website as needed, and the cost of hiring a student should be lower than hiring a profession consulting company. 5. Set up a deadline for the project and a timeline for building the website

Page 13 of 13 12/2/2001

doc1

Performance Measurement of Network Application
A Thesis Presented to the Faculty of the California Polytechnic State University San Luis Obispo
In Partial Fulfillment of the Requirement of the Degree Master of Science in Computer Science

By Siu Ming Lo June 1999

AUTHORIZATION FOR REPRODUCTION OF MASTERS THESIS
I grant permission for the reproduction of this thesis in its entirety or any of its parts, without further authorization from me.
__________________________________ Signature
__________________________________ Date

APPROVAL PAGE

TITLE:
Performance Measurement of Network Application Siu Ming Lo June 10, 1999

AUTHOR:

DATE SUBMITTED:
Dr. Mei-Ling Liu______________ Advisor or Committee Chair
____________________________ Signature
Dr. Len Myers________________ Committee Member
Dr. Patrick Wheatley___________ Committee Member

Abstract

Performance Measurement of Network Application Siu Ming Lo June 1999
During the past decade, the computer world has been undergoing a dramatic change in many aspects. In the past, personal computer was known as a desktop machine that functioned alone. All the resources, data, and computing power were within the same machine. However, in the Internet world today, more and more computers are connected together through the network to share data and resources or parallel the computation. Networking Operation System (NOS) is the key technology to make this new computing paradigm possible. One of the popular NOS is Windows NT 4.0, which was developed by Microsoft Corporation. Meanwhile, many of networking software is developed to take advantage of this emerging paradigm of computing. Efficient implementation of the networking software is crucial to be competitive in the market. This study will investigate an instrumentation technique which utilizes the Windows NT Performance Counters to evaluate the performance of the networking software. The three major performance metrics in which we are interested are CPU utilization, latency and throughput.
Keywords Performance measurement, Performance Evaluation, Network application, File Transfer Protocol, Windows NT Performance Counters, Performance Data Helper (PDH) library

Acknowledgments

I would like to express my sincere gratitude to my advisor, Dr. Mei-Ling Liu, for her guidance, advice, motivation, assistance and patience throughout my course of preparing this thesis. Without her help, I doubt I would be able to finish my thesis before leaving Cal Poly. I would also like to thank my thesis committee members, Dr. Len Myers and Dr. Patrick Wheatley, for providing valuable inputs to improve this thesis work. Last, but not least, I would like to thank our sponsor, 3com, for all their support.

Table of Contents

Pages List of Figures List of Tables Chapter 1: Introduction and Background of the Project 1.1 Brief Introduction of the Project 1.2 Background of the Project 1.3 Outline of the Thesis Chapter 2: Introduction to Network Performance Measurement 2.1 The Initiative of Network Performance Evaluation 2.2 Some Common Metrics to evaluate Network Performance Chapter 3: Techniques and Tools for Performance Measurement 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 The Proper Procedure of Evaluating Network Performance Two Major Categories of Network Performance Benchmark Tools Transport-layer benchmarks Application-layer benchmarks Introduction to Some Common Benchmark Tools Hewlett Packard Netperf Novell Perform3 Windows NT Performance Monitor (PERFMON) 3 viii xii 1
Chapter 4: Performance Monitoring on Windows NT 4.1 4.1.1 4.1.2 4.2 4.2.1 4.2.2 4.2.2.1 4.2.2.2 Measuring Performance by Using Windows NT Performance Counters Introduction to Windows NT Performance Counters The Process of accessing Windows NT Performance Counters Performance Data Helper (PDH) Library Introduction to Performance Data Helper Library PDH Library Overview Terminology PDH Functions and Structures
Chapter 5: Overview of File Transfer Protocol (FTP) Chapter 6: Testbed Environment Setup and Configuration 6.1 Hardware description of computer systems on the testbed vi
6.2 Software description of computer systems on the testbed 6.3 FTP Sever Installation and Configuration Chapter 7: Instrumentation and Overhead Analysis 7.1 7.2 7.3 7.3.1 7.3.2 7.3.3 7.3.3.1 7.3.3.2 7.3.3.3 7.4 7.5 7.6 7.7 Overview of Instrumentation Instrumentation Points Selection Two Instrumentation Approaches Commonplaces Between Two Instrumentation Approaches In-line Instrumentation Monitoring Process Instrumentation Communication Data Structure Modification of the Instrumentation Files Modification of the PDHTest Software Overhead Estimation and Analysis of the Two Instrumentation Methods Performance Metrics and Their Limitation Instrumentation Procedure on WinSock-FTP (graphical-mode FTP) and NcFTP (text-mode FTP) Limitations of Using the In-line Instrumentation Method and Difficulties Encountered in the Instrumentation Process 73 35

22 3.3.1 Hewlett Packard Netperf Netperf [13] is a benchmark that can be used to measure various aspects of networking performance. Its primary focus is on bulk data transfer (throughput) and request/response (response time) performance using either TCP or UDP and the Berkeley Sockets interface. There are optional tests available to measure the performance of DLPI, Unix Domain Sockets, the Fore ATM API and the HP HiPPI LLA interface.
Netperf [13] is designed around the basic client-server model. There are two executables - netperf and netserver. Generally you will only execute the netperf program - the netserver program will be invoked by the other system's inetd.
When you execute netperf, the first thing that will happen is the establishment of a control connection to the remote system. This connection will be used to pass test configuration information and results to and from the remote system. Regardless of the type of test being run, the control connection will be a TCP connection using BSD sockets. Once the control connection is up and the configuration information has been passed, a separate connection will be opened for the measurement itself using the APIs and protocols appropriate for the test. The test will be performed, and the results will be displayed.
Netperf can also be used to measure CPU utilization except this is a difficult metric to measure accurately. By default, Netperf uses a technique, which are tight loops consuming any CPU cycles left over by the networking, then calculates the difference
23 between the total number of CPU cycles and the CPU cycles consumed by the loops. The CPU utilization is presented as a percentage of the total number of CPU cycles.
3.3.2 Novell Perform3 Perform3 [7], a benchmark developed by Novell, is a client/server benchmark. It measures the network adapter throughput produced by memory-to-memory data transfers from a file server to the participating client workstation. It measures throughput by reading block size files from the servers cache. It uses the file servers disk caching as this ensures that there is no server disk activity during the read. The delay in the server disks read and write would otherwise hinder performance measurements. This also enables the network adapter cards to perform at their peak. Perform3 reads the cached file for a specified number of seconds and then calculates the throughput in kilobytes per second.
Perform3 can be used to measure individual workstations or a group of workstations. If more than one workstation is used, Perform3 is initiated on one workstation, which is selected as the master workstation. After the master workstation is established then Perform3 is run on all the other workstations under test. The start of each test is coordinated through the master workstation so that all the workstation tests start at the same time. Perform3 collects all test data at the end of the run and generates an aggregate number in kilobytes per second for the entire test.

4.1 Measuring Performance by Using Windows NT Performance Counters 4.1.1 Introduction to Windows NT Performance Counters The performance data that the Windows NT operating system provides contains information for a variable number of object types, instances per object, and counters per object type. Detailed descriptions of these terminologies will be given in the section 4.2.2.1. The counters are used to measure various aspects of performance. For example, the Process object includes the Handle Count counter to measure the number of handles open by the process. An instance is a unique copy of a particular object type, though not
27 all object types support multiple instances. For example, the System object has no instances since there is only one System. On the other hand, the Process object supports multiple instances because Windows NT supports multiple processes.
In order for a program to utilize the performance features of the Windows NT operating system, the use of the Registry functions is necessary. The Registry functions retrieve groups of data from the HKEY_PERFORMANCE_DATA key that contains the performance information. The blob of data is formatted according to specifications that are documented in the Platform SDK (Software Development Kit)[2]. Section 18.4 of The Windows NT Device Driver Book, Art Baker [4], also has a detail description on the overall structure of performance data such as PERF_DATA_BLOCK, PERF_OBJECT_TYPE, PERF_COUNTER_DEFINITION, PERF_COUNER_BLOCK, and PERF_INSTANCE_DEFINITION structures. We must also be aware of how to perform the calculations on this raw data in order to get the information we would expect from a counter. There are around 30 different types of counters that can be in the performance data, so there are 30 different ways to calculate the information. (Technically there are fewer, since some of the counter types share the same calculation method.)
4.1.2 The Process of accessing Windows NT Performance Counters Performance information [4] (performance counter -- data about a given performance object) for Windows NT is not stored in the Registry in the same way that hardware or software configuration data is. Rather, the Win32 Registry function calls gather
28 performance data at the time someone asks for it, which could be triggered by a PDH (Performance Data Helper) library function call. The following diagram shows all the components behind the scene, which demonstrates how Windows NT Performance Counters can be accessed by PDH library functions
PDH Library Function Call

Win32 Registry API

Data Collection DLL

File Mapping Object

Device Control

User-mode Driver

Kernel-mode Driver
Figure 2 [4] Windows NT performance monitoring components interaction

What the PDH Library does is to package the data in a form that does not require any traversal at all. As a matter of fact, the library also provides a nice dialog box that allows the user to select counters interactively. You can use the library without the dialog box simply by specifying counters as strings. For instance, the counter for a Process object's Handle Count is specified as a string that looks like this: \Process(MyApp)\HandleCount. This simplification is at the heart of the PDH Library. It is not necessary to know anything about the native performance data in order to easily find the information we seek.
31 4.2.2 PDH Library Overview 4.2.2.1 Terminology Objects/Object Type An Object Type is defined as a measurable entity. The term object is also used to refer to a measurable entity. The list of objects on our system includes Browser, Cache, ICMP, IP, Logical Disk, Memory, NBT Connection, Network Interface, NWLink IPX, NWLink NetBIOS, NWLink SPX, Objects, Paging File, Physical Disk, Process, Processor, Redirector, Server, Server Work Queues, System, TCP, Telephony, Thread, and UDP.
Each of these objects is associated with a different set of counters. For instance, the Physical Disk object has counters that measure disk performance while the Memory object has counters that measure memory performance.
Counter A counter is unit of performance. It provides data related to a single item of the system. Some examples of counters are Handle Count and Thread Count, both associated with a Process object. Another counter is the % Processor Time, which measures the amount of processor time an object utilizes. This counter is actually used in two different Object types, a Process object and a Thread object. In a Process object, the % Processor Time counter measures the entire process, while % Processor Time for a Thread object measures only a specific thread.
32 Instance An instance is an instantiation of a particular object, such as a specific process or thread. All instances of a given Object have the same set of counters. For example, the Process object has an instance for each of the running processes. The Thread object has an instance for each thread of each process in the system. As mentioned earlier, some objects, like the Memory object don't have instances at all since there is always only one of them in the system. Some objects may have zero instances, which means that there are no current instantiations of the object. This can occur, for instance, in the Telephony object if Telephony has never been configured.

BYTE *lpSharedData = &sharedData; char *lpString = nString; while (1) { WaitForSingleObject(hEvent, 1000); retValue = ResetEvent(hEvent); lpSharedData = &sharedData; lpSharedData += sizeof(BOOL); for(i=0; i<sizeof(int); i++) { (BYTE)*lpSharedData = lpMapView[sizeof(BOOL)+i]; (BYTE)lpSharedData++; } if(sharedData.nextProcess == FTP_App) break; retValue = SetEvent(hEvent); } //********************** // Copy the location and time stamp to shared memory here //********************** sharedData.doneFlag = FALSE; sharedData.nextProcess = PDH_App; for(i=0; i<strlen(nString); i++) { sharedData.location[i] = *lpString; lpString++; } sharedData.location[i] = '\0'; lpSharedData = &sharedData; for(i=0; i<sizeof(sharedData); i++) { lpMapView[i] = (BYTE)*lpSharedData; (BYTE)lpSharedData++; } retValue = SetEvent(hEvent); return fRes; }
PDH_GetData is a function that updates the label of the instrumentation point and signals the PDHTest to collect performance data. At the beginning, it enters an infinite loop. (1) Inside that loop, it waits for the Event, which is accessToken, to be set by some processes using a WinNT4 library function, WaitForSingleObject. (2) Whenever it responds to the Event, it resets the Event immediately by calling ResetEvent, another WinNT4 library function. What it
67 does is to mark that the Event is not available anymore. (3) Then it copies the information to the communication data structure and checks the nextProcess field to determine whether this process is supposed to run. If it is, it exits the infinite loop and continues. Otherwise, it sets the Event, stays in the loop and waits for the Event again. (4) After exiting the loop, it sets the doneFlag field of the data structure to be false, assigns the nextProcess field with PDH_APP and copies the label of the instrumentation point to the location field. (5) Finally, it copies the information of the data structure back to the shared memory and sets the Event. Then it finishes the process of updating PDHTest the current label of the instrumentation point.
BOOL PDH_End(char* nString) { BOOL fRes = TRUE; int i; BYTE *lpSharedData = &sharedData; char *lpString = nString;
// this while-loop check to make sure who's turn. If not, release the control while(1) { WaitForSingleObject(hEvent, 1000); retValue = ResetEvent(hEvent); lpSharedData = &sharedData; lpSharedData += sizeof(BOOL); for(i=0; i<sizeof(int); i++) { (BYTE)*lpSharedData = lpMapView[sizeof(BOOL)+i]; (BYTE)lpSharedData++; } if(sharedData.nextProcess == FTP_App) break; retValue = SetEvent(hEvent); //** might put delay here ** }

//**********************

// Copy the location and time stamp to shared memory here //********************** // Copy back the new stuff into the shared memory sharedData.doneFlag = TRUE; sharedData.nextProcess = PDH_App; for(i=0; i<strlen(nString); i++) { sharedData.location[i] = *lpString; lpString++; } sharedData.location[i] = '\0'; lpSharedData = &sharedData; for(i=0; i<sizeof(sharedData); i++) { lpMapView[i] = (BYTE)*lpSharedData; (BYTE)lpSharedData++; } retValue = SetEvent(hEvent); // this while-loop check to make sure who's turn. If not, release the control while(1) { WaitForSingleObject(hEvent, 1000); retValue = ResetEvent(hEvent); lpSharedData = &sharedData; lpSharedData += sizeof(BOOL); for(i=0; i<sizeof(int); i++) { (BYTE)*lpSharedData = lpMapView[sizeof(BOOL)+i]; (BYTE)lpSharedData++; } if(sharedData.nextProcess == FTP_App) break; retValue = SetEvent(hEvent); }

UnmapViewOfFile(lpMapView); CloseHandle(hFileMapObj); return fRes; }
PDH_End is a clean-up function. (1) First of all, it enters the infinite loop as PDH_GetData function does. It keeps checking until it has permission to run. (2) After exiting the loop, it sets the doneFlag field to be true to notify PDHTest of the end of the data collection process, assigns the nextProcess field with PDH_APP and copies the label of the instrumentation point to the location field.
69 Then it copies back the information to the shared memory and sets the Event. This signifies to the PDHTest to end the data collection and start its own clean-up procedure. (3) Then it enters an infinite loop again. It waits for PDHTest to finish the above tasks and pass the control back. (4) Once the control is back, it finally removes its view from the shared memory and de-allocates it.
7.3.3.3 Modification on PDHTest Software Also, some modifications need to be made on PDHTest software so that it can synchronously communicate with the instrumented WinSock-FTP application. Most of the changes are made in a function called AutoStart. Originally, there is only a single line of code that requests performance data to be collected once per second. We have changed that to collect data at the instrumentation points. We substituted the original code with our code. (1) Similar to PDH_Start at the beginning, it calls a WinNT4 library function, OpenEvent, and uses the same name, which is accessToken, as argument. By doing this, both modified PDHTest and instrumented WinSock-FTP use the same Event object to synchronize themselves. (2) Then it calls another WinNT4 library function, OpenFileMapping, to open up the same section of shared memory allocated by the instrumented WinSock-FTP previously. It is accomplished by providing the same name, which is sMemory, as the argument to the function. (3) After that, another WinNT4 library function, MapViewOfFile, is called to map a view of the shared memory into the address space of the calling process. Thereafter, similar to PDH_GetData, it enters the double infinite loops. (4) The function of the inner infinite loop is to continuously check whether this process, modified PDHTest, should run before it continues. (5) After exiting
70 the inner loop, it copies all the information from the shared memory to the communication data structure and then invokes the function collectData, which we defined, to collect the performance data and stores in the temporary data structure. (6) Then it checks the doneFlag field of the communication data structure to determine whether it is set true. If it is, it exits the outer infinite loop. (7) Then it prints all the performance information previously stored in the array of temporary data structure to a text file. Thereafter, it unmaps a mapped view of the shared memory and then closes the handle to the shared memory and finally closes the handle to the text file. (8) Otherwise, it stays inside the loop, assigns the nextProcess field with FTP_App and set the Event. Then it repeats the same routine by going back into the inner infinite loop and waiting for permission to run.

91 time, about 0.17 second. This can be explained by the need to transmit authentication information through the newly-established control connection to the remote host. A total of approximately 0.2 second is spent by the rest of the functions for setting up a control connection. In terms of CPU usage, these functions consume next to nothing as they require no service from the NT operating system. After the control connection was set up, a CPU utilization spur, which is short by definition, occurs when the function, DoDirList, is called. Since the WinSock-FTP is a graphical-user-interface application, it automatically displays the list of remote files for user selection once the control connection has been established. In order to display the list of remote files, the WinSockFTP application needs to establish a data connection to the remote host and retrieve the name list of the remote files to the local computer. These operations require a lot of data transfer and processing in a short period of time. Therefore, they cause a sudden and significant increase in CPU utilization. As shown in the graph, the CPU usage jumped to 100 percent during the retrieval of the name list of the remote files. After this CPUintensive operation has finished, the CPU usage gradually declines back to the original level.
CPU utilization profile of WinSock-FTP (hotspot C, file-sending operation)
120 End_accept Begin_recvthefile 100 Begin_accept Begin_RetrieveFile DoDirList 80 GetFTPListenSocket
60 End_recvthefile 40 OnCmdLocalToRemote Begin_SendFile GetFTPListenSocket Begin_accept 20 End_SendFile End_RetrieveFile
End_sendthefile End_accept Begin_sendthefile

0 43.1

Figure 19 A detailed view of hotspot "C" (CPU utilization profile of WinSock-FTP application in the file-sending operation)
Figure 19 shows the detailed view of hotspot C. First of all, it shows that a small number of functions are called by the WinSock-FTP application to set up a data connection for the purpose of file sending. From the graph, we know that the time of establishing the data connection is fairly short, which is about 0.01 second. Also, it takes about 0.15 second for sending a file of 100 kilobytes. The relationship between the size of the sending files and their corresponding latency is presented later in this chapter. The sending and receiving of a file are two major operations that consume a large amount of CPU time. There is a large amount of data copying (data-touching operation) [11] involved during this process. When only a small file is sent, as this case, the sending operation only occupies about 5 percent of the CPU time. After the operation comes
93 another huge spur. The pattern of this spur is very similar to the previous one. This spur comes about as a result of another file name lookup operation. Since the name of the file to be sent might not exist in the existing remote file list, the WinSock-FTP application may need to retrieve the name list of the remote files from the remote computer once again to update the local name list of the remote files.

CPU utilization profile of WinSock-FTP (hotspot B, file-receiving operation)
100 Begin_accept 90 GetFTPListenSocket 80 Begin_RetrieveFile 70 End_recvthefile End_accept
DoDirList 60 getprotobyname 50 connect_socket 40 End_connectsock 30 End_connectTCP 20 Begin_getsockname 10 End_getsockname 39.2 39.4 39.6 39.Begin_sendname&pwd End_sendname&pwd End_DoConnect

Begin_recvthefile

End_RetrieveFile 40.2 40.4
Figure 22 A detailed view of hotspot "B" (CPU utilization profile of the WinSock-FTP application in the file-receiving operation)
Figure 22 shows the detailed view of hotspot B. Generally speaking, it is similar to the corresponding graph of the file-sending operation. However, they are different in a number of places. First of all, the execution time between the two instrumentation points, End_getsockname and Begin_sendname&pwd, is longer. In addition, the CPU usage of retrieving the name list of the remote files is only 90 percent compared to 100 percent of CPU usage for the file-sending operation. Both the file-sending and the file-receiving operations initiate the same call to establish the control connection and retrieve the name list of the remote files; therefore, we believe that the difference is due to the averaging of total number of data.
CPU utilization profile of WinSock-FTP (hotspot C, file-receiving operation)

14 End_RetrieveFile 12

End_recvthefile OnCmdRemoteToLocal
8 Begin_RetrieveFile Begin_accept 6
Begin_recvthefile 4 End_accept 2 GetFTPListenSocket

0 42.24

Figure 23 A detailed view of hotspot "C" (CPU utilization profile of the WinSock-FTP application in the file-receiving operation)
Figure 23 shows the detailed view of hotspot C. Since it is not necessary for the application to retrieve the name list of the remote files again after receiving a file from the remote host, the graph only shows functions that establish the data connection to retrieve a remote file. The pattern of the graph is very similar to the corresponding graph of the file-sending operation. It takes about 0.16 second for retrieving a file of 100 kilobytes compared to 0.15 second for sending a file of the same size. Also the CPU utilization increases about 4 percent after receiving the 100 bytes file.
8.2 CPU Utilization Profile of the NcFTP Application 8.2.1 CPU Utilization Profile of the File-Sending Operation The following diagrams show the relationship of both latency and throughput with respect to the size of file being sent in the file-sending operation.
CPU utilization profile of NcFTP (Sending a 4000kb file)
100 Time spent by user on typing for connecting to remote host Time spent by user on typing for sending a local file Time spent on file transfer Time spent by user on typing Quit command

3 CloseDataConnection 2

0 7.252
Figure 33 A detailed view of hotspot "D" (CPU utilization profile of the NcFTP application in the file-receiving operation)
Figure 33 shows the detailed view of hotspot D. This figure shows the functions that set up a data connection for retrieving the file. Their CPU usage is in the range of 4 to 8 percent. It is about 3 percent higher than those of the file-sending operation. The higher CPU processing time is due to the fact that the implementation of the receiving side is more complex than that of the sending side in the Windows NT operation system. It involves buffering for sequencing the received packets before the data is sent up to the application.
CPU utilization profile of NcFTP (hotspot E, file-receiving operation)
70 ExecCommandLine 60 CloseControlConnection 50 Exit QuitCmd DoClose

End_Main 40

10 DoQuit CloseDataConnection 0 14.226

14.228

14.232

14.234

14.236

14.238

14.242

14.244

14.246
Figure 34 A detailed view of hotspot "E" (CPU utilization profile of the NcFTP application in the file-receiving operation)
Figure 34 shows the detailed view of hotspot E. This diagram shows the CPU utilization of the Quit procedure of the file-receiving operation. It indicates the Quit procedure takes about 55 percent of CPU time to deallocate the resources. It is about 25 percent higher than the same procedure executed by the file-sending operation. Also, we notice that the CPU usage jumps to 55 percent when the application is closed.
8.3 Latency and Throughput of the WinSock-FTP Application 8.3.1 Latency and Throughput of the File-Sending Operation The following diagrams show the relationship of both latency and throughput with respect to the size of file being sent in the file-sending operation.
Relationship between number of bytes sent and time taken of a GUI FTP application during file transfer (small scale)
Time taken between start and return of Send function (microsecond)

0.1.2.3.4.5 Number of bytes sent (kilobyte)
Figure 35 The latency of the WinSock-FTP application for sending file in the range of 100 to 4000 bytes
Figure 35 shows the relationship between the time duration of sending a file and the size of the file being sent in the range of 100 to 4000 bytes. As we expect, the trend of the graph indicates that the latency increases as the size of file increases. However, the latency increases in a stepwise format as the file size increases. Each step spans about 500 bytes. In other words, the latency only increases slightly as the file size increases up to 500 bytes. Then the latency increases significantly when the file size exceeds 500 bytes. After that, the latency increases slightly again until the file size reaches 1000 bytes. This pattern repeats itself for every 500 bytes increment. Such a circumstance can be explained as follows. When a network application sends data to or received data from the network, the information is exchanged in the form of segment through the transport layer
111 protocol, TCP. A segment is composed of a fixed 20-byte header followed by zero or more data bytes. The size of segment is determined by TCP but is restricted by two factors. First, each segment, including the TCP header, must fit in the 65,535-byte IP payload. Second, each network has a maximum transfer unit (MTU), and each segment must fit in the MTU. In this experiment, we run our test on two NT workstations that are connected by 100 Mbps Ethernet. The maximum transmission unit (MTU) of Ethernet is 1500 bytes. It means that the upper bound on segment size is 1500 bytes in this case. If the data size is less than 1500 bytes, it can all fit in one segment and passes through the network without being fragmented. Therefore, there is no apparent delay for the increase of data size. However, if the data size is more than 1500 bytes, the data need to be fragmented to fit in the 1500-byte segment and also requires at least another segment to transmit the rest of data. Each time the data is fragmented to fit into the smaller segment size, it introduces a significant amount of delay. Due to such a unique pattern shown in our graph, we believe that it somehow relates to the fragmentation mechanism in the network layer of the TCP/IP stack.

Figure 40 The latency of the WinSock-FTP application for receiving file in the range of 1000 to 2000 kilobytes
117 Figure 40 shows the relationship between the time duration of sending a file and the size of the file being received in the range of 100 to 2000 kilobytes. When we look at the relationship of latency and the size of the receiving file in a bigger picture, our result indicates that the curve grows linearly as the result shown in Figure YYY for the file sending. Comparing both results, it seems that the latency curves of both the file-sending and the file-receiving have the same growing rate with respect to the size of the file. However, the time of the file receiving is always 15,000 microseconds less than the time of the file sending for each corresponding file size. We believe that such a difference is caused by the different implementation of the sending and the receiving functions. In the WinSock-FTP application, the function SendMass is responsible for sending a local file and the function ReadMass is responsible for receiving a remote file. However, SendMass in terms calls another function SendStr to perform the actual file sending; whereas, ReadMass performs the actual file receiving itself. Each time the SendStr function is called, an extra time delay (overhead) is introduced to our measurement. Therefore, our result shows this constant difference.
1000 Throughput (kilobyte/sec)
0.1.2.3.4.5 Number of bytes received (kilobyte)
Figure 41 The throughput of the WinSock-FTP application for receiving file in the range of 100 to 4000 bytes
Figure 41 shows the relationship between throughput and the size of file being received in the range of 100 to 4000 bytes. As mentioned earlier, the throughput value is calculated by dividing the file size with its corresponding latency of file transfer. It is expected that we have a sort of graph which looks like the reciprocal of the latency curve. From the graph, it indicates that there is only extremely small throughput for the file size in the range of 100 to 1400 bytes and 3000 to 3600 bytes. Conversely, there is a reasonable amount of throughput when the receiving file has a size in a range of 1500 to 2900 bytes and 3700 to 4000 bytes. Also, we can see that the throughput increases as the file size increases in the specified range.
Throughput (kilobyte/sec)
Figure 42 The throughput of the WinSock-FTP application for receiving file in the range of 100 to 2000 kilobytes

124 8.4.2 Latency and Throughput of the Receiving Operation
Relationship between number of bytes received and time taken of NcFTP application during file transfer (small scale)

250000

Time taken between beginning and end of file transfer (microsecond)

150000

Figure 47 The latency of the NcFTP application for receiving file in the range of 100 to 4000 bytes
Figure 47 shows the relationship between the time duration (latency) of receiving a file and the size of the file being received in the range of 100 to 4000 bytes. From the graph, it indicates that we have the same unusual pattern as we measure the latency of the file receiving introduced by the WinSock-FTP application. Such a common pattern suggests that the cause come from the NT operating system rather than either one of the specific FTP implementations or instrumentation and measurement errors. Finally, we determine that the cause is due to the late return of the receiving socket function, recv for the WinSock-FTP application and read for the NcFTP application. Usually, this function is located inside an infinite loop that continuously reads data from the data connection until
125 the end of data stream. Once all the data has been read, the operating system returns a value of 0 or less as a delimiter to indicate the end of data. The function constantly checks for its return value to look for the delimiter. Once found, it exits the infinite loop. However, we find out that the receiving function takes a long time to return for certain file sizes when the end of data stream has been reached. It seems that there are some algorithms inside the NT operating system to determine whether it should return immediately if no more data is coming.
Relationship between number of bytes received and time taken of NcFTP application during file transfer (large scale)
7000000 y = 1546.1x - 26169 Time taken between beginning and end of file transfer (microsecond) 6000000

5000000

4000000
4500 Number of bytes received (kilobyte)
Figure 48 The latency of the NcFTP application for receiving file in the range of 100 to 4000 kilobytes
Figure 48 shows the relationship between the time duration of receiving a file and the size of the file being received in the range of 100 to 4000 kilobytes. When we look at the

 

Tags

DV-S525 Gpsmap 210 Kodak W820 TH-42PZ70EA SGH-F480G Cluster TD-W8900G PC-1460 Ultra Zoom Vision 3D Photosnap 9 SPH-W3600 SV-MP805V GA-770T-d3L BH-503 Yamaha P-80 LS-K1860CL R-657 UXN1W-ux-n1 HT762TZ-a2 VPL-PS10 FC8264 Dyson DC01 Tourer SPA921 NP-R40 IC-R100 RA500 Micro F5M41 GSP100 P5QPL-AM DSP-A492 KAC-7404 Opus 69 500 LTD 5552 BL RIO 30 GR-DVP7 Warriors 3 CDM-7872RB Tablet Pagepro 1300 WM1812CW H25C39Y Lowrance X97 Ericsson W200 VLF-810 UR-smart Yamaha DX9 SC-8820 EXP4110 VGN-TX650p-B NAD T524 Veriton L460 Serenata SGH-F110 Controller Hwps12UG PT-AX100 Avtl 129 E-MU E4K BHM-612A F88020VI 650 BS CD1451B Phks 1450 KDL-37P5600 CQ-MR707N DC C25 ECM21 Sedan 2001 CDA-9851 Zoom 1204 Inspiron 1100 MP-370SD LN40B550k1F XL400 DVP3020K 55 P-870M-i V2 DVD-VR325 42LG5010 Review SWF-P12 Photo DVD Game HR2450F Reloaded SL-S230 RSH7unbp 1AL-CH Showcase 2011 VP-DX100 GDA-600 VMD10 Fishfinder Euro-thermostat 2410-304S DCD-685 SP200 MF4350D

 

manuel d'instructions, Guide de l'utilisateur | Manual de instrucciones, Instrucciones de uso | Bedienungsanleitung, Bedienungsanleitung | Manual de Instruções, guia do usuário | инструкция | návod na použitie, Užívateľská príručka, návod k použití | bruksanvisningen | instrukcja, podręcznik użytkownika | kullanım kılavuzu, Kullanım | kézikönyv, használati útmutató | manuale di istruzioni, istruzioni d'uso | handleiding, gebruikershandleiding

 

Sitemap

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101