This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
203.30.5.14.5 www.acr-news.org - [01/Jun/l999:03:0921 -06001 “GET /Calls/O WOM html HTTP/I.0“ KDWUD process has three main tasks: Preprocessing, Pattern Discovery, and Pattern Analysis. Preprocessing has a fundamental role in KDWUD applications. it comprises of four different tasks: i) Data cleaning; ii) Identification & reconstruction of user’s sessions; iii) The retrieving of information about page content and structure; and iv) Data formatting. Pattern Dicovery Techniques includes Association rules, sequential patterns, and Clustering & Classification.
181
Association rules are used to find associations among web pages that frequently appear together in user’s sessions. Typical result has the form A,html, B.html + Chtmlwhich states that if a user has visited page A . htmland B.html, it is very likely that, in the same session, the same user has also visited page Chtml. Sequential Patterns are used to discover frequent subsequences among large amount of sequential data. Typical sequential pattern has the form [27]: The 70% of the users who first visited A.html and then visited B.html ajlerwards have also accessed page Chtml in the same session. Clustering & Classification techniques allow us to develop a profile for clients who access particular server files based on demographic information available on those clients or based on their access patterns.
5
Conclusion and Future Trends
Results of KDWUD can be utilized for: Personalization, System Improvement, Site modification, Business Intelligence, Usage characterization. scommerce, 6 business, and e-education applications. E-commerce companies may use for tracking customer behavior on their web sites as well as to understand and better serve the needs of web based applications. The proposed framework KDWUD seems to work very well for the problems considered. Future research issues in this concern are: Development of Clustering algorithms for grouping log entries into transactions using neural networks and Development of knowledge based intelligent agents to interpret the discovered rules using neural networks.
6
References
As it is not possible to cite all the papers here, Reference includes only the important papers. 1. 0. Etzioni, The world-wide Web: quagmire or gold mine? Communications of the ACM 39 (1 1) (1996) 6 5 4 8 . 2. R. Kosala, H. Blockeel, Web mining research: a survey, SIGKDD: SIGKDD explorations: newsletter of the special interest group (SIG) on knowledge discovery & data mining, ACM 2 (1) (2000) 1-1 5. 3. http://www.w3.org/Daemon/User/Con.g/ (1 995). 4. J. Srivastava, R. Cooley, M. Deshpande, P.-N. Tan, Web usage mining: discovery and applications of usage patterns from web data, SIGKDD Explorations 1 (2) (2000) 12-23. 5. S. Pal, V. Talwar, P. Mitra, Web Mining in soft computing framework: relevance, state of the art and future directions, IEEE Transactions on Neural Networks 13 (5) (2002) 1 163- 1 177. 6. B Mobashen, H Desai, T Luo. “ Discovery of aggregate usage profiles for web personalization”, in proceedings of KDD-2000 workshop on web mining for e commerce, Boston, Aug 2000.
This page intentionally left blank
Innovative Applications for the Developing World
This page intentionally left blank
CREDIT RATING MODEL FOR RURAL BORROWERS SSSATCHIDANANDA,FUMESH B. PANIKAR,PRADEEP [email protected]. in, [email protected] ABSTRACT With the renewed focus of the Reserve Bank of India and Finance Ministry to the provision of Micro-credit in the Rural Sector and growing competition in terms of reach and financial spread, Banks and Financial Institutions have necessarily had to foray into providing Rural Credit. An effective Credit Rating System for the Rural Sector is the order of the day to ensure successful implementation in a risk free manner. This document offers a technology-based approach for such a Rating Model as well as implementation methodology.
Introduction
Improving the quality of rural lending is essential to promote capital formation and growth in the rural areas as well as to ensure the financial viability of bank lending. The risk in rural lending can be mitigated through a robust system of rating of rural individuals. Application of information and communication technology plays a useful role in building such a system. This paper conceptualizes a technology-based approach for rural credit rating. It is claimed that adopting this approach will result in credit quality improvement and benefit both the banks and its rural clientele. The advantage for the banks is that they are able to reduce risk, defaults and consequential losses, while the people can get faster, better quality service, low interest rates through this credit rating system. An institutional benefit is the evolution of a strong decentralized viable credit rating system in rural areas. A viable credit rating system also helps reduce increase of non-performing assets (NPA) for the financial institutions and in the process, ensure increased profitability and better utilization of funds. The credit rating system can be extended to help in customer acquisition and retention activities of the institution as well.. 185
186
Section 1: Need for Rural Credit Rating for Lending Effective credit risk management requires that the risk of each obligor be rated in relation to over all population. The individual ratings are a necessary tool for differentiating the risk of various proposals. The need for credit rating has assumed urgency and importance in recent times. Currently, banks are required to quantify the risks of their credit portfolio, and provide adequate capital to cover such risks in terms of ‘the latest Basel I1 capital requirements. Of course, the compliance with this requirement will be as per the specifications issued by the National Bank supervisors like Reserve Bank of India with respect to India. Increasing competition in financial services forces banks to differentiate between various customers with a view to avoiding adverse selection and moral hazard. If banks grant loans to their customers without quantifying the risks associated with these customers, there is likelihood of taking excess risk or making a bad choice. This situation can be alleviated through utilization of credit rating for informed decision-making and judgment with regard to credit. Since banks are under constant competition, pressure to reduce the spread and charges to keep the business, and therefore it is critical for them to make the right evaluation of the risks, which they are undertaking. What is needed for this purposes is a fairly sophisticated system of assessing the risks, capable of fine shades of differentiation and discrimination. The banking sector in India is becoming increasingly corporatised. The pressure to ensure profitability and adequate returns to the shareholders has to service their capital has become important for survival and growth. With cutthroat competition and reduced margins in the urban sector, banks are looking at diversifying their portfolios and broad-basing them to cover the rural markets. (Refer [I]) This is to ensure better returns as well as allow for more sources for cash flows. Feasibility in implementing a credit rating system allows banks to adopt such a strategy. The use of technology for the rating system will enable greater transparency and objectivity. It will also facilitate better data management and analysis. Further the compliance to the Basel I1 requirements paves way for a rigorous credit rating process both internally and externally. Section 2: Challenges in Rating Rural Customers Professional credit rating agencies both National and International have not entered the rating of the rural clientele in a variegated and developing economy like India. Listed below are some of the factors that have been limiting adoption of credit rating in the rural markets:
187
- Non-availability of data / information in a standard form at regular intervals - Opaqueness of the information about the rural people and economy.
-
The geographical distance and access problems.
- The difficulties for authenticating the information. - Perceived non -viability of such operations, and above all. - The daunting magnitude of such mammoth operations involving 400 to 500 million individuals in a country like India. (Refer [ 11) The standard approach to credit rating therefore is neither relevant nor flexible in the context of developing economies. The challenge, therefore, is to come up with a methodology that is both cost effective and easy to implement, even if such an approach does not achieve the accuracy and consistency of the kind that is possible to achieve in an urban areas, yet it would represent an improvement in the situation with beneficial results. (Refer [2]) Section 3: Proposed Approach
We propose a technology-based approach for the rural credit rating. The essential elements of such an approach are the following: a. Encouraging the evolution of the self-financing, economic -incentive-based credit rating system at the village level. b. Extensive use of technology for creating a common rural information infrastructure. c. Economical, technology- intensive methodology for collection and updating of the data continuously. d. Use of computerized model for deriving a credit rating. The objectives of the above approach are the following: 1. To enable access to self- validated data / information with documentary proof in the digital form to the service- providers at low costs. 2. To provide techniques and tools for evaluation of the credit on an individual basis rather than in a standardized manner. 3. To apply the information and communication technologies appropriately for reducing costs, delays, increasing accuracy, objectivity and removing governance problems. 4. To enable more efficient capital allocation and improve quality of lending. The central idea in our approach is that the basic information I data required for catering to needs of the people, needs to be available in a digital form and it should be always kept current through regular updates, and validated with
188
reference to independent sources and through internal statistical processes. Further, automated credit rating models are to be used to generate credit rating of the village people as and when required by the financing agencies. The innovation of this model is to provide for facilitators in each village who will be acting as an agent of multiple banks for the purpose of providing information in respect of the people in their village. He/She has to be the entrepreneur in the village and his/her compensation is based on his performance in the form of fees / commission. Such a performance-based remuneration will provide economic incentive for efficiency and reliability as compared to the existing formal systems of collection of data that have been time-consuming, costly and not delivering good results. We have identified and used the following parameters as being relevant for Rural Credit Rating:
- personal assets and income - bank payment history
-
credit history
- overdue amounts - outstanding loans
-
credit type (whether it is a fresh credit or new credits taken).
We have further broken down each one of these parameters into a number of factors. For example, the personal background includes data on education, total annual income, allocation history, property history, asset ownership, and bank accounts and external influence. The payment history covers number of installments paid, number of defaults in the past and the period of default and other negative public records. The credit history covers two factors, time periods since the account was open and the time since last activity. In the credit type, we capture total number of accounts and types of accounts of that individual. In the new credit, we want to cover the operations of recently opened accounts as per the recent credit enquiry and whether there has been positive credit after problems in those accounts, if any. The rating system used in this case is the expert- judgment based rating. The purpose of this system is to arrive at a credit score for an individual whom the banks can use evaluate creditworthiness and the interest rate to be charged. The details are given in Annexure A for Sample Scale and Factors. Establishment of Credit rating Agency
The possible approaches for credit rating in rural areas are the following:
189
a. The rural bank branches collect information and prepare the ratings of the borrowers. b. Professional credit rating agencies carry out credit rating studies. c. Establishing a centralized credit rating agency by an act of legislature. d. Decentralized, incentive-based, entrepreneurial technology based approach for credit rating operations. While the banks, in theory, can come up with the credit rating queries and have got the required experience, in actual practice, based on the experience of last five decades in rural lending, they have systemic problems in carrying out this activity, such as the reluctance of the qualified people to work in rural areas and the lack of incentive for performing their work. For instance, despite the regulatory requirement in India that the banks should carry out a survey of all the villages in the area of operation, such village surveys are not yet available in most cases, let alone the question of being current. In many cases, it has not even been possible to collect all information about villages. The question of collecting authentic information about the villages and updating them appears presently an infeasible task for the bank branches. As already described in section 1, the professional agencies may not have the appropriate methodology for doing the credit rating of this magnitude and are unlikely to find it an economically viable proposition even if they come up with an appropriate model, given in the magnitude of the work and the peculiarities of the rural information. A typical response to situations of this kind in the past has been to make a law establishing a new agency to do the task. Unless the operational problems are addressed, any new agency brought into existence will fail to deliver the goods. Typically the Government established agency / Government owned agencies are likely to suffer from systemic problems of inefficiency and operational difficulties. Therefore, we favor an entrepreneur based, decentralized approach. Section 4: Role of Technology
The credit rating system for rural markets will use technology at different levels. Information and communication technology may be used at both operational and computational levels to ensure scientific credit rating. The typical operational cycle consists of the following activities:
-
Collection and collation of information Validation of information with documents Feeding information to the credit rating system
190
-
Providing periodical updates on individual as well as the village Access to credit rating for decision-making as well as market research for new products.
The above processes can be addressed through effective utilization of question~aires and storage of the resultant i n f o ~ a t i o n in a d o c ~ e n t management system. S u ~ p o ~ i ndocuments g can be scanned and the images classified, linked, indexed and stored. A system of generation of infor~ation feed from di~erentsystems to the central repository will ensure sharing of credit history and other key events relating to individuals as well as the village, among financial insti~tions. The computational part of the system will take into account personal and socio-economic factors to establish a credit rating system for a village(s) or rural market. Periodical flow of accurate information and analysis of patterns across villages and over time will be part of the ath he ma tical model. This will be used to ~ne-tunethe credit rating model generation to create a learning system that improves with time. A data-w~ehousingand mining approach ensures that a corrective and self-improving system is in place. The critical success factors of a technology-based system in this case are the following:
191
1. Availability of server and public network on a large distributed scale The system should be up and running throughout the year and accessible from the remotest comers of the country. Access should be possible over Internet domain as well as private networks, to ensure appropriate reach from different geographies. The system should be scalable in terms of the information that it can store and process. A network of redundant servers across geography should be able to ensure availability as well as sharing of processing load. 2. Ability to extend and customize The system should be extensible and able to accommodate newer kinds of inputs as well as additional factors and models for rating. The changing economic scenario and automation of different departments and facilities will ensure availability of newer data for factoring into the credit rating system. 3. Ability to Integrate The rating system should be integrated into numerous other systems to collect input data as well as deliver credit summaries. The system should also be able to integrate to the numerous banking software systems in the market. This can be achieved by providing multiple interfaces using web services, messaging, export-import, digitally signed credit papers, and other innovative ways of accepting requests and publishing credit information. 4. Security Credit rating information needs to be kept secure. While this information is private to the creditor, the agencies and the banks, it is information that can be potentially dangerous in the wrong hands. As the system is open to the Internet domain and as information may be exchanged in online and oMine formats, the data needs to be secured using different techniques. This could include encrypted data, digitally signed and encrypted data that can be accessed only by authorized certificate holders. Typically, the system and processes should be certified for compliance to IS and Security norms. (Refer [3]). 5. Affordability Finally the system should be affordable at the grass roots level. The equipment that is used for data collection as well as for communication should be commonly available technology. This ensures that price as well as maintenance cost of such technology is affordable. Given the progress in technology and falling prices of the hardware and bandwidth, the above solution appears viable and affordable.
192
Section 5: Conclusion Credit rating of rural individuals in developing countries is a desirable proposition. However, it does not appear to have been attempted in most of the countries, like India, on account of intractability, the magnitude of the task and the operational difficulties involved such as cost and sustainability. We have developed the technology-based methodology and approach for addressing this problem. However, the key element in our approach is the encouraging evolution of an internal participation of the villager to source the information about the developments on an on-going basis actuated by the economic incentives. The hture work lies in testing this model in the field and to perfect it and provide robustness. Further research also can be done for its adoption of its various scenarios. References [ 11 The Fortune at the Bottom of the Pyramid - CK Prahlad
[2] Rural Credit Rating Guidelines issued by People’s Bank of China (htt~://www.uhc.aov.cn/cnalish/) [3] COBIT(3rd Edition): Audit Guidelines (2000), COBIT Steering Committee [4] FICO Rating Standards from myFICO. (htt~://www.mvfco.com) [ 5 ] Rating information and models from FairIsaac. (http://www.fairisaac.com ) [6] Bank for International Settlements (httn://www.bis.orp, )
Annexure A- Sample Credit Rating Model Desipn Methodoloev of the Rating Svstem for Rural Borrowers To know how a potential lender views a person on whether to grant him loan or not, it is important to know one’s credit score. Each financial institution has its own type of rating system (Refer [4], [ 5 ] and [ 6 ] )and hence the way by which the credit score is calculated will vary from one place to another. In our rating system, the rating scale has been chosen to be from 0 to 1000 for ease of computation and understanding. The rating scale can be seen as given below: Rating Scale: Excellent VeryGood Acceptable Uncertain Risky
-
-
Greater than 900 850To900 775 To 850 700-775 Less than 700
193
e Variou§
actor§
Given below are the various Categories, their respective weight and their co~espondingscores for assessing the rural borrowers :
Now we shall see the various factors within each category and the implementation part will consist of assigning a suitable rating to each of the factors. l~~entation:
a.
b. iii. > 5 - 10 C. Total Number of Past Dues ( 0.2 ) i. < 5 ii. 5 - 7 iii. > 7 d. Time Period of Past D i. < 1 week ii. < 1 month iii. < 6 months iv. > 6 months - 1 Does he / she have any negative public records ? (0.4 ) e. i. Yes - 35
194
2. PERSONAL, INCOME & ASSETS ( 0 - 200 ) a. Personal i. Identification Confirmation ( 0.25 ) 1. Yes - SO 2. NO - 20 ii. Education ( 0.15 ) 1. Graduate - 30 2. Literate - 15 3. Illiterate - 10 iii. Legal History ( 0.15 ) 1. None - 30 2. Case - I0 3. Convicted - 5 iv. Joint Application with female family members ? ( 0.05 ) 1. Yes - 10 2. NO - 5 v. External influence ? ( 0.05 ) 1. Yes - 5 2. NO - 1 0 b. Income i. Total Annual Income ( 0.15 ) 1. <12000 - 10 2. 12000-50000 - 15 3. 50001 -200000 - 20 4. 200001 -500000 - 25 5 . >500000 - 30 c. Assets i. Property Ownership ( 0.1 ) 1. <20000 - 5 2. 20000-50000 - 7 3. 50000-100000 - 10 4. 100000-500000 - 15 5. >500000 - 20 ii. Consumer Goods Ownership ( 0.05 ) 1. <10000 - 5 2. 10000-25000 - 7 3. >25000 - 10
195
iii.
Vehicle Ownership ( 0.05 ) 1. <5000 - 2 2. 5000 - 20000 - 3 3. 20001-100000 - 7 4. > 100000 - 10
3. CREDIT HISTORY ( 0 - 150 ) a. Length of time since account was opened ( 0.6 ) i. < 1 year - 20 ii. 1 -5years - 3.5 ... 6 - 10 years 111. - 70 iv. > 10 years - 90 b. Time since last activity ( 0.4 ) i. < 1 week - 60 ii. 1 - 4 weeks - 45 ... 111. 1 - 2 months - 25 iv. > 2 months - 15 4. DUE AMOUNT ( 0 - 200 ) a. Total Amount he/she owes to the bank ( factor weight = 1 ) i. < 10000 - 200 ii. <50000 - 175 iii. < 100000 - 150 iv. < 500000 - 100 V. >500000 - 60 5. CREDIT TYPE ( 0 - 100 ) a. Total number of accounts in his/ her name ( 0.6 ) i. 1 - 60 ii. 2 - 3 - 40 iii. > 3 - 20 b. Type of accounts ( 0.4 ) i. Mortgage - 40 ii. Installment - 20 ... 111. Revolving - 15
6. NEW CREDIT ( 0 - 100 ) a. Number of Recently Opened Accounts ( 0.3 ) i. Nil - 30 ii. 1 - 20 iii. > 1 - 1 0
196
b. Number of Recent Credit Inquiry ( 0.2 ) i. Nil - 30 ii. 1 - 2 - 1 0 iii. 2 - 5 c. Time since Recent Credit Inquiry ( 0.2 ) i. > 1 year - 30 ii. < 1 year - 15 iii. < 1 month - LO iv. < 1 week - 5 d. Has he / she established positive credit after encountering payment problems ? ( 0.3 ) i. Yes - 30 ii. No - 1 0 Now the total credit score in each category is the sum of the credit scores of the options selected for each factor in that category. And in a similar way, the sum of credit scores of each category gives the total credit score of the borrower.
VIRTUAL DIGITAL LIBRARIES: AN ADVANCED METHODS AND TECHNOLOGIES DR. R.P. KUMAR B.B. Dikshit Librar All India Institute of Medical Sciences Ansari Nagar, New Delhi I 10029, India drrpkumar@hotrnail. corn
S.K. MEYER, M. Tech, MCA, PGDBM Department of Computer Facility All India Institute of Medical Sciences Ansari Nagar, New Delhi I 10029, India sushilmeher@yahoo. corn ABSTRACT Background: The development Virtual Digital Libraries of an open source system that
functions as a repository for the digital research and educational material produced by members of a research university or organization. Running such an institutionally based, multidisciplinary repository is increasingly seen as a natural role for the libraries and archives of research and teaching organizations. As their constituents produce increasing amounts of original material in digital formats - much of which is never published by traditional means - the repository becomes vital to protect the significant assets of the institution and its faculty. In this paper it has been discussed the functionality and design, and its approach to various problems in digital library and archives design. The second part discusses the implementation of DSpace at MIT, plans for federating the system, and issues of sustainability. Problem: It is an attempt to address a problem that faculty/researcher have been expressing to the Libraries for the past few years. As faculty and other researchers develop research materials and scholarly publications in increasingly complex digital formats, there is a need to collect, preserve, index and distribute them: a time-consuming and expensive chore for individual faculty and their departments, labs, and centers to manage themselves. Method: It provides a way to manage these research materials and publications in a professionally maintained repository to give them greater visibility and accessibility over time. Names are a vital building block for the digital library. Names are needed to identify digital objects, to register intellectual property in digital objects, and to record changes of ownership. They are required for citations, for information retrieval, and are used for links between objects.
197
198
These names must be unique. This requires an administrative system to decide who can assign them and change the objects that they identify. They must last for very long time periods, which exclude the use of an identifier tied to a specific location, such as the name of a computer. Names must persist even if the organization that named an object no longer exists when the object is used. There need to be computer systems to resolve the name rapidly, by providing the location where an object with a given name is stored. A unique string used to identify digital objects. The handle is independent of the location where the digital object is stored and can remain valid over very long periods of time. A global handle server provides a definitive resource for legal and archival purposes, with a caching server for fast resolution. The computer system checks that new names are indeed unique, and supports standard user interfaces, such as Mosaic. A local handle server is being added for increased local control. Conclusion Virtual Digital Libraries will play an important role in the future of academic libraries and archives Organization should look forward to production collaboration with other institutions in this area.
ROLE OF INTERNET-BASED GIS IN EFFECTJYE NATURAL DISASTER MANAGEMENT DR. MRS. A.S. BHALCHANDRA Govt. College of Engineering,Aurangabad 431 005, MS MR. S. S . RAUTMARE Govt. College of Engineering, Aurangabad 431 005 MRS. S. V. WAGHMARE MIT, Aurangabad DR. S. R. BHALCHANDRA Govt. Medical College, Latur. Abstract: This paper presents importance of GIS as a major tool for effective planning, communication, and training in the various stages of the disaster management cycle. The prime concern during any disaster is the availability of the spatial information, and the dissemination of this information to all concerned. Internet-based CIS can play a key role in this aspect by providing cost-effective information at various stages of the disaster life cycle, with a much wider reach. The following aspects have been covered: how Internetbased CIS can be used as a very effective tool for disaster management, in the various stages of the disaster management life cycle, some examples, the Indian perspective, and the SWOT analysis (strength, limitations, opportunities and the risks) of using the Internet-based GIS for disaster management.
Introduction Natural disasters have made their presence felt to every one hand struck in hurry. Every time the world has been caught unaware for the volume of destruction. Every one new that it is coming, but could not avert its aftermath. Tsunami, cycloness, Caterina, earthquakes, flood, landslide, wildfire are the forms and shapes, these disasters take to strike heavily on the mankind. Everytime they have struck, they have caused voluminous damages in terms of men and material. Governments, police, NGOs, organizations for civil services are left with huge tasks to carry. Rehabilitation, diseases, epidemics, hunger, shelter need to be given priorities as life continue to exist through these means. Life can come back to normal, if these disasters are managed appropriately as 199
200
they cannot be avoided. The management tools need to be as speedy and formidable as possible. Medicines, and help from Doctores is the most vital part of management. Lot of lives can be saved through the Medical help. The help coming from the various resources and the minimum guidelines for the sufferers need to be channelised effectively so as to reach the maximum. Multiple paths need to be undertaken. Announcements on loudspeakers, announcements through radio networks, communication through Internet based GIs, communication through mobile and satellite networks, dialogues through television networks are some of the effective means to reach the people. The paper focuses on role of internet based GIS in effective natural disaster management. CIS as a Powerful Toolfor Disaster Management
Geographical information system (GIs), will definitely help managing the disaster. Access to information is crucial for the effective management of disasters. GIS provides online timely and accurate information. Money as well as time is spent on finding the relevant information. The information is stored redundantly in several places and in several formats. Maps and spatial information are important components of the overall information. Hence mapping and spatial information acquisition becomes vital for any disaster management effort.
The Emerging Role of World Wide Web in Disaster Management The WWW is an effective tool for communication. It provides a means to exchange ideas, knowledge and technology. As an effective tool for communication, it can be invaluable for disaster management. This globalization will have far-reaching impacts, and hopefully, the catastrophic events will become less disastrous with the increasing use of WWW and networks. Effective information management help managing disaster. But, GIS on Internet, which could have powerful implications for disaster management, is yet to be fully explored. Integration of GIS and the WWW will lead to increase of the usage and accessibility of spatial data. GIS is normally restricted to a community of trained experts.
The potential of Internet GIsfor effective Disaster Management Thousands of web sites provide images and maps of the earth, but this information remains underutilized for disaster management. Having been isolated earlier in desktop applications and back-office servers, geospatial
20 1
technologies are now undergoing a transformation to become better suited for the Web. Geo-enabled web services can be integrated in space and time for better decision-making, learning, and research.
Stages in the Disaster Management Lifecycle There are five important phases of disaster management: Disaster prevention, Disaster mitigation, Disaster preparedness, Emergency management and Disaster recovery. Disaster prevention, disaster mitigation and disaster preparedness constitute the pre-disaster planning phase. Pre-disaster planning is the process of preparing in advance. Disaster prevention is to eliminate or avoid harmful natural phenomena and their effects. Disaster mitigation deals with reducing human suffering and property loss. Disaster preparedness encompasses to limit the impact of natural phenomena by structuring responsed and establishing a mechanism for effectivng a quick and orderly reastion. Emergency management covers responding to disaster by various organizations. Disaster recovery provides relief after the disaster has struck. It deals with providing food and shelter to the disaster victims, restoring normal conditions by providing financial and technical asssistance. Table 1: SWOT Analysis for the use of Internet GIS Technology Strength
Weakness
1) Wider Reach
1) The dependency of Internet
2) Simple to use
2) Time required for analysis and modeling
3) Facilitates Cooperative effort
3) Higher bandwidth requirement
4) Faster Dissemination of information
1) Mobile internet still not popular
Opportunities
rhreats (Risks)
1) Use of communication and networking
1) A comprehensive Internet based GIS application
2) The reach can be extended to handheld devices
3) Real time analysis possibility 4) Reduction in the cost of Internet GIS
could be difficult to develop, and slower than a similar desktop GIS application (Solution: Only put minimal functionality on the web, and use it only as a supplementary tool) 2) The high initial cost of developing such application (Solutions: Shared funding by various players involved in the disaster management cycle)
202
Conclusion The opportunities created by Internet based spatial applications are immense, and are being universally accepted. However, apart from bandwidth constraints, the technology involved in web applications offers some unique challenges for application developers. Despite all its constraints Internet GIs, can be immensely helpful in managing disasters.
References [ 11 Indian Express Newspapers (Bombay) Ltd.
[2] www.oDengis.org [3] www,govtech.net [4] G.D. Kunders, Hospitals, planning and management [ 5 ] Hindustan Times
A TEXT-FREE USER INTERFACE FOR EMPLOYMENT SEARCH INDRANI MEDHI’
BHARATHI PIITI~
KENTARO TOYAMA’
Microsofr Research, Bangalore, India’ Birla Institute of Technology and Science, Pilani, Indid Kelesa Konnection is a text-free application consisting of user-interface components which, together, can lower the barriers to computer usage for those who are functionally unable to read, and who, for the most part are also computer illiterate [l]. It allows two user groups, domestic helpers and employers - with different literacy levels and computer skills - to communicate on a common platform. It gives both user groups a wider range of choices to meet their specific needs, unlike in the present situation where the process is informal, inefficient, and mediated by self-appointed agents. In this paper, we discuss the design process and the resulting application design for the site that would be exposed to potential employees. We used an ethnographic design process in which we sought user feedback from the very beginning to understand the responses and requirements of our subjects. The resulting design is based on key lessons that we gained through this process [4] [ 5 ] . The UI eliminates the need for text, uses unabstracted cartoons versus simplified graphics, provides voice feedback for all functional units, and allows actions on mouseover where possible. Through repeated interaction and many informal usability studies, we have found that our design is strongly preferred over standard computer interfaces, by the communities which we address.
Introduction Most computer applications because of heavy use of text pose an accessibility barrier to those who are unable to read fluently [ 11. If the UI has to be understood even by illiterate or semi-literate people, then much of the interface may need to be relying primarily on icons [1][4][5][7], photographs [4][5][6], and audio playback [1][7]. Our project proposes an experiment similar to the “Hole in the Wall” project, a wellknown experiment in India [3] in which children learned basic computer skills with no explicit teaching. However ours is aimed at an adult audience and bears the additional intent to provide information that this user group might be interested in [2]. Since adults tend to be more inhibited and less curios about technology we anticipated that significant modification to the standard windows-based GUI would be required to entice adults to interact with a computer. For this purpose we perform in-depth user studies of a target community and through an iterative prototyping process are designing an application adapted to the local requirements [5]. Although we are working with a particular application addressed at a specific community, we believe that many of these UI elements are applicable to other similar communities [ 11. Design Process The Target Community: Most of our subjects in three slum communities in urban Bangalore, India, were illiterate or semi-literate women (highest education attained being schooling up to the sixth grade). They worked as domestic helpers at nearby households while the husbands were daily wage laborers. Everyone spoke Kannada or Tamil and a very few spoke Hindi. The average household income was INR 800- INR 3000 per month. Almost all the households had television sets; a few had music systems and LPG burners.
Ethnographic Design: Ethnographic design is a process which focuses on understanding users in specific contexts, analyzing and synthesizing this information, incorporating 203
204
insights into a design, checking the design with the user group at each step, accommodate changes in the next iteration [4][5] and make the most of user experience 181. We held subject interviews and returned to them to evaluate our designs and inco~oratedthe changes in the next prototype we designed [4]. There were specific challenges we faced: being accepted by the community, making the users feel comfortable to talk and extracting relevant information from them [4], helping them overcome fear while using technology, designing comprehensible information for an illiterate user group [ 1][2], representing religious, social and cultural affiliations in the design. Right from the initial site visit we had started taking a Tablet PC along with us. Many of the women were shy and reluctant to hold the stylus and draw on the screen. We therefore asked then to draw something they were very familiar with- the rangoli on Paint (as in Figure 2), and thus were successful in removing some bit of the fear and reluctance.
igure 1. Testing prototype
Figure 2. Rangoli drawn on tablet PC
F~gure3. Site visit
To further establish rapport we visited them more regularly and made detailed observations of their activities, living environments and objects, their economics, interactions and coinmunications. 3.Design Iterations Choosing the Application::After extensive discussions with the slum women we decided to provide content on prospective job information for adult women who are currently working as domestic helpers. At present, our subjects got job information through word of mouth or through informal agents within the slum. They often continued working at the same place for low wages because they were not aware of better opportunities elsewhere. Determining Needs: Our focus-group-style discussions of 40-50 women showed that the that the women needed the following information to decide on the job: Specific tasks requested by the employer, Timings (hours to be worked), Break-up of wages by task, Address of the employer, Number of rooms in the residence; Number of people residing and location within the city. Based on this, we decided that we should design at least three kinds of pages: a page allowing users to select jobs by location, a job overview page, and a job description page. : We knew that the information had to be in Prototyping the Job Description Page: graphical form, since our target users were not generally literate [l] [4] [5]. We made few sketches of the same activity (e.g., sweeping), ranging in degree of abstraction. In general, our subjects appeared to prefer semi-abstract cartoon representations. We found that they were better able to identifl activities as actions when the cartoon included action cueswater ~ ~ i inna faucet, g steam puffing out from a kettle, without which they identified
205 the drawings with the location where objects were kept (e.g., the kitchen), rather than the associated action (e.g., cooking). We mocked up a simple prototype in which an icon plays an audio file on mouseover [ 11 [7]. Most women were thrilled to hear a computer speak in their native language. We decided that all elements of the user interface would be accompanied by voice feedback. Based on these, we created four different information designs, as shown in Figure 4. These differ in their layout, level of complexity, and amount of i n f o ~ a t i o ndelivered.
Option I
Option 4
Ophon 3
opholl 2
Figure 4. Initial designs for the job decription page.
We received three types of feedback after testing these out: u o ~ or s ~ i s i n t e r ~ r e t eicons: Some icons were not interpreted the way we expected [I] [5]. For example, our initial design for a residence is shown in Figure 5 (left). We thought this was a universal symbol for a house or residence, but our subjects perceived it as a village hut or their own residence and were confked. They felt that prospective employers would live in a tall apartment complex; with their feedback, we redesigned this logo as shown in Figure 5 (right).
Initial
Final
Figure 5. Designs for the “residence” icon
on: We found that in some cases, Hindu subjects and ~ u s l i msubjects interpreted the placement of icons dif€erently. Probably because Urdu is written from right to left, Muslim culture tends to think of time as Rowing from right to left, as opposed to left to right ( in Figure 6). An arrow placed between the time indicators fixed this particular problem.
Initial
Final
Figure 6. Ambiguity in iconic representation due to cultural biases
s: We had used a matrix of checks and crosses to show what activities needed to take place in which rooms. They were unable to relate the tick marks and crosses to the individual rooms. So, we replaced them with explicit associations between room and task (see Figure 7) [4].
206
Figure 7. Indicators of which tasks required in which rooms. The matrix structure(1efi)was not understood.
:The first interface of the job location map showed how many houses offered jobs on a street map. But after testing, we found that the women never used any maps, Instead they would find out the nearest landmark to that place if they were to go on their own or go along with someone who knew the location.
Initial
Final
esign of location pages
Generally, our subjects were not strong on sense of absolute direction. They understood the approximate direction relative to their local landmarks. So, we made our subjects identify areas they knew and divided the whole of Bangalore into those. After that we made individual boxes depicting these places and added photos of Iandmarks f a ~ i l i a rto them (See Figure Il(right)) [5]. On mousing, there is voice feedback that calls out the placename [l] [7].
4. Principles of text-Free UI In this way, we extracted several design principles that we believe apply not only to women in the pa~icularslums we worked in, but also for potential users who are both illiterate and computer illiterate. The general features of the design are as follows:
a) Minimal use of text (except for numbers): The application had to have interfaces that did not rely on text [1] except numbers. Therefore job information presented in the form of icons and visuals is accompanied by numbers in the UI [4] IS], which
represent the wage break-ups. b) Use of unabstracted cartoons versus simplified graphics: ics : The initial sketches forms with action Which were tested showed that users could identify sketch realistic sketch c)
cues where required, much better than abstract graphic forins [l]. Action on mouseover where possible: o§§ible:Many users had not used writing devices (pen, pencil, etc.),leave alone aouse, mouse for a long time. They were unable to press the stylus with required intensity when asked to click on the screen [Z]. So, wherever possible, action takes place on mouseover, instead of clicks. aek for all functional units: In the application, each ~nctionalunit on the visual display is supported by voice feedback in the local language (Kannada, in this case) in order to enable immediate understanding of what the icon represents. Voice feedback is available on mouseover [l] [7].
207 e)
Consistent "help" icon on all screens: There is a consistent "help" icon with voice instructions on mouse-over [1] [7], on all screens to help the user recognize instructions while navigating through this application.
5. The Final Prototype: The above principles which evolved through user studies are generally applicable to all the pages of the application.
ml £
Introduction page
Job listing page
Job information page
Figure 9, Designs of the four pages of the final prototype of the application.
Introduction page: We intentionally left this screen simple to avoid overloading firsttime users with a lot of information, Location page: Already discussed above. Job listing page: In this section, the jobs available are listed along with the basic information about each job. Job description page: This page compiles all relevant details about a particular job. 6. Work Several people designing for illiterate and semi-illiterate user groups, highlight these things- minimal or no use of text [1][2], easy navigability [1][2][4][5][7], audio input [1] and audio output [1][7], iconic elements [1][4][5][7], numeric formats [4][5][7] relevant content [2]; animation into images to tell a better story [1]; controlling visual attention by using properties of motion, shape, color, etc [6]. In our current work, the aspects of the above work that we have used are- providing relevant information, minimal use of text, easy navigation through very less number of clicks, voice feedback, and visual cues and we have also leveraged numeric literacy. At the same time we have experimented with the use of unabstracted cartoons versus simplified graphics. We have included standard visual elements for indicating motion. We also emphasize on action on mouseover where possible. 7. Conclusions and Future Work In this paper, we have presented a text-free UI applied to the particular application of providing information about employment opportunities for domestic labourers [2]. We discovered several design elements which we believe are applicable to any user group that is illiterate and new to computer use [1]. In future work, we expect to add a feature in which a short movie playing continuously would describe how to use the application. We also hope to begin work on the employerside of the site. We have found that most employers are themselves literate, but generally computer illiterate, suggesting that yet another UI would be appropriate for them. Finally, we expect that a database system will mediate between employers and employees,
208
allowing them to effective communicate, even though they see different designs for similar information.
References [11 M. Huenerfauth, Developing design recommendations for computer interfaces accessible to illiterate users. Master’s thesis, University College Dublin, (2002). [2] A. Chand, Designing for the Indian rural population: Interaction design challenges. Development by Design Conference, (2002). [3] S. Mitra. Self organizing systems for mass computer literacy: Findings from the hole in the wall experiments. International Journal of Development Issues, Vol. 4, No. 1 (2005) 71 - 8 1 [4] T. Parikh, K. Ghosh and A. Chavan, Design Considerations for a Financial Management System for Rural, Semi-literate Users. ACM Conference on ComputerHuman Interaction, (2003) [5] T. Parikh, K. Ghosh and A. Chavan, Design Studies for a Financial Management System for Micro-credit Groups in Rural India. ACM Conference on Universal Usability, (2003) [6] Mark A. Folk, and R. Davis, Query by attention: Visually searchable information maps. International Conference on Information Visualization IV (200 1). IEEE Computer Society, (2001), 85
[7] T. Parikh, HISAAB: An Experiment in Numerical Interfaces, Media Lab Asia Panel Discussion, Baramati Initiative on ICT and Development, (2002) [8] Master of Design Degree. Institute of Design. htttd/www.id.iit.edu/Prad/mdes.html.
VERIFI - An integrated system with Voice chat, Elearning, Remote control, Internet access, and Fraud detection for an Intranet C. Mala', Dhaneel kumar. N. S . z, Pankaj Kumar3 Department of Computer science and Engineering, National Institute of Technology, Tiruchirappalli,Tamil Nadu 'mala@ nitt.edu, *[email protected] , [email protected] Abstract. With computers becoming part of everyone's life, interconnection of computers into an Intranet or an Internet enables peer groups in institutes, industries, hospitals, government offices, etc. to share resources and information. But the networks today have become very susceptible to malpractices by some unscrupulous minds who wish to disrupt its proper functioning or steal some vital information from it. Though it is not possible to prevent anyone from doing such activities, the network can be made immune to such fraud or intrusions. The methods currently available for intrusion detection require extra hardware and software and they do not support any other applications that can be provided by the Intranet. So, an integrated Voice Chat, E-learning, Remote computer control, Internet access, and Fraud detection system for Intranet (VERIFI) is proposed in this paper.
1. Introduction Intranet, the interconnection of computers in a localized area can also be used as an elearning tool in institutes and for consultation in hospitals, for audio conferencing in industries, if it can broadcast or multicast the information. Moreover, as the cost of providing internet access to every user of an Intranet is more, there is a requirement to have one internet connection and to enable all users in the intranet to share the same connection. To provide normal functioning of the network, to prevent hackers from entering our network and disrupting the routine usage of the network, it is required to detect intrusion or any fraud done by any user to the Intranet. This motivated us to develop an integrated Voice Chat, E-learning, Remote computer control, Internet access, and Fraud detection system for Intranet (VERIFI).
2. Proposed VERIFI system The Intrusion detection techniques proposed in [ l , 21 and the E-learning sessions conducted in schools or colleges as in [3,4], and the telecommunication system proposed in [5] not only require a major change in hardware and software of the com209
210
puter system and the server of the intranet but is a costly affair. The proposed VERIFI system consists of two modules namely an Administrator Module (AM) and a User Module (UM). The functions performed by the AM as shown in Fig 1 are Voice chat (VC), E-learning Tool (ET), Remote computer control (RCC), Remote Registry Change (RRC), Remote Windows Explorer (RWE), Internet Access from intranet (IA), and Fraud Detection (FD). The functions performed by the UM are FD,ET, IA, and VC. 2.1 Proposed algorithms The algorithm executed by the Server and the Clients of VERIFI system are as follows: 2.1.1. Server side algorithm: 1) 2) 3) 4) 5) 6)
Create sockets for connection and bind sockets to required port Wait for connection from client side in block mode If connection request is true then accept the request and insert in queue While connection is active repeat steps 5 and 6 Wait for next connection from client side in block mode While connection request is true for FD /EL/RCC/RRC/RWC/IA Accept the connection; create a thread for respective connection and sevice the request.
2.1.2. Client side algorithm: 1) Open a port and connect to the listening port of the server side 2) If connection is successful then create a thread for that connection 3) While connection is active, service the request 4) Stop this thread processing and go to the parent thread 2.2 Components of the AM: The individual components of the AM module are implemented as follows: 2.2.1. Fraud detection: The different types of attacks [7] including port scanning will be immediately detected by this module and an alert signal is given to the administrator 2.2.2. E- learning Tool: The users in an Institute or an Industry are able to securely participate in E- learning sessions using Whiteboard, which can be used by the administrator to broadcast/ multicast details on the board to all or a group of users. 2.2.3. Remote computer control This tool is used to get the system configuration, history of computer, to open a desired site on remote PC, to set date and time of remote PC, to access and modify files in remote PC, to shutdown, logoff, and restart or to lock the computer.
211
2.2.4. Remote registry change The registry is the main software control of the system. Using this module, it is possible to remove the startup entries to avoid any virus attack to the system and to the intranet. 2.2.5. Remote Windows explorer This enables the administrator to view the windows explore of the remote computer so that he can share, copy, paste, edit, and delete the files and folders of the remote client from his desktop 2.2.6. Internet Access from Intranet To reduce the cost involved in accessing the internet, IA module enables secured internet access can be provided to all the users of the intranet by using proxy server. 2.2.7. Voice chat Instead of sending messages from the administrator to the user, VC enables the administrator to participate in audio conferencing in an intranet environment without any extra hardware. 2.3 Components of the User Module The User Module consists of the tools for Fraud Detection, E-learning, Internet access, and Voice chat and their functions are similar to that of the AM. FRAUD DETECTION
INTERNET ACCESS
E-LEARNING TOOL
Fig. 1. ADMINISTRATOR MODULE OF VERIFI SYSTEM 2.4. Implementation and testing The VERIFI system is implemented and tested in our Institute’s intranet, which supports UNIX and Windows platform with 1200 nodes. It has been found that with
212
this VERIFI system, staff members can closely monitor the usage of computers by students from their desktop; they can conduct e-learning session, participate in audio conferencing, and remotely access the student’s desktop.
3. Conclusion As the usage of Intranet is becoming popular in institutes, industries, hospitals, and government offices it is required to protect them from F r a u d intrusion from malicious users. The VERIFI system proposed in this paper provides a hacker free intranet, which can also be used as an e- learning tool with additional utilities such as remote computer control, remote registry change, remote windows explorer, voice chat and with internet access from any node in the intranet. This VERIFI system can also be used in any internet environment with no extra cost in hardware.
References [l]. Mutz, D, Vigna, G, Kemmerer, R, “An experience developing an IDS stimulator for the black-box testing of network intrusion detection systems”, Proceedings of 19th Annual Computer Security Applications Conference, 2003. [2]. Mukherjee, B, Heberlein, L.T, Levitt, K.N, “Network intrusion detection ”, IEEE Network, Volume 8, Issue 3, May-June 1994, pp 26-41. [3]. Forman, D, “Cultural change for the e-world”, Proceedings of International Conference on Computers in Education (ICCE ’02), IEEE 2002. [4]. Lee Chye Seng; Tan Tiong Hok , “Humanizing e-learning ”, Proceedings of the International Conference on Cyberworlds (CW’03)JEEE 2003. [5]. Akio Koyama, Tadahiko Abiko, Noriyuki Kamibayashi, Norio Narital, “Care communication system for improving inpatients Quality of life”, Proceedings of 15‘hInternational workshop on Database and Expert systems, 2004, pp313-317. [6]. John McHugh, Alan Christie, and Julia Allen, “Defending yourself the role of Intrusion detection systems”, IEEE software, 2000, pp 42-51. [7]. www .infoswwriters.com
ENTERPRISE RELATIONSHIP MANAGEMENT FOR HIGHER EDUCATION “AN APPROACH TO INTEGRATED SYSTEM MANAGEMENT” SYED SAJJAD RAZA ABIDI AND MUHAMMAD NADEEM Shaheed Zurfkar Ali Bhutto Institute of Science and Technology, Karachi, Pakistan Emails: {sajjad nadeem)@zabist.edu.pk Information technology in general and Internet in specific have revolutionized the way of doing business, integration and interaction between different business components for With the accelerating pace of changes in facilitating the stakeholders in the domain. technological, regulatory, and economic environments as well as in stakeholder values, it is important to adapt quickly in order to survive and sustain business operations. This research has focused on addressing the specific requirements of a Enterprise Relationship Management (ERM). Customer has a pivotal role in any business, it is important for a business to satisfy its clients in order to survive in the market, a customer with a positive attitude towards a business, engages in positive word-of-mouth communication which affects the bottom line of the business. During this research, evaluation & investigation of available CRM systems for education sector was done, and CRM system for education sector was proposed. In second phase based on proposed CRM framework, a through investigation was done for developing business architecture, and then performing requirement analysis along with proposing software architecture; performing risk analysis for the proposed solution. Finally, based on the results of second activity, the best solution was suggested for an enterprise for managing their relationship.
1
Enterprise Relationship Management
Enterprise Relationship Management ( E M ) relates to solutions allowing an enterprise to share customer, product, competitor and market information to accomplish goals of meeting long-term customer satisfaction and increased revenues [ 11. This research addressed both the theoretical and practicable implementation aspects of various fundamentals of Enterprise Relationship Management (ERM). This research centered on “Model-Based Methodology” for Enterprise based Software Engineering, the basic idea is that when groups within an enterprise want to engineer their collaboration, this methodology help in modeling their processes or activities. The methodology covers the enterprise and the virtual enterprise. 2
ERM Architecture
Like other business institutions, a higher education institution also needs to make their relationship stronger by satisfying their clients in order to service in business. 213
214
ana aging Critical Customer Relationships in higher education is a complex and cumbersome process. There would be little coordination among, and even within, service areas across the institute. This duplication of services is not only inefficient and costly to the institute, but the absence of corporate standards means that multiple messages are being c o ~ u n i c a t e dto clients. The institute’s s i ~ i ~ c a n t i n v e s ~ e n tin its corporate image and reputation are thus being diluted as the consequence of fragmented and inconsistent services that convey a bad impression to the public. This means that educational institutes cannot stand behind any service promise it would like to make to its clients, as there is no mechanism by which to deliver, let alone monitor, such an undertaking. RM-EDU can help an educational institution in continuously service & monitoring their clients, hence making their relationship stronger.
for Education Architecture
2. I
(Source: Author’s ownj
~ D U Tactics ~ r o p o s ~ dR ~ - Implementation
Organization too often embarks on their ERM initiative without having clear vision of where they want to go to how they intend to get there. It is necessary for com~aniesto take their time to properly set ERM vision and use a stepw~se ~ e t h o d o l to o ~create and realize their E M implementation tactics. Industry trend [2,3,4,5] shows that, most of the organization follows a 10-step approach to formulate ERM strategy
215 ReletSonshipManapment Peaple lrwea
Figure 2 RM Tactics Formulation Process
3
Proposed ERM Design
The design of front-end application (e2RM) uses the requirements that were gathered during analysis to create a blueprint for the hture system. The successful design was build on what was learned in earlier phases and leads to smooth implementation by creating a clear accurate plan of what needs to be done. According to research plan and the proposed solution that come up with the solution which includes a front-end application called e2Rh4 and its integration with back-end application i.e., ZabDesk.
216
3.I
Front-End Application - e2RM
e2RM is the database engineering and communication system for the entire office. Just like the internet, it provides employees with access information at one central location where all your organization information is kept. e2RM is integrated with back office ERP system to control the data redundancy and updated data across organization. By having an integrated environment the organization staff will be better informed, highly motivated, in result they will work more effectively. eZRM contains two major applications i.e., relationship management and campaign management. All components are integrated to provide complete and updated information across organization. 3.2
Back-End ERP Application - ZabDesk
ZabDesk as an ERP system has been designed for automation of business process at any academic institute. Automating the academic, administrative and financial processes. The software is a modular, clientlserver based system that covers all academic management tasks. The solution provides both web and desktop interface for academic, faculty, students, finance, management, records & registration, and library activities. 3.3
Component for Integration of e2RMwith ZabDesk
Component for Integration of eZRMwith ZabDesk - e’RMZDInt, is a component which integrates e2RM with ZabDesk. Its primary service is to provide ongoing synchronization of data among these two systems. With this component, students, faculty, staff, management, items (products i.e., programs, and other saleable items) and price information from ZabDesk is transferred regularly to eZRM,giving access to up-to-date information from e2RM or ZabDesk. The design of front-end application (eZRM) uses the requirements that were gathered during analysis to create a blueprint for the future system.
4
Proposed Architecture Assessment
Software expert Tom Gilb in his book: Principle of Software Engineering Management says that “If you do not actively attack risks, they will actively attack you” [6]. The suggested framework in this study having following risk analysis steps: Step 1: Brainstorming of customer value processes Step 2: Compile a list of features Step 3: Determine the customer likelihood
217
Step 4: Identify the impact of failure for CRMfeaturedattributes Step 5: Assign numerical values Step 6: Compute the risk priority 5
Acknowledgements
The authors are extremely thankhl to Almighty ALLAH the most beneficent, merciful and compassionate for giving the ability to perceive knowledge and wisdom to carry out the research. Thanks to Dr. Javed R. Laghari, TI. Vice President and Project director, Shaheed Zulfikar Ali Bhutto, Institute of Science and Technology, SZABIST for providing the state-of-the-art facilities and research environment, which made this work possible. References 1. ERh4 definition at Webopedia, Web Encyclopedia www.webopedia.com 2. CRh4 Toolbox, Industry Articles on CRM Strategy & Implementation, http://crm.ittoolbox.com/nav/t.asp?t=511&p=5 11&hl=5 11 3. Thomas Hannigan & Christina Palendrano, "Preparing for CRM Success CRM Initiatives: The Path from Strategy to Implementation" for ITtoolbox CRh4 at http://crm.ittoolbox.com/documents/document.asp?i=2594 4. Kristina Markstrom, "Secrets of CRh4 Success: Strategies for achieving the vision through end user adoption" for ITtoolbox CRM at http://crm.ittoolbox.com/documents/document.asp?i=259 1 5. Bill Donlan, "Anatomy of a Successhl CRh4 Implementation", for ASP News at http://www.aspnews.com/strategies/article.php/3519991 6. Technical report CMU/SEI-92-TR-30 SIE, Software Development Risk: Opportunity, Not Problem by Roger L. Van Scoy http://www.sei.cmu.edu/publications/documents/92.reports/92. tr.030.html
Locating Cell Phone Towers in a Rural Environment H.A. Eiseltl. Vladimir Marianov2 Faculty of Business Administration, University of New Brunswick, Fredericton, NB Canada [email protected]
Department of Electrical Engineering, Pontifica Universidad Catblica de Chile, Santiago Chile [email protected]
Abstact Logistics is one of the main features missing in developing countries. Typically, roads are few, they tend to be two-lane in mediocre shape, communication lines such as telephones are not readily available, electricity and other utilities are scarce, particularly in rural areas. Given such a situation in which the separating effect of distances is exaggerated, emergencies cannot be dealt with efficiently: first, as appropriate facilities such as ambulances, emergency helicopters, fire brigades, police or army units may not exist in sufficient number and with appropriate equipment, and secondly that even if they were to exist, they would not be able to reach the location of the emergency rapidly enough. In many of these counties, steps are undertaken to improve the situation, but more often than not, demands posed by the fast-growing population outnumbers and outclasses the improvements that were made by the authorities with their limited resources. One of the ways to improve the situation, especially given difficult and undeveloped terrain, is to establish efficient lines of communication. Cell phones are a natural way to do that as they do not require literacy as internet connections do, and their hardware requirements are likewise modest. While they will not be able to overcome the lack of personnel, equipment, or roads to get them to the site where they are needed, they do enable decision makers and emergency personnel to deploy resources available nearby in order to minimize the damage.
As far as the technology is concerned, cell phones essentially are connected in wireless fashion to a transmission tower (a Radio Base Station or RBS), which, in turn, is connected though a communication satellite to the switching facilities of the mobile company and to the public telephone network. In the same way, the satellite connects the switching facilities to some other tower, which is connected wireless to the cell phone of the other party that is being contacted. As such, the situation is similar to one of a two-level hub: the fixed hub on the higher level is the switch, and the hubs with the variable locations are the transmission towers, while the cell phones themselves represent the customers. 218
219
Additionally, power can be a limited resource in rural environments. This is particularly true when the reliability of regular power supplies is low (due to brownouts, storms, mudslides, etc), and the cell towers have to make frequent use of backup power systems, like solar cells, wind generators and others. In these cases, it is desired to reduce the power use to its minimum. Given this situation, we can identify two types of variables. First, there are the locations of the transmitters, and secondly, there will be the power of the transmitter that does determine its reach. This problem is similar to that of determining the transmitters for radio and television stations and it was dubbed Communications Design Problem by Lee in 1991. As in each location model, we are to choose the appropriate space, be it continuous, discrete, or on a network. While continuous space appears to be the most obvious choice, we have rejected this option due to its intractability. Consider this. Even in a perfectly flat plane, the reach of each transmitter would be a circle, so that the task would be to locate a given number of circles, so as to capture the largest possible number of customers. This problem is known to be NP-hard, and it does not even consider the possibility of different power of transmitters, or potential secondary objectives. Our model of choice works in a discrete space. In other words, the customers are assumed to be located in a finite number of known locations, and there is also a finite number of potential locations for the transmitters. As far as modeling is concerned, it should be mentioned that it may be useful to include not only villages or individual houses as customer locations, but also points along major traveling routes (as temporary customer locations at which accidents can occur), airports, and police stations (where attacks by insurgents may happen), as well as power stations, dams, or similarly sensitive logistics installations and other strategic targets. Our basic model can then be described as follows. Given a finite number of feasible facility locations, locate a fixed number p (that is determined by the budget) locations for the transmitters as well as their respective powers (that may possibly be chosen from a finite number of choices), so as to capture the largest possible number of customers. Initially, in the context of the developing world, these customers will include mostly officials that deal with various emergency locations, such as health care workers, firemen, police, and army personnel. Later, as prosperity of the general population increases, the very same network can be used by civilians. It should also be mentioned that in areas with a large number of tourists, they will be using the same network, being charged similar (or even higher) rates they pay in their home countries, thus partially or even largely financing the system. The model will also include a secondary objective that is designed to measure the potential loss in case of an interruption of service. Such an interruption may be due to a malfunction of a facility, or to insurgent attacks on a facility, similar to those witnessed in the past on micro power generating stations in Nepal. Losses of this nature are similar to those studied in network reliability theory. One possibility to model such losses is to assume that at any one time, a single node will be out of commission. A pessimistic (or cautious) decision maker will then attempt to minimize the
220
worst such loss, resulting in a typical minimax objective. Note that while the two objectives appear to be diametrically opposed, they are not. The reason is that while the capture objective includes only sites that are populated, the minimax loss objective also, or even predominantly in the case of security, includes sites with important installations. That allows for compromise solutions, which is what this research is all about. The problem is first formulated as a mixed-integer linear programming problem, and exact solutions are determined. The special structure of the constraints allows the solution of small to medium-sized problems. For larger problems, heuristic algorithms are developed. One such heuristic works sequentially in the “locate-first, power-second” fashion, similar to the popular “locate-first, route-second‘’ employed in many location - routing methods. Another approach uses marginal analyses, i.e., decides at any stage of a construction heuristic whether to step up the power of any of the transmitters, or locate an additional tower. In all solution methods, tradeoff curves between the capture and the loss objective are determined.
E-GOVERNANCE OF LAND RECORDS VIJAY GOPINATH KONDEKAR Shri Sant Gajanan Maharaj College of Engineering, Shegaon, INDIA
E-mail: [email protected] Drawing of the land records and their e-Governance is discussed using a computer program which has been developed for plotting its, to the scale. It can be an effective way of drafting all the land maps and particularly, the rural agricultural lands. E-Governance will lead to easy maintenance of the land maps or plots, durability and enhancement of the life of the map records, correctness in the calculations of the map data.
Plotting of Land Records by a computer Program “SURVEYPLOT”
2
“SURVEYPLOT”- program uses given dimensions in chains and annas for chainages and offsets and fiirther links to AutoCAD, using AutoLISP which draws the required plot of the land record. This also gives the properties of the plot as its area, boundaries etc. The -generalized mathematical equations are derived from geometry and can draw any irregular plots given in the using AutoCAD & “SLJRVEYF’LOT” particular format. 3 Flow Chart for e-Governance of Land Records An example of e-Governance of land records at a villageltown level is given belo below. 1 2
3
Existing Land Records in the Survey Number, as available in the concerned office (Fig. 1)__ ’ig.2) Create the plot of the Land Record with the use of computer program “SURVEYPLOT’ (Fig.2) Create Data Bank of all existing Land Records for the Survey Number ~
I
I
‘3
References 1. Brian W. Kemighan, Dennis M. Ritchie, “The C Programming”,Prentice Hall of India Pvt. Ltd 2. William M. Oliver, “IllustratedAUTOLISP”,Wordware Publishing, Inc. 221
This page intentionally left blank
Mobile and Ubiquitous Computing
This page intentionally left blank
MAC LAYER FAIRNESS ISSUES IN MULTI-HOP WIRELESS AD HOC NETWORKS
M V S DEEKSHITULU AND SUKUMAR NAND1 Indian Institute of Technology, Guwahati Guwahati 780139, Assam, India E-mail: { vsdm, sukurnar) @iitg.ernet.in ATANU ROY CHOWDHURY Infosys Technologies Ltd 44 Electronic City, Bangalore 5601 00, Karnataka, India E-mail: [email protected]
Wireless ad hoc networks consist of mobile/static nodes interconnected by wireless multi-hop communication links. Unlike conventional wireless networks, ad hoc networks have no fixed network infrastructure or administrative support. Moreover supporting appropriate quality of service and fairness for wireless ad hoc networks is a complex and difficult task because of the imprecise network state information. In this paper, we evaluate IEEE 802.11 in terms of its fairness in multi-hop scenarios. Moreover we identify the reasons for the existing unfairness and then propose a purely distributed algorithm to provide fair access to all flows. Our simulation results show that our proposed protocol approximates a round robin scheduler, thereby providing considerable improvement in terms of fairness and throughput in multi-hop flow scenarios.
1. Introduction
Wireless ad-hoc networks are attracting considerable research interest because of their ease of deployment and maintenance. Moreover in multihop wireless ad-hoc networks, fair allocation of bandwidth among different nodes or flows is one of the critical problems that affects the serviceability of the entire network. The critical observation from our survey is that prevalent techniques for multi-hop fairness, based on promiscuous overhearing, starts t o fail when the hop count exceeds three. In this paper, we present a round-robin flowlevel scheduling schema to achieve global fairness for the entire network. 225
226
2. Unfairness in IEEE 802.11 and its impacts
The unfairness exhibited by IEEE 802.11 is clearly explained in [ 5 ] . For each flow, Constant Bit Rate (CBR) traffic is adopted and the traffic rate is large enough for a single flow to occupy the entire channel capacity. Long-term Unfairness in Asymmetrical Information Scenarios: In this case a sender who is in the range of the receiver of some other flow is able to get more information about the contention in the media than other senders. Concealed Information Problem: The main problem leading to unfairness in the CSMA/CA protocols is that the senders cannot obtain precise information about the contention in the medium. While the impact of long-term unfairness is obvious 2 l the short-term unfairness at MAC layer also leads to a large delay and jitter in both real time streaming traffic as well as adaptive traffic like TCP. Because of the single flow domination the behavior of on-demand routing protocols is also affected. This results in misleading information about link states. Moreover the short term unfairness causes starvation of some sub-flows leading to bottlenecks in the flow. The main reason for this unfairness is because a sender is unaware of when exactly the contention period starts and ends. Moreover there exists location dependent contention as well as issues like lack of receiver participation in contention resolution.
3. Proposed protocol
Our main aim is to provide fair (equal) access to the medium for all flows without degrading the effective throughput. To achieve this fairness we propose a distributed algorithm that approximates a round-robin schedular . Sub-flow: Two nodes of a flow those fall under each others transmission range and one of them identified as sender and the other as receiver. A sub-flow is identified by its sender and receiver pair. As part of its bookkeeping each node is required to maintain 3 lists LEzternal 1 LSender and LReceiver as explained below. L ~ ~ t IDS ~ of~ active ~ ~ sub-flows l : of which the node is not a participant. This is the information regarding external contention. LSender: IDS of active sub-flows for which the node is the sender. L R ~IDS~of active ~ ~sub-flows ~ ~ for ~which : the node is the receiver.
227
3.1. Estimation of number of Active sub-flows ( n )
Whenever a node hears or overhears a frame, it inserts the corresponding sub-flow ID into the corresponding list along with a timestamp.Duplicate entries are refreshed with the latest timestamps, whereas stale entries are deleted after a timeout.This timeout period is long enough to transmit a certain number (say W e )of packets. Clearly, the value of We affects the precision of n. However ne, the current estimate of n can be over or underestimated and this leads to bandwidth wastage. In order to cope with the over-estimation problem, a mechanism called inactive notification is proposed. Whenever a flow sends out its last packet in its queue the sender should inform the other nodes that the flow is becoming inactive. Moreover the receiver also piggybacks this information in the responding frames CTS/ACK, as some nodes may not overhear the RTS/Data. All the nodes that hear the notification should delete this flow ID from their corresponding list. Thus we can use large value of We to cope with the under estimation problem. 3.2. Incorporating Receiver Cooperation
We note that the active sub-flows that are exclusively in the transmission range of the receiver also affect the transmission of the sub-flow. Therefore we propose a mechanism called receiver feedback to cope with this problem. The sender of a prospective sub-flow is being informed about the contention at the receiver through the acknowledgement packet. The contention at the receiver is expressed in Eq 1
N = LEzternal
+ LSender + LReceiver - L S R
(1) where L S R represents the sub-flows in which the corresponding node that requires cooperation is acting as sender. 3.3. Scheduling Algorithm
Using the estimation algorithm proposed in previous subsection, the sender as well as the receiver of a sub-flow obtains the number of active sub-flows currently conflicting with it. We define a set of rules that a sender should follow while contending for an idle medium. Rule 1: If the node is the intended recipient of the ACK frame, it should compute its mode of contention. The mode of contention is computed by checking whether it has transmitted a packet for each of the active sub-flows for which it is acting as
228
sender. If not, then the node remains in active contention mode. Rule 2: If the node has transmitted the required number of packets, then it should be an restrictive mode for a calculated duration. The current estimate of contention at the potential sender is ne,
+ LReceiver
(2) Also let the estimate of contention at the receiver, informed through the ACK frame, be n,. The actual contention of the sub-flow is given by the maximum of ne and n,. This allows us to use the concept of spatial reuse, where the sub-flows involving either the sender or the receiver exclusively can access the medium simultaneously. The waiting period Twaitis ne = LEzternal
Twait =
m a x ( n e , n,) x TSUCCESS
(3)
Where T s u c c ~ s sis the time needed for successful transmission of a packet when the number of total active sub-flows in the system is one. Rule 3: The other nodes, overhearing the ACK packet, should start contending for the medium if they are not in restrictive mode. Rule 4: Whenever a node receives an ACK packet, the mode of the flow is recomputed. If the node is to be in restricted mode, then the duration must necessarily be recomputed. Thus every sub-flow attempts to restricts itself from contention after availing its chance of accessing the channel. This self-preempting feature allows the nodes to schedule themselves in a round robin fashion and prevents any sub-flow or flow from dominating for a prolonged duration. Moreover, at any instant of time, we are successful in reducing the number of nodes contending for the medium. 4. Simulation Results and Performance Evaluation
The simulations, performed in ns-2.27, are measured over fairness and throughput. The well known Jains index (eq. 4)is used to measure fairness N
N
i=l i= 1 Where N is the total number of flows that share the medium and yi is the bandwidth utilized by the flow i over a certain amount of time. We notice that the performance of IEEE 802.11 is inconsistent. It shows a good degree of fairness in low contention topologies, which degrades in high contention topologies. Our proposed protocol performs better in this count. We are also able to improve on system throughput considerably.
229
(a) Scenario 1
Throughput
(b) Scenario 2
1
PP
I 802.11
(c) Fairness 1
Throughput
(d) Fairness 2
I
PP
1802.11
I
(f) Throughput 2 Figure 1. Fairness Indices and Throughput for Scenarios 1 & 2
5. Conclusion I n this paper we identify reasons for unfairness in multi hop ad-hoc networks and propose a novel solution achieving global fairness. We have also tried t o give channel access t o each node in a round robin fashion, using a purely distributed algorithm.
References 1. V. Kanodia, et a1 “Ordered Packet Scheduling in Wireless Ad Hoc Networks: Mechanisms and Performance Analysis”, In Proc. of MOBIHOC, June 2002. 2. H. Lou, e t a1 “A Self-coordinating Approach to Distributed Fair Queueing in Ad Hoc Wireless Networks”, In IEEE Infocom, 2001. 3. Y . Wang, B. Bensaou, “Achieving Fairness in IEEE 802.11 DFWMAC with variable packet lengths”, In Proc. of IEEE Globecom 2001. 4. T. Nandagopal, T. Kim, X, Gao and V. Bhargavan, “Achieving MAC layer fairness in wireless packet nerworks”, In Proc. ACM MOBICOM, Aug 2000. 5 . Li Zhifei, “Performance Evaluation and Improvement of IEEE 802.11 MAC Protocol in Wireless Ad-hoc Networks”, PhD Thesis, NTU, Singapore, 2003. 6. Z. Fang, B. Bensaou, and Y. Wang, L‘PerformanceEvaluation of a Fair Backoff Algorithm for IEEE 802.11 DFWMAC”, In ACM MOBIHOC, 2002.
A FRAMEWORK FOR ROUTING IN MOBILE AD HOC NETWORKS AMIT GOEL AND A.K. SHARMA YMCA Institute of Engineering, Faridabad, India E-mail: goelmit1 (cihvhoo.coiii, rtrhokkalc?(ii!r~diff~iiuil. coin MANET’s have dynamic, random, multi-hop topologies consisting of relatively low bandwidth and limited battery power. The existing unicast routing protocols suffer from many drawbacks such as network wide flooding, processing overheads etc. [I]. A framework called “Location Aware Routing Protocol (LARP)” has been designed that overcomes the drawbacks. This paper presents the algorithmic details of the proposed protocol
1
Introduction
MANET is multi hop wireless network that result from the cooperative engagement of a collection of mobile hosts without any centralized access point [l]. Since the mobile nodes in the MANET dynamically establish routes among themselves to form their own network, such networks are also known as infrastructure less networks. MANET is an excellent tool to handle the situations like disaster recovery, crowd control, etc. where no infrastructure exists at the time of occurrence of such events. The routing in MANET becomes extremely challenging especially because of its inherent dynamic nature coupled with constraints like limited bandwidth etc. In this paper, a new routing protocol for MANET is being proposed. It utilizes the technology of GPS in order to discover the probable location of the users which in turn could help in increasing the efficacy of the route discovery process. The algorithmic details of proposed protocol called “Location Aware Routing Protocol (LARP) ” are provided in the sections given below.
2
LARP- The Proposed Protocol
Before proceeding to discuss the algorithm of LAW, a brief discussion about various packets, tables required by the protocol is given in following subsections. 2.1
Data Packet (DP) Header
This packet is used for exchange of data between the mobile nodes [ 13. The format of data packet header is given in Fig 1. Bytes 1 2 4 Figure 1. Format of Data-Packet Header.
4
230
4-64
(4 bits)
23 1
2.2
Location Knowledge Table (LKT)
In this framework, the technology of GPS has been employed. Each node maintains location of every other node in the ad hoc network into a table called Location Knowledge Table as shown in Fig. 2. In order to maintain up-to-date location of mobile nodes, LKT is updated after regular intervals of time. The last three locations of mobile nodes are maintained for predicting the mobility pattern of the nodes.
Figure 2.Format of LKT.
2.3
Neighbor Awareness Table (NAT)
Each node in a cell maintains information about its neighboring nodes by broadcasting a Beacon-Request packet (see Fig 3). The format of Beacon-Request packet is given in Fig 4.Every recipient node adds the information of sender into a table called Neighbor Awareness Table (NAT) [1,2]. The addresses of neighboring nodes in NAT are stored in the decreasing order of their stable power signals as shown in Fig 5The neighbor nodes, which receive Beacon-Request packet in turn acknowledge by sending a Beacon- Reply packet. The Format of BeaconReply packet is given in Fig. 6. 2.4
Best Neighbor Node Selection Algorithm (BNNSA)
In order to provide the least number of nodes that a data packet (DP) may visit during its travel from source to destination, an algorithm called BNNSA has been designed [I]. This algorithm attempts to discover the best neighbor node to which DP should be forwarded. A search for destination I intermediate node is carried out. If the destination node is with in the same cell, then DP is forwarded to the node through a function called Forward ( ). In a situation when destination node is not in the vicinity of source node then BNNSA chooses the farthest node which is located in similar direction as that of destination node and has not been a visited node in NAT through a function called Get-Farthest-Node () as next intermediate destination for DP. The reason for selecting farthest node is that such a node has a higher probability of being in proximity of the destination node as compared to a nearer node that is likely to have almost same NAT entries as the node in question.
2.5
The Proposed Protocol for Routing of Data Packet: LARP
A Location Aware Routing Protocol (LARP) is designed that routes the DP from source to destination. In fact, it is the core algorithm, which sends DP efficiently by
232
suitably using BNNSA, LKT and NAT. Firstly, LARP checks the value of TimeTo-Live (TTL). If the value of DP.TTL is found to be greater than 16, then DP has to be retransmitted from the source of DP. In case TTL is lesser than 16, the destination address of DP is compared with address of the visited node to establish whether the DP is meant for itself or not. If DP is meant for the visited node then the DP is read else DP. TTL value is incremented by one and BNNSA ( ) is called to forward DP to its destination. As soon as a DP arrives at a node, the node uses the L A W algorithm to route DP to its destination.
202.31.12.10 202.31.12.12 202.31.12.15 Figure 3. Beacon initiation by Node
I
Figure 6. Format of Beacon-Reply packet
3
Conclusion
LARP is a table driven routing protocol that drastically reduces the flooding of data packets by using BNNSA’s Global Positioning System (GPS) and NAT. The channel overhead has also been significantly curtailed leading to reduction in packet processing and thus saving of valuable battery back up. References
1. A.K. Sharma and A. Goel, “Moment to Moment Node Transition Awareness Protocol (MOMENTAP) ”, International Journal of Computer Applications (IJCA) Special Issue, IASTED, Vol. 2711, Jan 05, pp. 1-9.
EFFICIENT CHANNEL ALLOCATION BASED ON PRIORITY OF THE VIJlEO IN VOD SYSTEMS D. N. SUJATHA~,RAJESH K. vl, GIRISH K ~VENUGOPAL , K. R’ AND L. M. PATNAIK~ ’ Department of Computer Science and Engineering, Bangalore Universiv. ‘Microprocessor Applications Laboratory, Indian Institute of Science, Bangalore. [email protected], [email protected]. in Abstract. Today’s technology offers easy access to multimedia services through high-speed communication networks. A Video-on-Demand (VoD) service allows customers to connect to an on-line video server and asynchronously watch videos. A Video-on-Demand system is typically implemented by Client-Server architecture. This paper presents a scheme of channel allocation based on priority of the requested video, to increase effkient channel utilization and lower the download time. This allocation scheme shows better performance when compared to conventional way of allocating channels.
1
Introduction
With the advent of networking technologies, Video-on-Demand has become an important application, A Video-on-Demand system can be designed with three major network configurations viz., Centralized, Networked and Distributed. When a client requests for a particular video to be played, the video server is responsible for streaming the request reserves sufficient processing capability and network bandwidth for the video stream to guarantee continuous playback of the video. Sridhar et al. [ 11proposed multicast patch with cache to provide truly adaptive VoD service. The idea of Mcache is to use batching, patching and prefix caching technique to complement one another. Mounir et al. [2] proposed an incremental channel design at the server side with a specific broadcast schedule so that the users can choose among a range of bandwidths to download the video at the cost of their access latency. In Bandwidth Efficient Video-on-Demand Algorithm (BEVA) [3], batching and patching have been proposed to reduce the bandwidth requirements of a VoD system that is not dependent on the user interactions. The determination of efficient transmission scheme for Video-on-Demand services selects an appropriate delivery scheme for the videos according to both priority of videos and the customer reneging behavior [4]. An algorithm to allocate channel effectively based on the priority of the video is discussed in [ 5 ] . Jack et a1.[6] have proposed channel folding technique as an aggressive client-side caching which is used to merge clients from one multicast channel to the other. The channel folding algorithm is applied to Unified Video-on-Demand (UVOD) architecture to demonstrate and to quantify its impact on the performance and trade off in multicast video distribution architecture. 233
234
2 2.I
System Environment DeJinitions
1. Priority of video is a dynamic entity, it depends on the number of users requesting for a video at any instant. 2. Download time is the time required for a video to be streamed to the local server from the multimedia server. 3. Blocking factor is the ratio of the number of rejected requests to the total number of requests. 2.2
Architecture
Server Management Unit: The steps in the server management are as follows a) The user requests the local server for a video. b) The video is first searched on the local server and then on the multimedia server. If available then the request is accepted. c) The video stream is transferred from the multimedia server to the local server and finally to the users. d) The virtual circuit is set up between client and the local server. 2. Batching: All the users must wait for a minimum of S(t) seconds, called as batching time. The users requesting for the same video during batching time are serviced using multicasting so that bandwidth requirement is optimized. 3. Scheduler: If the request is not present in the local server, in the worst case, it may take up to x seconds to wait before the required video is made available to the local server. The network model aims to solve this problem by allocating channels between multimedia server and the local server based on priority. 1.
3
Problem
Given a VoD Network M(L,C,U), the multimedia server M consists of a finite set of local servers L=(lr, h, . . . , In), a finite set of optical channels C = { ( ~ i ,CjVCi, ci € L Ci # Cj}. Each local server li, where i=1,2,. . . n is connected to a set of users U = (u,, u2,. . . , U") (where Ui # w). The objectives of this work are to allocate channels effectively, and to reduce the download time at the local server.
Algorithm: Eficient Channel Allocation based on Priority of the Video in Video-on-DemandSystems (ECPV) The following notations are used in this algorithm, ri : Request for video i in local server; ni : Total number of requests for video i in local server; v[ 1 : An array containing all videos available in the multimedia server; s[ : An array which keeps track of the videos which are being served; freech : Free channels in the local server at any given time; chi,,: Channels allocated at any instant of time t for a video i in the local server; totch : Total number of channels in the local server.
235
Request-Service routine in the local server. freech = totch if ( v[ does not contain video i ) then reject request ri else q =q + I sfd = video i i = s[d if fieech = totch) then chi,, = totch freech = nuN else for( p = 0 ;p < q ;p++) sum = sum+ rSLpI end for for(p = I ; p < q ; p + + ) new channels = (total channels * requestsfor video p)/sum j = SI~I
d = chj,,- new channels if ((chj,,- d ) >= 1) then de-allocate d channels Chj.1 = chj,, - d freech =freech + d end if end for chi,,=fi.eech fieech = null end if end if
De-allocation routine in the local server do while(true) stream all videos if (Video i finished streaming) then de-allocate chi,, freech =freech + chi,, for(p = 0 ; p < q ; p + + ) sum = sum+ rSLpI end for for ( p = I ; p <= q ; p + + ) new channels = gree channels * requestsfor video p)/sum j = sfp] ch,,, = ch,, + new channels end for end if end do
236
When a request arrives, the video will be streamed to the user if it is available at the local server. Otherwise, it is checked at the multimedia server and if the video is not available then the request is rejected. On arrival of the first request, the entire bandwidth is allocated to the user. Otherwise the channels are reallocated in proportion to the number of requests for a video. It is ensured that every streaming video is allocated a channel of minimum bandwidth. Let the number of requests for a video vi of length Zi be ri.where i = { I , 2 . . . m}.The bandwidth for each channel is b and the number of channels is assumed to be N, therefore the total bandwidth available is bN.The channels allocated at any instant t for vi can be represented as chi,,= (ri*N)/(Zi=, ,om (RJ). The bandwidth allocated to the corresponding video vi is b * The time required to download the i" video = n; when t= Z,=lII (b * cki,J. The number of videos that are downloaded MD can be represented as Ci=llo k (vJ whenC,=I,o,,(5 *chi , J =hi. 4
Performance Analysis
The performance parameters of interest are channel allocation, channel utilization of the local servers, blocking rate and the download time. Figure 1 shows that the number of channels allocated for the most popular videos at any given time is more compared to the channels allocated using the BEVA approach. 40
AEVA-
- -ECW-
,
1
D
o
.
.
flNA---
ECPV-
70
Fig. 1 No. of Requests vs. Channels Allocated
Fig. 2 Video Number vs. Download Time
Figure 2 is plotted by simulating both the schemes for the same amval time and video length. It is observed that the downloading time is comparatively lower than that required for the earlier approach. This is because of the allocation of channels based on priority. Figure 3 shows the number of videos downloaded at any instant of time. We can say that the time taken by ECPV approach is lower than that of earlier technique. Figure 4 shows the blocking rate of the requested videos. The simulated results show that lower numbers of requests are rejected in ECPV approach than the other algorithm. Hence the ECPV approach is much better than BEVA approach in the operating region.
237 BEVA
-
ECPV -*-
i
Fig. 3 Time vs. Downloaded Movies
Fig. 4 Number of Requests vs. Block Rate
Conclusions
5
This paper proposes channel allocation for Video-on-Demand systems. The proposed ECPV algorithm utilizes the channels effectively, efficiently and fairly. The time required to download the videos is lower when compared to the other algorithm. It is observed that the number of videos downloaded is much higher and the blocking rate is lower in our approach. Further work can be carried out to estimate the cost characteristics of Video-on-Demand systems.
References 1. Sridhar Ramesh, Injong Rhee, Katherin Guo, “Multicast with cache (Mcache):
2. 3. 4. 5. 6.
An Adaptive Zero-Delay Video-on demand Services”, IEEE Trans. on Circuits and Systems for Video Technology, 2001. Mounir A Tantaoui, Kein A. Hua, Tai T. Do, “Broadcatch: A Periodic Broadcast Technique for Heterogeneous VoD’, IEEE Trans. on Broadcasting, vol. 50, no. 3, pp. 289-301, Sep. 2004. Santosh Kulkarni, “Bandwidth Efficient video on Demand Algorithm”, Tenth Intl. Conf. on Telecommunications, vol. 2, pp. 1335-1342,2003, W. F. Poon, K. T. Lo, and J. Feng, “Determination of Efficient Transmission Scheme for VoD Services”, IEEE Trans. on Circuits and Systems for Video Technology, vol. 13, no. 2,pp. 188-192, Feb. 2003. D. N. Sujatha, Venugopal K. R and L. M. Patnaik, “Design Issues in Channel Allocation for VoD’, Technical Report, University Visveswaraya College of Engineering, Bangalore University, Bangalore, Dec. 2003. Jack Y.B. Lee, “Channel Folding - An algorithm to improve Efficiency of Multicast VoD Systems”, IEEE Trans. on Multimedia, vol. 7, no. 2, pp. 366378, April 2005.
REAL TIME VIDEO AND AUDIO TRANSMITION ACROSS THE NETWORK M.M. MANJURUL ISLAM, MIR MD. JAHANGIR KABIR, MD. ROBIUR RAHMAN AND BOSHIR AHMED Computer Science and Engineering, Rajshahi University ofEngineering and Technology,Rajshah i-6204, Bangladesh. E-mail:[email protected]. sugar-31 [email protected]
Receiving and transmitting audio and video streams across the network .RTP (Real Time Protocol) is used for data transmitting over the network. This paper attempts to transmit each of the tracks within the given input media. For which RTP session is created for each media track. For that purpose, the RTP Session API instead of the DataSink API is used for flexibility. RTP format is set for each track. For video, special attention is taken to ensure that the input sizes are usable for RTP transmission. Real-time scaling is applied when necessary. Audio and video synchronizations are maintained as enough can be possible. Such that video and audio transfers in real time; there is no file retrieval latency. The video and audio result in compelling another computer in network. Real time video and audio data can be effectively served over the network with the proper transmission protocol.
1
Introduction
The aim of this experiment is to test the feasibility and usability of the recently available telecommunication technology for Real Time Videio Conference,even when they are remote fiom the site of the transmission.The systems design for entire clients and servers has concentrated on RTP retrieval and the structuring of document-based information . This is reflected in the use of the file transfer mode of RTP retrieval and the use of stream-based protocols Transmitting the media beneath phases are applied 1. Creation a Processor with a DataSource that represents the data I want to transmit. 2. Configure the Processor to output RTP-encoded data. 3. Get the output from the Processor as a Datasource
238
239
2
Experimental Results:
We carried out several experiments over the network. Our test data set consisted of two MPEG movie files, two MP3 files and three different Capture source. Table I tabulates the test values are given below
Table 1. Test data of different types of video
Video Session
Name .
~
_
_
_
Bit Rate(avg) _
-
.
SmalLmpg
2500 kbps
Large.mpg
2200 kbps
22 f p s
Small1.mpg
2600 kbps
28 f p s
420 kbps 510 kbps ~
Large1.mpg
2240 kbps
25 f p s
450 kbps
Small.mp3
510 kbps
Large.mp3
480 kbps
Smalll.mp3
3
Conclusion
We have described the experiments of video conference on network. By using Local area network(LAN) transmitting media streams with RTP technique, it is more reliable than full file transfer paradigm using TCP technique.Our experiments conclude that it is possible to transmit good quality video over the present day Network with RTP. Out work indicates that a video-enhanced Network is indeed possible. The audio video transmission can perform also as:i) Voice chatt: Two client can chatting by transmitting video or audio from web camera or microohone each other and receiving. ii) Netmeeting: By the same process some client can meet together across network.
Mobile Payments: Partner or Perish? Elaine Lawrence Agnieszka Zmijewska Sojen Pradhan Building 10, Jones Street, Broadway NSW 2007, Australia [email protected]
Abstract. Mobile payment hype posits that Mobile Commerce will deliver ecommerce services directly into the consumers’ hands - anytime, anywhere - using wireless technologies. However our research has indicated that in the short term at least these services will like& be low value and various mobile payment initiatives have failed or will fail. Applying mobile access to computing creates both tremendous commercial opportunities and complexity, yet will make computing globally pervasive and ubiquitous. Providing such services is fraught with problems such as legal and security issues as well as the need to track payments whilst the consumer is on the move and the mobile device may drop out. Customers prefer a choice in the channels through which they do business and the same applies to mobile payments as well. The research questions are: Is it necessary to partner to achieve success in the mobile payment area? Is it a case of partner or perish? This paper reports on three Australian Case studies to explore the current state of mobile financial transactions and illustrates the difficulties faced by both mobile payment enablers and I 0090consumers.
1. Introduction Recent research in Australia has revealed that the reality of mobile commerce is fraught with difficulties. Consumers are concerned by privacy and security issues as well as the legal implications of doing business in a mobile environment. Furthermore it is not just consumers who are worried - merchants who would hope to add an extra channel for payment of services are also troubled and recent history has not given them much cause for optimism. However wireless access is a convenient and easy way for customers to extend the availability of e-commerce services to fblfill their needs any time, anywhere. Mobile commerce makes it possible for them to order and pay for goods or services regardless of where they happen to be [3]. However mobile payments are still in an early stage of development. Although they have only been around for several years, new systems are appearing and disappearing every month. As stated by San Murugesan [7], the success of innovative mobile applications depends not just on the soundness of the technology but also on an organization’s ability to bring that technology to market and get it adopted by customers. 240
`
This paper reports on how three mobile payment players have taken the technology and used their organization’s skills to bring their mobile payment products to market. Some have succeeded, some are struggling but all are hoping to win in the mobile space. Section 2 of this paper gives an overview of the background to mobile payment systems. Section 3 presents the methodology used in this research while Section 4 sets out the results of the case studies. Finally, section 5 provides a conclusion and an overview of -future research based on the results of this study.
2. Background to Mobile Payment Solutions A study conducted by MORI (Market and Opinion Research Int~ational), Britain’s largest independent market research agency, revealed that mobile phone users view mobile commerce as complementary to alternative Internet commerce [11. The study was done globally in six different countries, by interviewing 11,000 people across those markets. The study also showed that 90 % of them were interested in using m-commerce services and they also showed their willingness to pay extra for the convenience of making purchases with m-commerce. This study shows that convenience and control will play a pivotal role in the acceptance of m-commerce in the future. The Global head of Market Research, Nokia Networks said, It is clearporn this study that the market sees in-commerce as a natural extension of e-commerce [ 11. One of the reasons for the potential phenomenal growth of the m - c o ~ e r c is e that the mobile user offen finds wireless data to be more convenient and cost effective to use than wireless voice 1121. These could involve different applications such as mobile banking, m-broker services, mobile money transfer and mobile payments as shown in the fig& 1 below:
Traflsa~iofls(Source:1131Vashney and Ve~er,
3. Methodology Y This paper follows on fiom previous studies on mobile payment systems and their impact in the mobile enterprise undertaken by the researchers from 2003 - 2005 [S,6 , 8, 9, 10, 14, 15, 161. The paper reports on an exploratory study of three Australian
242
companies involved in the supplying of systems capable of providing mobile payments. Sekaran [ 111 is reported as saying that exploratory studies are useful when researchers do not know much about the situation at hand. Exploratory research is conducted into an issue when there are very few earlier studies that can provide information about this issue [2]. In such research, the focus is on gaining insights and familiarity with the research area for more rigorous investigation at a later stage. Case studies are a typical technique used in exploratory research. Interviews are common in exploratory studies, as they provide the ability to identify relevant issues when little is known about the topic being investigated [2]. This research was approached in several phases. First, a literature review was undertaken to understand and draw out the critical success factors associated with mobile payments. These include the consumers’ perception and the merchants’ acceptance of the mobile payment instrument, especially as the latter bears the higher cost and risks, especially if there are difficulties in attracting partners (see Case Studies). Finally the technology is a vital enabler to achieve or improve success [4]. The literature review and subsequent analysis of the issues and synergies drawn from the literature led to the development of the following research question: Is it necessary to partner to achieve success in the mobile payment area? Is it a case ofpartner or perish? Our research has involved interviewing of staff of three mobile payment providers here in Australia. These interviews are then reported as case studies. Denzin and Lincoln [ 2 ] acknowledge that unstructured interviewing provides a greater breadth than the other (interview) types, given its qualitative nature. The research was not only seeking to understand the approach taken by developers and suppliers of mobile financial transaction devices, but also to understand some of the risks and issues associated with mobile financial transactions. They also point out that “...the goal of unstructured interviewing is understanding; it becomes paramount for the researcher to establish rapport ” [2]. A rapport engendering semi-structured interview approach was adopted to both elicit issues and risks, and constrain the interview content to the research focus. The semi- structured interviews were based and on the following subjects: b an overview of the company, b the mobile payment products and specific issues such as usability and security, their perspective on enabling technologies, b the current market situation and b experiences with potential third party partnership to market the product
4. Case Studies 4.1 CardAccess is an innovative Sydney company that offers a range of exciting mobile payment options. It recently was awarded $lmillion dollars from the Federal Government of Australia to develop Bluetooth credit card and smart card reader CASPad. This hand-held secured bank-accepted device will be used to secure the
243
bank purchase or payment values with encryption to provide EFTPOS security to the home PC, mobile or television set-top box. Another of their offerings is Mobepay which is a mobile payment solution that enables Merchants to manually process credit card transactions via their mobile phone or PDA. The Merchant enters the cardholder's details into a secure online application. This is transmitted via GPRS or Ix in real time to the CAS payment gateway where it processes the payment, then returns the response (accepted or declined) to the Merchant's mobile device. See Figure 2 in the right hand side:
Fig. 2. Mobepay (www.cardaccess.com.au)
In early trials of the CASPad system, this company used Infrared, but discontinued as users were inconvenienced by the need to have line of sight for operational purposes. Two devices must be held accurately for the beams to pass through. The interviewee, one of the key stakeholders, emphasized that they decided to use Bluetooth instead as it was inbuilt on many mobile devices. Each card reader CASPad has a unique key and triple DBS encryption. There is end-to-end triple DBS between the CASPad and the Bank Gateway to ensure secure transport layer communication through encryption. A Bank Gateway retains Merchant product and service details of the transactions. This information is available for the Merchant and Cardholder for one year and is password protected using a unique audit number which is passed during each transaction. CASPad is a small, light battery powered, rechargeable card reader. It can be recharged from its charger or from a PC USB port or car charger. When customer cards are inserted into the CASPad, it displays on the Mobile phone into which merchants can enter information. Also it can be used in PCs or other card readers (ECR) at shops. The retail cost is AUD $300. It has the capability to read bank smart cards with EMV compliance, drivers' licenses, medicard, local RSL club membership cards and others with magnetic strips Track 1 IATA (International Air Transport Association) standard and Track 2 ABA (American Banking Association) Standard. It can also read any card systems embedded with RFID (ISO 01443 A & B), for instance, the new NSW Ministry of transport Mifare"T" card and its non-Phillips competitive standard card. The speed of transaction is the same as regular card readers. The Operating system is Simbian OS which is available on most Mobile telephones with Bluetooth for example new Nokias, Sony Ericssons and any Microsoft OS (all PDAs and mobile phones XDAs, HP). CardAccess has been developing personalized versions for Coca Cola vending machines, parking meters, and others. The cost of Bluetooth has been reduced dramatically which should help people to use this
244
technology in near future. It also provides some reconciling functions which could be extremely usefd for chain-stores or Aggregators with huge volume of transactions per day. CardAccess Partnership with Third Parties Interviews with key stakeholders and site visits at the company revealed that their system has had excellent mpayment results. One key inhibiting factor has been establishing partnerships with the banks as CardAccess initially had a difficult time convincing banks to trust their security system. In Australia the BIG four banks, Westpac, ANZ, Commonwealth and National Australia Bank have enormous clout in the marketplace. CardAccess now works with WestPac and is close to cooperation with the Commonwealth Bank and fifth biggest bank St George. One interviewee believes that Australian mpayment providers are inhibited by the banks who sees them as potential rivals to their own financial viability. Another spokesperson said, “Australia and the United States are well behind Europe and Asia because of the lack of cooperation between mpayment providers and financial institutions”. He felt that the telecommunication providers were much easier to partner with as they did not see the mpayment providers as competitors but as partners. The consensus was that mpayment providers must partner or perish and in this case they have been able to partner with one bank and will have other banks onside shortly.
4.2 SmarQ Case Study The Sydney Company Mosaique has developed the SmarQ system for mobile payments. This system requires a GPRS enabled mobile phone, a wireless reader and wireless receipt printer. The mpayment system provided by Mosaique is very similar to the CardAccess system. Partnership between these two companies is illustrated by the fact that Smarq uses CardAccess’s backend system even though it is marketed as a totally separate brand. This system uses the following technologies: 0 0
GPRS Bluetooth
0 0
MIDP 2.0 Java EMVland2
SmarQ has simple verification process that eliminates the risk of card skimming fraud. After swiping the credit card, the last 4 digits are keyed in on mobile phone, the number must match with that of the real account or else transaction is not processed. If supported by bank CVC2lCW2 (3 digit security code printed on the back of the credit card) can also be checked for extra security. Its major advantage is its security as all customer details are triple DES encrypted and no customer details are kept on the phone when the application is closed. The actual application resides on the phone and presents a consistent user interface to the user and allows the user to follow through simple steps. Customers swipe their credit card, then enter the last 4 digits of the Credit card number, which is mandatory, and finally enter the 3 or 4 digit CID (Credit Card Identifier) number (optional). The
245
device proceeds with the transaction if card and magnetic stripe details are a match the transaction is refused if there is no match. The receipt is printed and signed. An electronic receipt in the form of an SMS also can be sent to customer’s mobile.
SmarQ Partnership with Third Parties As reported in the previous case study, one of the key stakeholders of the company stated that banks are both opportunity and road block for them. Banks have large number of customers and, if customers or merchants ask for this mobile solution ‘SmarQ’, then the banks will utilize this system. The key stakeholder also expressed “...its greatest opportunity is in building up partnership with banks”. In an attempt to achieve this, SmarQ is running a pilot study with one of the major banks in Australia. A first attempt at partnering has already been established and it is now a matter of consumers being made aware of the products to assist companies like this to survive. Telecommunication companies are in a way competing with banks to provide this sort of service. In terms of collecting money from customers, the issue remains: should banks or telcos be the collector? Thus there is more competition between banks and telcos to provide this service and get some portion of service fee.
4.3 Case Study 3 :mHits The Canberra based company Thiri Pty Ltd developed the mHits platform to enable users to top-up pre-paid mobile recharge voucher at any time from their mobile handsets. For financial transactions, users do not need access to a credit card, but they must use a 3rd party system. &its established Paypal accounts through which the transactions take place. This platform was developed as an attempt to eliminate the telcos’ monopoly of billing processes and distribution chain for handset initiated transactions. mHits later expanded its vision to allow users to buy other products such as ringtones and games. Simple SMS messages are used. A non premium rate number for the SMS is used so that tariff (charge for ordering or sending a SMS) can be set independently of a Telco. However, during registration, users have to open a Paypal account, if they do not have one already set up. All registration information is secure and fully compliant with Australian Privacy regulations. During the registration processes an access code is sent to mobile as a SMS Usability Issues. It uses SMS as the primary interface medium. Ordering and delivering pre-paid re-charge vouchers is the logical next step in the evolution of prepaid mobile. This can be done anytime, anywhere. It is a free service. There is no additional charge for order or delivery of vouchers. Users only pay the standard retail price for the re-charge voucher ordered. Users send a SMS text message with their network ID [for example OTS (Optus), VDF (Vodafone), TLS (Telstra) and so on] to a dedicated mobile number 0428 696 448 [0428 my mhit]. Users receive a SMS text message containing the PIN for their re-charge including re-charge instructions. Users call their network re-charge number (free call) and enter their PIN to apply credit to their pre-paid account. Alternatively, recharge can be done online www.mhits.com.au. The following diagram shows how it works
246
mHits Partnership with Third Parties mHits is the only network independent re-charge provider to service all major Australian pre-paid networks. Since &its is servicing all major network, any pre-paid mobile users can use this service. mHits partnered with a third party billing company called PAYbySNAP which works like a simple bank account. However one of the key stakeholders mentioned that it is almost impossible for small companies like this to get a bank license as a deposit taking institution. Fig. 3. mHits (www.mhits.com.au) Consequently the company had to suspend SnapAccount. They believed that banks were ready to partner with this system but as none did, in April 2005, the service was suspended despite a really intensive effort by the company to interest the banks. PAYbySnap hopes that someone in future will come to partner or buy this system. The failure of PAYbySNAP to get a partner has led to the closure of mHits.
5. Conclusion The success of mobile commerce depends on the delivery of attractive service packages that are personalised for the individual with easy to use terminals at the right price. Despite the optimistic forecasts for mpayment solutions, there remain only few examples of successful programs. Since mobile phone subscriptions continue to grow globally, it still remains a clear opportunity for micropayment market. The collapse of &its in Australia has surprised many in this industry. One main reason for the closing down of these services has been the inability to successfully partner, demonstrating that third party involvement is crucial for any mpayment system. The Australian CardAccess and SmarQ systems also demonstrate that partnering with third parties, such as banks and telcos, is vital for the success of these systems. Without such partners, mpayment providers are more likely to perish.
247
References [ 1] Cellular. Co.Za, “Mass market ready and waiting for mobile commerce”, Consumer s t u 4 for Nokia [Online] Available:http://www.cellular.co.za/news~2001/05252001 [2] Denzin, Norman K. & Lincoln, Yvonna, Handbook of Qualitative Research, Sage Publications, 1994 [3] Eskadenia.com, “M-Commerce”, eskadenia.com, [Online] Available: http://www .eskadenia.corn/misc/M-commerce.asp [4] Hort, C. Gross, S, Fleisch, E. “Critical Success factors of Mobile payment” M- Lab - The mobile and ubiquitous computer lab http://www.m-lab.ch/pubs/WP13-abstract.pdf2005 University of St Gallen [5] Lawrence, E. Culjak, G and Injam, S., “M-Enterprise Technology: Diffusion of Innovation Awareness, Adoption and Uptake”, The Second International Conference on Mobile Business, Vienna, Austria, 23/24 June 2003, pp 15 - 26. [6] Lawrence, E. Culjak, G and Injam, S., “Bluetooth in the M-Enterprise: true blue believers?’ International Conference on Information Technology: Coding and Computing, Institute of Electrical and Electronics Engineers, Inc., Las Vegas, 2003, pp 281 - 286. [7 ] Murugesan, San, 2005, “Open Statement”, Cutter IT Journal, June 2005. [8] Pradhan, S.,Lawrence, E., Newton, S. & Das, J. “Bluetooth Potential in the M-Enterprise: A Feasibility Study”. Proceedings of the International Conference on Information Technology, ITCC 2004, Las Vegas 5 - 7 April 2004. [9] Pradhan, S.,“Mobile Commerce in Financial Services”, Proceedings of the International Business Information Management ( I B I M ) Conference 2003, Cairo, 16 - 19 Dec 2003. [lo] Pradhan, S.,“Mobile Commerce for Online Investors”, Proceedings of The International Conference on Information Technology, Prospects and Challenges in the 2 1“ century, (ITPC), Katmandu, Nepal, 23 - 26 May 2003. [I 1] Sekaran, U., Research methodsfor Business: A Skill-Building Approach, 2”dEdition, John Wiley & Sons, USA, 1992. [12] Strachey, Jane, “M-Commerce: The status quo”, Mobile Commerce World, Gemplus, 7 April, 2003. [131 Varshney, Upakar and Vetter, Ron, “Mobile Commerce: Framework, Applications and Networking Support”, Mobile Networks and Applications, Kluwer Academic Publishers, Netherlands, 2002. [I41 Zmijewska, A., Lawrence, E., Steele, R. “Classifying m-Payments - a User-centric Model”. Proceedings of the Infernational Conference on Mobile Business, New York, US, 2004. [151 Zmijewska, A., Lawrence, E., Steele, R., “Towards Understanding of Factors Influencing User Acceptance of Mobile Payment Systems”. Proceedings of the IADIS International Conference WWW/Internet, Madrid, Spain, October 2004. [16] Zmijewska, A.,Lawrence, E., Steele, R., “Towards a Successful Global Payment System in Mobile Commerce”. IADIS International Conference E-Commerce December 2004, Lisbon, Portugal, 2004 [17lhyperlinks for case studies a. http://www.cardaccess.com.au b. http://www.smarq.com.au c. http://www.mhits.com.au
COMBADGE: A VOICE MESSAGING DEVICE FOR THE MASSES JAMES L. FRANKEL AND DANIEL BROMBERG it sub is hi Electric Research Laboratories, 201 Broadway, Cambridge, 1LL4 02139, USA E-mail: frankclkimcrl .corn, cianiclhiidaluni .iiiit. cdu While the computer and communication revolutions have had a profound impact on the ways in which we all lead our lives, this impact has not reached much of the world’s population. The Combadge’ project has created a portable device and affordable service that bring personto-person communication technology to the developing world. This system design allows even illiterate people to exchange messages utilizing easy-to-use devices that communicate over inexpensive heterogeneousnetworks.
1.Overview/Concept ilithium (see figs. 1 and 2) is a small, handheld computing device intended to be a test bed for applications that require neither a keyboard, pointing device, nor display. Combadge is a voice messaging application akin to AOL IM’, but embedded in an appliance-like device in which audio messages are recorded, transmitted, and played back. In this paper, we will use the term Combadge henceforth to refer to the Combadge application as embedded in the Dilithium device.
Figure 2. Front side of motherboard.
Figure 1. Fully-assembled.
To demonstrate the use of these devices, imagine a sample interaction using Combadge by one user, Kirk, who wants to send a voice message to another user, Spock. Kirk would push the push-to-talk button on his Combadge and utter ““New message for Spock,” then release the button. The Combadge would say, “Record your message for Spock.” Kirk would then push the button again and utter ““We should meet on the bridge in five minutes,” then release the button. After each button press, the Combadge will acknowledge with a low-pitched beep and after each button release, the Combadge will acknowledge with a higher-pitched beep. After a brief delay, Spock’s Combadge will say, “You have one new message,” the five blue LEDs located under each of the translucent left and right side push-to-talk buttons will alternately flash, and the front left green LED will repeatedly flash 248
249 once separated by a longer pause to indicate one new unheard message. When Spock is able to listen to the message, he presses the button and says, “Play new messages,” then releases the button. Spock’s Combadge replies by playing back Kirk’s recorded message exactly as recorded by Kirk’s Combadge. This is followed by a final low oscillating tone to indicate the end of message playback. The scenario above is exemplary of the ease of use, simplicity of interface, and accessibility to a broad range of uses. A concise set of commands allows status inquiry and message navigation, as well as the ability to customize the application’s behavior. However, none of these more elaborate commands need be used by the nayve user. This interface makes the Combadge accessible to the illiterate as well as appealing to young children, the elderly, and to those who don’t like the intrusiveness of cellular phones because of the expectation of real-time interaction at indeterminate times (see section 3 below). One of our goals in the development of this system is to make current communication technology accessible and available to the less privileged and less educated people of the world3. To do so, we have created a system in which literacy and wealth are not necessary - we have reduced the cost of the device and the cost of the service over which the device communicates. To demonstrate the effectiveness of such a device, we worked with the TIER Project4 at the University of California at Berkeley to deploy Combadges in Tamil Nadu, India in collaboration with the MS Swaminathan Research Foundation (MSSFF)’ during the summer of 2005. In contrast to voice mail on cellular phones, the system we have designed is simple, optimized for voice messaging, doesn’t require any tree-like menu navigation, and uses voice input and output exclusively. Of course, our software and concepts could be implemented on a cellular phone at the additional cost of that platform. In some sense, the contribution of this project is the aggregation of many concepts into a cleanly designed and easily usable appliance. While somewhat similar to walkie-talkies, Combadge takes the paradigm of rapid exchanges between two remote parties using push-to-talk communication and extends that paradigm by transmitting digitized stored messages to named devices over long distances. 1.1
Earlier Work
Background work includes computer-telephony integration (voice mail6, Phoneshell’), speech recognition (Chatter’, SpeechActs?, standalone handheld speech recognition (VoiceNotes”), and one-way voice messaging over pager networks’ ’. The wearable computing arena (Nomadic Radio’*) has touched upon voice-enabled access to services, but not specifically for voice messaging applications. More recent work includes handheld devices requiring constant contact to a high-speed network and server-based speech recognition (SirnPh~ny’~, Vocera Communication~’~”’),PAN-based devices (G-TEK Electronics PWG-300’6), and numerous VOIP handsets.
250
This project has extended earlier work by distributing more computation to the handheld device - voice recognition, compression, phonebook maintenance, and message caching are now performed in the device itself - allowing the Combadge to function whether connected or disconnected from the network and over networks of varying bandwidth and latency. 2
Accessibility of Communications Technology
The primary audience for Combadge is the multitudes of people who have not benefited from the digital revolution, thus resulting in the Digital Divide”. For much of the world’s population, cellular phones and the Internet are still not available or are too expensive. In many cases, a small number of shared phones are used by a large population. In our target rural village communities, many people want to communicate with relatives and friends who have moved to other villages and to cities but illiteracy makes it difficult or impossible. In constructing an interface that is usable by illiterate people, we focused on voice rather than text as the message content and command dialog. All of the prompts are spoken by the device and all commands are spoken by the user using a simple push-to-talk interface. The device requires little or no training: essentially it has a single push-to-talk button (one on the left for right-handed users and vice versa) and a simple command structure. The voice recognition software is almost completely speaker independent (see sections 3 and 6) and requires no training. In order to make communications technology accessible to the less affluent, both the device and service costs must be reduced. In most handheld devices, the three most expensive components are the radio transceiver, the processor chip, and the display. In order to reduce the cost of the Dilithium hardware platform, we have designed an interface that neither requires nor includes a display. In addition, we do not use either a keyboard or a pointing device. It is worth noting that the low prices charged for cellular phones do not reflect the cost to produce the device. Cellular phone device costs are recouped over the life of the service contract. When comparing costs, we are comparing the cost of a Dilithium device manufactured in production quantities to the cost of a cellular phone in similar quantities. Our goal of reaching the third world has required a less expensive service model. We have reduced the operating costs through several means: (1) we utilize a data packet protocol rather than a reserved channel as used by cellular voice communication, (2) we compress all messages prior to transmission, (3) we can use either 802.1 l b or GSM/GPRS for transmission. Using a data packet protocol does not guarantee real-time transmission of our messages, but this is not an issue because the application is based on queued voice messages. The data packet protocol does guarantee perfect transmission ( i e . , data integrity), a feature absent from cellular phones. The compression we perform need not be accomplished in real-time that is, we can employ better compression at the cost of delaying the transmission.
251 This compressed message utilizes less transmission time (Le., less radio spectrum and less power), leaving more spectrum for other users and prolonging battery life. This allows cells to either be larger in size to encompass more devices or allows a higher density of devices per cell. When a local area 802.11b network is available, the Combadge will utilize that network, which is usually free or available at lower cost. Compared to the cellular network, the local area network has higher bandwidth, allows unmetered communication, has lower latency, requires lower transmit power and, therefore, requires less battery power for communication thereby resulting in longer battery life. One important case in which the network would be free is when an 802.1 1b network is installed for Combadge communication. 802.11b connectivity may also be provided by long distance networks (see section 4.1).
3
Design Issues and Usability
Interaction with the Combadge is structured around the principal method that humans use for communication - speech. This design point results in a device that is approachable and not intimidating. A multi-threaded implementation allows a natural way for the user to control the interaction. By pushing the push-to-talk button and speaking the next input expected by the Combadge, a user can barge in to jump past any phrase currently being spoken. If the push-to-talk button is pressed just for a moment, the current transaction will be canceled. A user might barge in to truncate a familiar long prompt or to cancel sending a message. Each Combadge supports a phonebook of associations between a familiar nickname and the identity of a Combadge (or, potentially, a grouped list of Combadges). The nickname is called a nametag and is spoken by the user. In addition to running a speaker-independent speech recognition system, each Combadge also runs a speaker-dependent speech recognition system that is used to detect nametags. As is the case with voice mail and e-mail, the Combadge presents an interface that encourages messages to be answered when appropriate for the recipient rather than when demanded by the sender. This non-interrupting model is often the most suitable mode of interaction. Much care was invested in the user interface to ensure that the Combadge would act consistently in the presence or absence of a network connection, except for having the capability to transmit or receive messages. All speech recognition is performed within the Combadge and, therefore, dead spots in a network are invisible to a user. Whenever there are new messages and the recipient Combadge is connected to a network, those messages are automatically pushed to the Combadge. Even messages that have already been heard are kept cached within the Combadge unless the memory they use is needed for other incoming or outgoing messages. In addition, new outgoing messages are stored in the Combadge until the Combadge is able to send them to the server. Connectivity status is visible when the user requests to hear a message that is not currently in the Combadge’s message cache. In
252
this case, the user is told, “that message is unavailable.” Utility commands also indicate the connectivity state by giving the count of unsent messages (displayed on an LED, too) and the success percentage of pinging the server. If the quality of the connection to a network is poor, the degraded communication channel will increase the time it takes to send or receive messages, but eventually the exact original message will be transmitted. In addition to not requiring a continuous connection to our local network, our system does not require a continuous connection to the Internet either. An Internet connection (or at least a connection to a bridgehouter) is only needed when the destination of a message is on a different local area network. This behavior is ideal for a DakNetI8-like store-and-forward transmission system in the third world in which motorcycles or buses sporadically connect to an 802.11b network and drop off and pick up messages. In addition, several en ti tie^'^*'^^'^ are investigating long-range 802.1 1 spin-off technologies that would also be suitable networks to use with Combadge. In principle, our design can lead to increased battery life. As noted above, the Combadge transmits for a shorter time because we can perform better (non-realtime) compression. Also, by sequentially performing audio input, then compression, then transmission, the Combadge reduces its peak power demands. The lack of a display and its backlight also lead to lower power consumption. Unlike the multitude of voice messaging systems accessible through the PSTN (Public Switched Telephone Network), the Combadge presents a single consistent way to send and receive voice messages to and from any system. Interfaces to voice mail, e-mail, PSTN and other systems (fax, pagers, etc.) are all possible. 4
Description of the Dilithium Device and Operating System
The Dilithium platform is based on the Intel StrongARM processor. It contains 64 Mbytes each of SDRAM and Flash memory. There is an integrated GSM/GPRS modem and on-board SIM for wide-area networking. An optional daughterboard provides one or two Compact Flash (CF) slots for 802.1 l b local-area networking, additional Flash memory, hardwired Ethernet, or other uses. Two on-board silicon MEMS microphones are used for audio input and can provide active noise cancellation. A relatively wide dynamic-range speaker is used for audio output. The audio CODEC supports many standard sampling rates. The many LEDs on the device offer both visual feedback and visual appeal. The front central LED may be used for input in addition to its usual fhction as an output”. Dilithium includes a two-axis accelerometer that can be used to determine the device’s orientation and movement. This can be used to detect and utilize gestures to control an application. A vibrator is on the motherboard to allow silent operation as necessary. For connection with the outside world, a JTAG connector is provided to initialize the device, a USB connector is provided to allow communication with other USB devices and to recharge Combadge’s battery, extra serial ports are pro-
253
vided to function as a console terminal port and to communicate with other serial devices, two 2.5mm stereo micro phone jacks are available for stereo audio input and output to supplant the built-in microphones and speaker. Finally, there are two push-to-talk momentary pushbuttons on the left and right sides, a power-on button on the top edge, and a reset button recessed on the bottom edge. The Dilithium hardware required a new boot loader to initialize and test the CPU, Flash and RAM memory, and the peripherals and then to appropriately download and pass parameters to the operating system. Because the Dilithium device is part of a research project with diverse, changing, and expanding goals and is being used by other projects, Linux was chosen as the base operating system. This decision leverages all existing Linux software (including networking code) and all pre-compiled binaries for our CPU architecture. The starting point for the port was Familiar Linux 2.4.1923. Once the port was completed, much of Linux was immediately available. Code development used an ARM cross-compiler and remote connection tools such as “ssh.” Linux has provided a multi-language environment in which the Combadge system has been written. C was used for Linux and the Linux device drivers. C++ was used for the speech library. Python was used for much of the application layer. Shell scripts were used for 0s interfacing and utility operations. 5
Low-level Combadge Addressing
Each Combadge has a unique address associated with it. The address is the same no matter how the Combadge happens to be connected to the Internet or to other Combadges. Because there are several possible networks through which a Combadge may be connected (802.11b (WiFi), GSWGPRS, Ethernet, Ethernet over USB, etc.) and because of a desire to enable a Combadge to initially determine its own address without requiring an administrator, a Combadge address is determined based on which hardware is present, Once an address has been determined, the Combadge stores that address in an “identity” file in the Flash memory file system.
6
The Combadge Audio Interface
All Combadge commands are non-modal and expressed in a single utterance ( i e . , they don’t require navigation through tree-like menus or successive prompting) except for phonebook management. The current audio interface implementation accepts and emits either English or Tamil (selectable via an audio command). The subset of commands that a nafve user might utilize are “New message for ,” “Play new messages,” “Play next,” “Play previous,” and “Reply.” A much richer set of commands exists for the advanced user, grouped by voice message sending and receiving, phonebook management, and utility functions.
254 Speech recognition is performed via a uniform interface named RISTZ4for Reduced Instruction Speech Toolkit. This interface has been implemented to support many underlying speech recognition engines. We are currently using Embedded Speechworks SDK” for English recognition and SPHINX-IIZ6(with substantial modifications to remove floating-point operations) for Tamil. Any command that may modify the phonebook or the device configuration requires confirmation. The information being confirmed is always repeated back to the user as part of the confirmation request. Command cancellation is always one option given to the user. 6.I
Multi-threaded approach
The Combadge application supports a number of independent activities. In order to eliminate timing dependencies and to simplify the code for these activities, a multithreaded approach was taken. The user interaction thread implements the command set and blocks only on input from the user. Separate threads deal with long-lived or blocking actions such as speech recognition, message transport, and time-out processing. This design guarantees responsiveness to the user by always being ready to accept a user command. Multi-threading allowed the implementation of a “bargein” capability. During the execution of a command, a user may press one of the push-to-talk buttons and invoke a new command or skip directly to the next step of a multi-step command (as would be the case for “New message for ” or “Create contact”), aborting any partially uttered speech output from the previous command. In the degenerate case in which one of the push-to-talk buttons is pressed, but no new command is uttered by the user, any partially uttered speech output from the previous command is aborted and no new command is run. In this degenerate case, if the user is within a multi-step command, the command is cancelled. Similarly, if a user is at an input stage within a multi-step command, the expiration of a timer in a timer thread will cause cancellation of the command.
7
Message Storage and Transport
Each voice message is eventually packaged inside an e-mail message and sent using standard SMTP. Stable storage of all messages ever sent to a Combadge is accomplished using a standard IMAP e-mail system. Each Combadge uses its RAM as a cache for messages. The Combadge can store three classes of messages (listed from most to least important): (1) new outgoing messages dictated by the user but not yet sent to the server, (2) new incoming messages that have not yet been heard, and (3) incoming messages that have been heard but are stored in the Combadge’s message cache. Caching messages permits more full-functioned operation when a Combadge is not connected to a network. If the cache becomes full, lower priority class messages are discarded in favor of higher priority class messages.
255
The current Combadge uses our own connection-based protocol to send messages from a Combadge to a server and to receive messages from a server. A specified server runs a Combadge Daemon program, “cbd.” The “cbd” is responsible for communicating with the Combadge. Figure 3 outlines the network infrastructure. PSTN
Combadge over WiFi
Wireless
cbd
PSTN
SMTP
Voicernail
A
GPRS
Cornbadge over GPRS
Figure 3. Network infrastructure.
Communication is involved in at least four distinct stages: (1) when a Combadge is powered-on or reconnects after losing contact with the “cbd” server in order to authenticate itself to the server and to participate in an initializing dialog, (2) when a nametag is added to the phonebook in order to validate the Combadge address of the added device, (3) when a voice message is uploaded to the server, and (4) when a voice message is downloaded to the Combadge. 8
Summary
In this paper, we have presented the rationale and design for a voice-messaging device. The device has been fully operational for over a year with a prototype software implementation operational for over two years. The implementation process involved creating new hardware, writing a new boot loader, porting Linux to the device, creating protocols and services, and developing a new application. We have proven the ability to create a useful device that communicates solely through speech. Combadge has been designed to provide handheld communication technology for the developing world and for users who have not currently accepted such technology by providing an implementation adapted to their needs. The result is a simple interface built on a device with low manufacture and service costs. Our future case studies will test the potential deployments. 9
Acknowledgements
The authors would like to thank David Anderson, Ryan Bardsley, Paul Beardsley, Bret Harsham, Mark Haslett and co-workers at Americad, Joe Marks, Barry
256
Perlman, Divya Ramachandran, Bent Schmidt-Nielsen, Bruce Stetson and the M.A.D.S. staff, and many other Combadge beta testers for their feedback. References www.merl.com/proiects/ComBadae www.aim.com “Tech’s Future,” Business Week, September 27,2004 htto://tier.cs.berkelev.edu www.mssrf.orcl The 1984 Olympic Message System: A Test of Behavioral Principles of System Design, John D. Gould, et. al., Communications of the ACM, Volume 30, Number 9, Sept. 1987 Multimedia Nomadic Services on Today‘s Hardware, Chris Schmandt, IEEE Network, September/October 1994 Chatter: A Conversational Learning Speech Interface, Eric Ly and Chris Schmandt, AAAI ‘94 Spring Symposium on Multi-Media Multi-Modal Systems, March 1994 Talking vs. Taking: Speech Access to Remote Computers, Nicole Yankelovich, CHI ‘94 Conference Companion, ACM Conf. on Human Factors in Computing Systems, April 1994 l o VoiceNotes: A Speech Interface for a Hand-Held Voice Notetaker, Lisa J. Stifelman, Barry Arons, Chris Schmandt, Eric A. Hulteen, Proceedings of INTERCHI, April 1993 ’ I Voice-Over-FLEX: Value Creation for Paging Camers and Subscribers, H. B. Choi and Henry Law, IIC Taipei Conference Proceedings, June 1999 l2 Speaking and Listening on the Run: Design for Wearable Audio Computing, Nitin Sawhney and Chris Schmandt, Proceedings of ISWC’98, International Symposium on Wearable Computing, October 1998 l 3 SimPhony: a voice communication tool for distributed workgroups, Vidya Lakshmipathy and Chris Schmandt, Video Procs. and Procs. Supplement of UbiComp 2004, Sept. 2004 l 4 “Science fiction? Not any more,” The Economist Technology Quarterly, Sept. 18,2004 www.vocera.com l6 www.gtek.com.tw l 7 Technology and development: The real digital divide, The Economist, March 12,2005 “DakNet: Rethinking Connectivity in Developing Nations,” IEEE Computer Outlook, Jan. 2004 (www.firstmilesolutions.com/DakNet IEEE Computer.pdf) l9 5G Wireless Communications -( 2o Efficient MAC Protocol for long distance 802. I 1 links, Sergiu Nedevschi and Rabin Patra (http://tier.cs.berkelev.edu/docs/proiects/wirelessmac.htm1) 2 1 First Mile Solutions, LLC (www.firstinilcsolutioiis.com) 22 Very Low-Cost Sensing and Communication Using Bidirectional LEDs, P. H. Dietz, W. S. Yerazunis, D. L. Leigh, Intl. Conference on Ubiquitous Computing (UbiComp), Oct. 2003 23 fainiliar.handheIds~org 24 RIST is a simulified sDeech recornition interface implemented at Mitsubishi Electric Research Laboratohes (MERL), Cambridge, MA, USA 25 Speechworks now part of ScanSoft, Inc. (www.scansoft.com/specchworks) 26 The SPHINX-I1 Speech Recognition System: An Overview, Xuedong Huang, et. al., Computer Speech and Language, 7(2), pp. 137-148, 1992 ~
MOBILE AGENTS AIDED ROUTING IN MOBILE AD HOC NETWORKS SHEKHAR H.M.P’. AND K.S. RAMANATHA Wireless Networking Laboratory, Department of Computer Science & Engineering, M S Ramaiah Institute of Technology, MSRIT Post, MSRnagar,Bangalore-560054,INDIA E-mail: {shekharhmp, ksramantha}@msrit. edu, Unicast routing protocols proposed for Mobile Ad hoc Networks have certain limitations. These protocols try to discover the route on-demand by flooding route request messages, which results in increased end-to-end latency and also consumes considerable amount of network bandwidth. These limitations make protocols not suitable for real-time multimedia communication. This paper proposes a Mobile Agents aided Routing Protocol (MAR€’),for routing in Mobile Ad Hoc Networks. Mobile agents collect network connectivity information and disperse this information across the network. This network connectivity information forms the “ready routes” that can be used during route discovery and route maintenance phases. Thus, MARP avoids the expensive route discovery/maintenance process. MARP uses Ad Hoc Ondemand Distance Vector routing (AODV) as the underlying protocol. MARP and AODV protocols are compared through extensive simulations. Network throughput, end-to-end delay and routing overhead are the performance parameters considered. Results show that the ready routes provided by MARP, when compared to traditional on-demand routing protocols such as AODV, results in substantial reduction in end-to-end delay and improvement in network throughput.
1
Introduction
The route discovery process of on-demand routing protocols of Mobile ad Hoc Networks involves flooding of control packets throughout the network. Since the bandwidth is limited in Mobile Ad Hoc Networks this process is expensive and results in higher end-to-end delay. Also, they use the re-routing strategy for route maintenance. Route maintenance is done when a link along a route breaks due to mobility, congestion or other reasons. The re-routing strategy involves doing route discovery for a new route by an intermediate node or by the source. In either case route discovery floods the network with control packets that adds to the congestion in the network. Further the dynamic nature of Mobile Ad Hoc Networks causes the links to break too ofien. This means the expensive route maintenance process is called repeatedly resulting in increased end-to-end delay, higher routing overhead and degradation in throughput. These limitations make the existing protocols prone to congestion and not suitable for multimedia communication [ 11. Intelligent mobile agent technology has been used as a solution for several networking problems such as routing, security etc. [2,3,4]. Mobile agents can be described as packets that move ‘Shekhar H M P is a PhD research scholar at Birla Institute of Technology and Science, Pilani, Rajasthan - 333031, INDIA.
257
258
around the network assistingldoing useful work to enhancelmonitor the performance of the network by making intelligent decisions. The advantages of using mobile agents are that they are highly distributed, cooperative, and flexible enough to adapt to continuous and unpredictable changes. In this paper, we propose a Mobile Agent aided Routing Protocol to overcome the limitations of the current on-demand routing protocols proposed for Mobile Ad Hoc Networks [6]. 2
Mobile Agents Aided Routing Protocol
Agent Creation and Termination At the start of the network no connectivity information is available at the nodes. So each node creates INIT-AGENT-CNT number of agents. This is expected to provide the connectivity information at each node at the beginning of the network. The agents do not have an explicit time to live. Instead they are expected to serve the network as long as the network exists. But the agents will inevitably get dropped because of link breakages and wireless losses. As a result MARP needs to regulate the number of agents in the network. A fiequency-based approach is adopted. At each node the number of agents visiting it in the past =-INTERVAL is measured. If the number of agents exceeds the maximum threshold of MAX-NUMBERAGENTS then the next agent to visit this node is processed and deleted. However if the number of agents to visit this node within the past =-INTERVAL drops below the minimum threshold of MIN-NUMBER-AGENTS then a new agent is created at this node. Thus agent population is regulated. Mobile Agent Migration Agent migrates fiom one node in the network to another on a random basis. A “no return” principle is used to avoid loops and thereby gather useful connectivity information. Mobile Agent Packet Format The packet format for the mobile agent is given below:
I
Type
I
history list
I
type :typeof packet. history list : contains the node address. Each node forwarding this packet will append its address to the list. Figure 1. Mobile Agent Packet Structure.
The type field identifies the packet to be an agent. The history list is the list of nodes visited by this agent recently. When the agent is created the history list is NULL i.e. it has no entries. The history list can hold up to MAX-HISTORY number of node addresses. When the (MAX-HISTORY + 1) th entry is to be made into the history list, the first entry is discarded.
259
Alternate Route Table To understand the updates made by agents at each node a description of the alternate route table is needed. At each node in the network an Alternate Route Table is maintained. The alternate routes brought by the agents are updated into this table as described in the next section, mobile agent execution. The routing protocol searches the alternate route table when it requires new routes to destinations or an alternate route to reroute the packets during link breakages. The alternate route table format is given in Figure 2. |
DestID
|
PrevHop
|
Expire
|
Status
|
DestID : destination address. PrevHop : previous hop information to DestID Expire : value which specifies when this route expires. Status : route has expired (Status=0) or route is valid (Status = 1) Figure 2. Alternate Route Table.
To retrieve the route to a destination, say X, the alternate route table is looked up for X in the DestID field. The previous hop of X is copied onto a list. With the previous hop of X as the destination, a lookup for its PrevHop is done. This process is repeated till the PrevHop is equal to the current node's address. The reverse of the entries in the list of PrevHops gives the desired route to the destination X. Mobile Agent Execution The updates done by the agent when it arrives at a node is described in this section. The agent updates the alternate route table with the ready routes (connectivity information) available in its history list. For each entry in the history list a lookup of the alternate route table is done. If the entry doesn't exist a new entry is made or else the entry is updated. While adding a new entry or updating an old entry the "expire field" is also updated to (CURRENT TIME + RTIMEOUT), where RTIMEOUT represents the time for which the entry remains valid. The "status field" is also made VALID. 3
Simulation Results
3.1
Simulation Model
The MARP and AODV protocols have been simulated in NS-2 (ns-2.28) network simulator. The considerations made for the simulation environment and protocol settings are shown in Table I and II. Table 1. Simulation Environment. Network Space: Simulation Time: Number of Nodes:
1500X300 meters 900 seconds
50
260
Table 2. Protocol Settings INIT AGENT CNT: X INTERVAL MAX NUMBER AGENTS MIN NUMBER AGENTS MAX HISTORY
3.2
2 5 seconds 20 5 10
Results
The performance analysis of MARP in comparison to AODV was carried out using the following metrics: Average End-to-End Delay, Average Network Throughput and Routing Overhead. MARP and AODV protocols are compared by varying parameters such as mobility and network load. Average End-to-End Delay The average end-to-end delay is defined as the average amount of time taken by a packet to move fiom the source to the intended destination. It includes delay due to route discovery, buffering at the interface queue, retransmissions and propagation. MARP show a considerable decrease in end-to-end delay when compared with AODV protocol. This is due to the fact that in MARP ‘ready routes’ would be made available by the mobile agents moving around the network. This is substantiated in Fig. 3 and 6 for CBR traffic. As mobility is increased we observe an increase in delay as seen in Fig 3. But, MARP shows reduced delay relative to AODV. Figure 6 show that MARP has lesser delay than AODV as the load on the network is increased. Thus, MARP is more scalable than AODV. Average Network Throughput Average network throughput is defined as the average of the actual amount of data that is moved fiom the sources to the destinations per second. This does not include the control overhead of the protocol. In Fig. 4, we observe the throughput decrease as the network tends towards dynamic state i.e. as mobility is increased. Here, MARP gives better throughput that AODV. As the load on the network is increased we observe the throughput reach a peak and fall as seen in Fig. 7 and MARP performs better than AODV.
261
"i ,/'
.... ,.I...
........................
I
,." *l'
.'. . . . . . . .
&...
........
_L_J
~
*; *;.
. . . . . . .
_I
. . . . .
M*Y
Figure 3 , 4 & 5. End-to-End Delay Vs Mobility, Throughput Vs Mobility, and Routing Overhead Vs Mobility.
....
.........................
\\
/:
*
ir
"Yu-s(I-
.m
~i
I=
:
.i1
Figure 6 , 7 & 8. End-to-End Delay Vs Rate, Throughput Vs Rate, and Routing Overhead Vs Rate.
Routing Overhead The Routing Overhead is the ratio of the total number of control packets generated to the total number of packets generated (control packets + data packets). Routing overhead is found to be much lesser in case of MARP because the expensive route discovery mechanism is bypassed. The addition of Mobile Agents is an overhead but the reduction in AODV's control packets overcompensates for this overhead and net result is a reduction in the routing overhead in most cases. In Fig 5 and 8, it can be clearly seen that MAFU' follows AODV but is more efficient that AODV in most cases. As mobility is increased, as in Fig 5, the network becomes more dynamic with more link breakages and hence more control packets are needed to maintain the network topology. MARP demonstrates much better performance than AODV because AODV repeatedly floods its route request packets to maintain network connectivity while MARP uses its ready routes. 4
Conclusions
The current routing protocols like AODV, DSR etc. use flooding mechanism for route discovery and maintenance which is expensive and these results in higher end-to-end delay and lower throughput. We have proposed a mobile agent based approach, MARP, to overcome these problems and make the routing protocol more
262
efficient. MARP demonstrates reduced end-to-end delay and higher throughput which makes MARP suitable for multimedia communication. As a future work we intend to make MARP congestion aware.
5
Acknowledgements
This work was supported by a grant fiom AICTE, New Delhi under R&D grants Ref: 8020/R&D/R&d-48/2001-2002.
References 1. Elizabeth M Royer and Chai-Keong Toh, “A Review of Current Routing Protocols for Ad Hoc Mobile Wireless Networks”, IEEE Personal Communications, Apr. 2003, pp. 46- 55. 2. H. Matsuo and K. Mori, “Accelerated Ants Routing in Dynamic Networks”, Proc. of Intl. Conf. on Software Engineering, Artificial Intelligence, Networking and ParalleUDistributed Computing, Aug. 2001, pp 333-339. 3. N. Minar, K. H. Kramer and P. Maes, “Cooperating Mobile Agents for Dynamic Network Routing”, Software Agents for Future Communication Systems, Chapter 12, Springer Verlag, 1999. 4. R. R. Choudhary, S. Bhandhopadhyay and K. Paul, “A Distributed Mechanism for topology discovery in Ad hoc Wireless Networks Using Mobile Agents,” Proc. of Mobicom, Aug. 2000, pp. 145-146. 5. C. E. Perkins, “Ad Hoc On Demand Distance Vector (AODV) Routing,” IETF Internet Draft, RFC 3561 available at: http://ietf org/html.charters/manet-charter. html. 6. Shekhar H M P, and K S Ramanatha, “Agent Based Routing in Mobile Ad Hoc Networks”, Technical Report, Wireless Networking Laboratory, Department of Computer Science & Engineering, M S Ramaiah Institute of Technology, India, 2005.
SERVICE DISCOVERY IN A GRID OR UBIQUITOUS COMPUTING ENVIRONMENT
KOUSHIK SINHA Honeywell Technology Solutions Lab Bangalore, India 560076 Email: s i n h a h u @yahoo.com We present two efficient, deterministic, distributed and scalable service discovery algorithms that are suitable for both grid and ubiquitous computing environments. Our first service discovery algorithm assumes the presence of collision detection capabilities at each of the nodes or devices and runs in O(n log n) time in the worst case, n being the number of nodes. The second algorithm does not assume collision detection capabilities of the devices. It has a worst case run time of O ( n D )time, D being the diameter of the network.
1. Introduction Grid computing has recently emerged as an important field, distinguished from conventional distributed computing by its focus on large-scale resource sharing and orientation towards high-performance computing [4].Resource sharing in a grid is highly controlled, with resource providers and clients defining clearly what is shared in a networked environment. As the grid is a service-oriented architecture, a service discovery protocol for the grid needs to be efficient in locating services within the grid [ 1,571. We propose in this paper two efficient deterministic, distributed service discovery protocols, suitable for both grid and ubicomp environment. The first algorithm assumes collision detection capability of the nodes and runs in O ( nlog n ) time, n being the number of nodes. The second algorithm does not assume such collision detection ability of the nodes and requires O (n D)time in the worst case, where D is the diameter of the network graph. We have also attempted to address the issues of scalability, robustness, simplicity and to some extent locality- awareness in both of the service discovery algorithms.
2. Proposed DSD Algorithm We present the first of our proposed algorithms, the deterministic service discovery (DSD) algorithm. The system model for the algorithm is as follows : 263
264
2.1. System Model We assume a network of n nodes. Communication is through either broadcast over a single radio channel or through wired links. All communication through wirelesdwirelined links are synchronized in time and starts at fixed time slot boundaries. Each node is assigned a unique identifier from the set { 1 , 2 , . . . , n}. If the exact value of n is not known, then we can apply the technique described in [3] to find an upper bound on the node id within a factor of 2. For the sake of simplicity of understanding, we assume the number of nodes n is known in our discussion. Initially the nodes do not possess any information about the network topology. The service discovery initiator is distinguished as the source node or the root and broadcasts a query message M . In every node and the message M , there are two important fields pertaining to the queried service : 1) snume : A generic name of the requested service, e.g., printer, scanner etc., and 2) sdesc : A description of the requested service, in the form of some metadata. A match on either or both the fields generates a service found response. The query message M contains another important field - hopdistance, which can be set by the source node to search for a service only within a certain locality of its current location. By default, the hopdistance is set to some negative number, indicating a desire to search the entire network. If a non-zero positive value is specified, then with each retransmission of the message, the hopdistance is reduced by 1 until it reaches 0. When it reaches zero, the query message is no longer retransmitted.
1
source-node
1
messageid
1
s-name
I
s-desc
1
hop-distance
I
Figure 1 . Structure of service discovery query message
A typical message A4 would look like as shown in Figure 1. It is assumed for the algorithm DSD that the mobile terminals possess collision detection capabilities. Throughout our discussions, we will use the terms node id and address interchangeably to identify a particular node.
2.2. Protocol Description We first give some definitions along with the relevant functions and control signals used in our later discussions. Definition 2.1. A node is said to be eligible if it is yet to transmit M . Definition 2.2. For a given node i, we say an adjacent node j is privileged if it is an eligible neighbor of i, and it has the largest id among all neighbors of node i.
Definition 2.3. We say node i is a predecessor of node j if j is the privileged neighbor of node i.
265 The algorithm uses the functions $ndprivilegednode, isneighborpresent and transfer-control, which are the same as those described in [2]. Due to lack of space we omit the description of these functions. send-queryresponse(j, a, query-f lag, servicing-node) : If j receives M from a node i with the request for some specific service, and if j offers that particular service, then j transmits a send-query-response with the query- f Zag set to 1 and servicing-node set to j. Also, j retransmits M if it receives M from a privileged neighbor (say u)with query-flag set to 1. If j does not offer the requested service and it has no eligible neighbor who offers it, j sends a send-query-response signal to node i with the query-f lag field set to 0. The proposed deterministic service discovery algorithm is presented below : Algorithm DSD /* Initiation of transmission of M by root */ var root : integer; I* initiator of service query */ begin searchservice(0, root, root, M ) ; I* The first parameter in the above call to searchservice protocol refers to */ /* the predecessor of the third parameter 0 indicates that root has no predecessor */ end. Each node i, 1 5 i 2 n, executes the following procedure. Procedure searchservice(pred, root, i, M ) var neighbor-present : boolean; var j, query- f lag,servicing-f lag : integer; begin query-flag = 0; if (received message M ) then if (M.s-name = i.s-name) or (Ms-desc = is-desc) then /* Service found at node i */ set query- f lag = 1; set servicing-node = i; transmit send-queryxesponse(i,pred, 1, i);exit; /* end - found service */ I* otherwise continue searching network */ if (M.hop-distance = 0) then transmit send-queryxesponse(i,pred, 0, i);exit; I* nothing found within locality *I M.hopdistance = M.hopdistance - 1;transmit message M; neighborqresent = false; do if (ismeighbor-present(i)= true) then j +- find-privilegedmode(i); Zj > 0 then neighbor-present = true; transfer-control(i, j); wait until j signals that it has no more eligible neighbors or wait for a send-queryxesponse message or wait until a time-out occurs if (send-queryxesponse msg from j) then if (received query- flag = 1)then servicing-node = received servicing-node;
266
send-query_response(i,pred, 1, servicing-node); else neighbor-present = false; while (neighbor-present = true); if (i # root) then send-query_response(i,pred,query- f lag, servicing-node); else end broadcast of M ; I* all nodes have been queried *I end.
Lemma 2.1. The construction of a DFS tree by the algorithm DSD requires 2n [log nl - 2n -t2 transmission slots. Proof omitted for the sake of brevity.
0
Theorem 2.1. Algorithm DSD requires O(n1og n) time to query a network of n nodes for a service. Proof: Follows directly from lemma 2.1 and the additional slots required for the query message and the control signals. 0 3. Algorithm clique-basedservice-discovery This proposed service discovery algorithm is especially suitable for scenarios where a backbone network (wired or wireless) exists, while other devices communicate wirelessly with the interconnected access points of this backbone network. The grid network can then be perceived as a set of cliques that are connected to each other by some intermediate nodes as depicted in Figure 2.
Figure 2. A typical grid or ubicomp network
In Figure 2, we call the nodes 5 , 7 , 9 and 11 the bridging nodes. The bridging nodes are those which connect at least two nodes that are not directly connected to each other by an edge. The subgraph formed of the bridging nodes is called the backbone network. The nodes 1,3 and 5 form a clique. 3.1. Algorithm clique-based-service-discover3 The algorithm consists of the following steps to be executed by each node i of the network. We assume that time is slotted and all communications are initiated at slot boundaries. The ithtime slot in a round of n slots is reserved for the ithnode. Step 1 : Broadcast the own id and also its resource information in the form of a < s-name, s-desc > tuple to all neighbors in the designated time slot i .
267
Step 2 : If message received from neighbor j in j t h time slot, then update neighbor-list of node i with the information. from the neighbor j. Step 3 : Find the maximal clique C to which the node i belongs. Step 4 : Find the neighbor set Bi which are not members of C. Step 5: If Bi # 0, then set a local variable bridge-nodei to 1, and send the value of this variable to all neighbors of i. bridge-nodei is zero otherwise. Step 6 : If i is a bridging node then exchange information with every other neighboring bridging node about available resources at the nodes of their respective cliques. Lemma 3.1. Algorithm clique-based-service-discovery requires O ( n D ) time slots to complete service discovery in a grid network, where D is the diameter of the network. 0 Proof omitted for the sake of brevity. 4. Conclusion We have proposed two new distributed, scalable service discovery algorithms for ubiquitous and grid computing environments. The first service discovery algorithm runs in O(n1og n ) time and is highly scalable, robust and resilient to mobility of the users or devices. The second service discovery runs in O ( n D )time, and does not assume any collision detection ability of the nodes. It uses local directories to answer service request queries, and hence may be able to answer service queries faster on an average than algorithm D S D . Future work may include comparing the performances of the proposed algorithms in a grid or ubiquitous computing environment with existing protocols like UPnP, SLP, HaVi, Jini etc.
References 1. C. Bettstetter and C. Renner, “A comparison of service discovery protocols and implementation of service location protocol,” Proc. of EUNICE 2000 (2000). 2. K. Sinha and P. K. Srimani, “Broadcast and gossiping algorithms for mobile ad hoc networks based on breadth-first traversal,” Roc. 6th htl. Workshop on Distributed Computing (IWDC),LNCS 3326, Springer, pp. 459-470 (2004). 3. M. Chrobak, L. Gasieniec and W. Rytter, “Fast broadcasting and gossiping in radio networks,” Proc. 41st IEEE FOCS’2000), pp. 575-581 (2000). 4. I. Foster, “What is the grid ? A three point checklist,” Tech. rep., Argonne National Laboratory and University of Chicago (2002). 5. A. Friday, N. Davies and E. Catterall, “Supporting service discovery, querying and interaction in ubiquitous computing environments,”MobiDE 2001, pp. 7-13 (2001). 6. E. Guttman, “Service location protocol : automatic discovery of IP network services,” IEEE Internet Computing, 3(4), pp. 71-80 (1999). 7. H. Lican, W. Zhaohui and P. Yunhe, “A scalable and effective architecture for grid services discovery,” Proc. of SemPGRID, Hungary (2003).
GENETIC ALGORITHM BASED ROUTING FOR MULTICAST COMMUNICATION IN MOBILE NETWORKS
’,
’,
’,
C. MALA R. SHRIRAM SHASHANK AGARWAL S. SELVAKUMAR Department of Computer Science and Engineering, National Institute of Technology, Tiruchirappalli - 620 015, Tamil Nadu, India E-mail: I [email protected], [email protected], [email protected],[email protected] The advent of Mobile cellular networks has enabled people in any part of the world to communicate with each other any time. In recent years, there is a growing need for the mobile users to participate in real time applications, viz., video conferencing, multiparty games, online auctions, access to distributed databases, etc. All these applications require a Multicast Tree (MT) to be constructed among the group members with the source of multicast being the root of the MT. Traditional methods used in a wired network to construct a MT take into account only the distance or delay between the nodes. These methods fail because of the inherent dynamism in a mobile network. To overcome this problem, and to improve the QoS, a novel genetic algorithm (GA) based approach to construct an Optimal Multicast Tree (OMT) with the constraints, viz., probability of delay over a path, queuing delay at a node, and residual bandwidth of a link is proposed in this paper. Keywords: Mobile network, Genetic algorithm, Optimal Multicast Tree, constraints.
1
Introduction
Due to the nomadic lifestyle of the mobile users in recent years, there is a demand to make use of the mobile networks not only for communication but also for participation in real time applications, viz., multi group conferencing, multi party games, online auctions, access to distributed databases, etc. [ l , 61. All these applications need the construction of a MT rooted at the source of multicast. As the traditional methods [2, 4, 111 of constructing a MT are for a fixed wired network, these methods fail for a highly dynamic Mobile network [ l , 3, 81. So, in this paper, a GA based approach [12] to construct an OMT with three different constraints viz., probability of delay over a path, queuing delay at a node, and residual bandwidth of a link to improve the QoS of Multicast [2, 3, 4, 71 in a Mobile environment is proposed. 2
Proposed approach
Of the three basic techniques used for construction of MT[lO], MT with Rendezvous Points (RP) eliminates flooding present in Source based routing, enables to conduct multi group conferencing comprising of multiple senders and 268
269
Figurel. A mobile user network with multicast groups A and B ••Multicast tree links of Group A Wireless link between router & user receivers without the computational overhead in Steiner trees [3] and is more suitable for the dynamic nature of group members. 2.1
Proposed Network
To implement Multicast communication in a Cellular network [13], a graph G = (N, E) representing a Cellular network of N Base stations and E links is considered. The RP located at each base station functions as a Rendezvous Server (RS) if the source of the MT is in its coverage or as a router providing service to the mobile users. The roles of RS and a router are mentioned below. 2.1.1
Roles of a Rendezvous Server
The RS maintains two data structures namely Group Table (GT) and a Group Membership table (GMT). The GT contains the names of all groups maintained by the RS. A Group Membership table is maintained for every group in the RS as follows: Table 1. GMT in Router 1 based on Figure 1. User name
Router name
MAI MA4
Rl R5
RS updates entries in GMT as per users movements. 2.1.2
Roles of a Router
Each router maintains a table called Foreign Member Table (FMT) as follows:
270
Table 2. FMT in Router 6 based on Figure 1. Group name
User name
MA5 MB 2
A B
RS name
Rl R7
This table contains the list of users in its coverage, their group names and the address of the RS of that group. When the router receives a data packet from the group user, it forwards it to the group's RS as shown in Fig. 1. As there are frequent changes in the position of the mobile users [8, 9] and as it is required to construct a MT satisfying the QoS requirements [4], this motivated us to propose a GA based OMT computation in this paper. 2.2
Proposed algorithm to construct an OMT
Step 1: Y i e N, each i transfers information regarding constraints, viz., probability of delay over a path, queuing delay at a node, and residual bandwidth of a link to RS. Step 2: This information is used as an input to the Genetic algorithm to compute the optimal path to each of the routers from the RS. Step 3: From the optimal paths computed from Step 2, an OMT is computed using Genetic algorithm, with RS as the root of the tree. 2.2.1
Formulation of Fitness Function
The first constraint in computing the OMT is the probability of delay in a path P of length m. From the definition of Erlang-K distribution, with arrival rate J, the probability of delay over a path P of length m less than t is given by the expression: Fl = (yT-'e1")/ (m-1)! for 1< m > N-l (1) The second constraint is the queuing delay at the individual nodes. If every node is assumed to have N buffers, the queuing delay at a node is given by the expression: F2 = min (5, t) for 1< i > N (2) where t is the time required to load or free a buffer and 8i is the number of free buffers at node i. The third constraint, the residual bandwidth of a link in the network after allocating bandwidth bm for a link m is given by (cm- bm), where c m is the capacity of a link m e P. The fraction of total bandwidth available as residual bandwidth for a path P is given by the following expression: F3 = min (cm - bj for 1< m > N-l (3) From these three constraints, the formulated fitness function, which is a Maximization function, is given by the following expression:
F=F1+ 1/F2 +F3
(4)
271
2.3
Simulation and Performance Analysis
The simulation of a Cellular network with mobile users is done using JAVA and the results are tabulated in Table 3 and plotted in the graphs in Fig. 2, 3, and 4. From the graphs in Fig.2, 3, and 4, it is inferred that the GA based approach
30
-Without
GA
0 0
4
8
%-
12 16 20 24 28
9
13
14
15
17
Number of Nodes
Call Arrival Rate Figure 2. Call Arrival Rate Vs Call Service Rate
12
Figure 3. No. of nodes Vs Computational Overhead
nz
-. i m
a3 0 0
25
50
75
100 I 2 5 150 175
C a It Arrival R ate
Figure 4 . Call Arrival Rate Vs Call Blocking Rate
converges faster to the optimized solution than the traditional algorithms. A comparison of the performance of a Cellular network [ 131 with OMT constructed
272
with RPs using GA with that of MT constructed using Steiner trees [ 111 and that using SBR [ 111 is shown in Fig. 4. From the graph in Fig. 4,it is inferred that the Call blocking rate [ 131 in GA approach is drastically reduced compared to Steiner trees and Source based routing.
3
Conclusion
With the increasing demand for group communication in mobile networks, there is a growing need to construct an OMT faster, satisfying the QoS requirements. In this paper, a GA based OMT construction algorithm using RPs for a Cellular network is proposed. The simulation results show that this algorithm performs better than the traditional algorithms for Multicast in terms of speed of computation. Also it is seen that there is considerable reduction in Call dropping rate. As such, it can be very well used by any multi group communication in a Mobile environment.
References 1. Hrishikesh Gossain, Carlos de Morals Cordeiro, and Dharma P. Agrawal,
“ Multicasting in Wireless Environment ”, E E E Communications Magazine, VOl. 40, Jun 2002, pp 116-123 2. Jinquan Dai, Touhai Angchuan, Hung Keng Pung, ‘‘ QROUTE : an QoS- guranteed multicast routing ”, Computer Communications, 2003,pp 90-88. 3. Nilanjan Baneqe and Sajal K. Das, “MODeRN: Multicast On- Demand QoS-based Routing in Wireless Networks ”, IEEE Proceedings of Vehicular Technology Conference, 2001, pp 2167-171 4. Xin Yuan, “ Heuristic algorithms for multi constrained QoS routing”, IEEE/ACM Transactions on Networking, vol. 10, no. 2, Apr 2002 pp. 244-256 5. D..Zapala, ‘‘ Alternate path routing for Multicast”, IEEWACM Transactions on Networking, vol. 12, no. 1, Feb 2004 pp. 30-43 6. D.Zapala, “ Multicast routing support for real-time applications ”, Ph.D. Dissertation, University of Southern California, Los Angels,1997 7 . S.Deering, D.Estrin, “An overview of quality of service routing for next- generation high- speed networks: problems and solutions”, IEEE Network, vol. 12, Dec 1998, pp. 64-79. 8. Charles E. Perkins, “Mobile networking in the Internet”, Mobile Networks and Applications, volume 3 , 1999, pp 319 - 334. 9. R.H. Katz, “Adaptation and mobility in wireless information systems”, IEEE Personal Communication Magazine, vol 1, 1994, pp 6-17. 10. Joshua Auerdach et. a1 “ Multicast Group Membership Management”, IEEWACM Transactions on Networking, vol 11,2003, pp 166-175. 11. Ralph Wittmann, Martina Zitterbart, “ Multicast omunication -Protocols and Applications ”, Morgaun Kaufmann Publishers, 2001 12. David E. Goldberg “Genetic Algorithms in Search, Optimization, and Machine Learning”, 2“d Edition. 2004 13. Jochen Schiller, “ Mobile Communications ”, 2“dEdition, Pearson Education, 2003.
RECEPTION-AWARE POWER CONTROL IN AD HOC MOBILE NETWORKS
N. SHRESTHA AND B. MANS Department of Computing, Macquarie University, North Ryde 21 09, Australia E-mail: { nirisha, bmans} @ics.mq.edu. au Energy is a scarce resource in ad hoc mobile networks, making power control a crucial technique. For sake of simplicity, most existing power control protocols only consider the energy cost of transmissions. In this paper, we consider a more realistic model of power control in which the energy cost of the receiving nodes is also taken into account. This paper presents protocols that can not only achieve energy savings but can actually increase the effectiveness by bringing significant energy savings per successful packet for denser networks.
1. Introduction
In Mobile Ad Hoc Network (MANET), the nodes are usually powered by limited energy resources. By default, they use maximum power to transmit packets. Reduced transmission power results in increased spatial reuse, less interference and has been shown to increase the throughput and energy consumption [l-31, so effective power control techniques in the nodes is a critical issue. Most of the existing power control methodologies only consider the cost of transmission. They calculate the minimum neighborhood which ensures connectivity of the network while reducing transmission power costs. Direct communication links are removed if found t o cost more than communicating through an intermediate node. Protocols in [2, 31 use topological properties of the network like node degree, coverage over an angle, etc., t o recalculate neighborhood. Unfortunately, reception energy costs may be comparable to the transmission costs and should be included in realistic models. (Optimal routing may not be tractable, as it was proved in [4] that finding a unicast path that guarantees enough remaining energy locally at each node is an NP-complete problem even when all the nodes transmit at the same power.) In [ 5 ] , an analytical model for optimal transmission range for energy minimization while considering reception costs is 273
274
presented. The protocol for minimum power network in [6] also considers the reception energy (the paper however does not evaluate the effect of the protocol on the throughput). Finally, little analysis has been done on the efficiency of power-aware protocols towards the energy vs. throughput costs (i.e., the number of Joules required per successfully delivered packet). Energy savings can be inadequate as they could be arbitrarily achieved by substantially increasing the length or number of back-offs and thus reducing the number of packets successfully received. This paper aims to include reception power in power control, attempting t o minimize the number of receptions. We investigate its impact on energy and throughput of the network. In section 2, we present our protocol for including reception costs in power control, then we analyze its performance through simulation results in section 3 and further discussions in section 4. 2. Reception-Aware Power Control
This power control scheme tries to maintain a minimum power neighborhood, while considering the transmission cost of the transmitter(s), reception cost of the receiver(s) and reception costs at the overhearing nodes. Each node u sends a t maximum transmission power, periodic hello packets containing the power of transmission of this packet, a list of the issuing node's immediate neighbors and their current transmission powers. For each hello packet from neighbor 21, u measures the power of reception PR, and calculates the path gain G using the transmission power PT(v,) indicated in the packet. Using this information, Signal t o Interference Ratio (SIR) measured during packet reception SIR,, the SIR threshold parameter SIRth, (default lOdB in IEEE 802.11 networks), and the minimum reception threshold PR~,, , the minimum transmission power required to reach t o this neighbor p ~ ~ is ~ calculated , ( ~ ~as)in [7] and shown in equation 1. The calculated power is stored in the neighborhood table while the powers of the two-hop nodes from the hello packets are stored in the two-hop neighborhood table.
For each neighbor w already in its neighbor list, it then calculates if going through this new neighbor t o reach the existing neighbor will cost less energy as in [6] as follows: The energy consumed E~(zy) while transmitting from node 2 to node
275
where, PT(ZY) is the transmission power required to transmit from any node 1: t o y , PR is the power required to receive a packet, I is the number of nodes in the interference region of this transmission, including the receiving node and t is the transmission time of the packet. If the energy to transmit directly from u to v is greater than to transmit through w , ie., ET(UW) > ET(UW) ET(ww), then neighbor w is marked and added to 2-hop neighborhood, with node w as its 1-hop precedent. The marked nodes are now considered as 2-hop neighbors only.
+
3. Performance Evaluation 3.1. Simulation Setup
(a) Network with 50 nodes
(b) Network with 100 nodes ( c ) Network with 120 nodes
Figure 1. Average Energy Consumption of Nodes.
The reception-aware power control scheme was implemented in NS2 simulator and Optimised Link State Routing (OLSR) protocol was used to evaluate the efficiency of the protocol. 32 to 120 nodes were randomly placed in a square field of 1000 x lOOOm with default transmission radius of 250m. For each network size, 10 simulations were run; for each run, 4 Constant Bit Rate (CBR) flows were generated for 100 seconds of the simulation time. The performance of reception-aware power control (Rec-Aware PwrCtrl) was compared t o IEEE 802.11 type of networks, one without any power control (No PwrCtrl) and one with transmission power control only (PwrCtrl), where minimum power t o reach the existing neighbors was used for transmission (i.e., there is no change in the neighborhood). The power consumption was separated into electronic consumption (constant)
276
and power amplifier consumption (variable part) as in [6]. Thus, equation 2 becomes:
ET(ZY) = (PT~(zY) + P T e l e c + PRelec
x 1) x
t
(3) Here, P T ( P~R e l e~c respectively) ~ ~ represents the difference between total transmission (reception respectively1 cost and the idle energy consumption. Both were set to 250mW, while the idle energy consumption was set to 0. Each node had six discrete transmission power levels ( P T ~similar ) t o the six power levels available in the Cisco Aironet 350 wireless cards.
3.2. Simulation Results
,
. . ......
0.05
lim 1-1
(a) Network with 50 nodes
Figure 2.
lime (SEC)
O l " ' . ' ' " . 0 10 20 30 4 50 EU 70 8U 80 I W Tim 1-1
(b) Network with 100 nodes (c) Network with 120 nodes
Average Energy Consumption per Successful Packet Transfer (Utility).
For all the settings of the simulations, the average energy consumption for the 10 runs are shown in Figure 1. Both the power control schemes were found to consume less energy than the network without power control, saving up to almost 82% energy for some nodes. Rec-Aware PwrCtrl was found t o perform comparatively better, with an energy saving of upto almost 14% on average compared to about 5% average savings for PwrCtrl scheme. The overall gain was upto almost 29% in Rec-Aware PwrCtrl, compared t o almost 12% in the PwrCtrl scheme. Figure 2 shows the average energy consumption per successful packet sent (utility). The average number of packets that were sent were similar for sparser networks, but the Rec-Aware PwrCtrl could send upto about 13% more CBR packets in denser networks. The number of these packets that were successfully received were also comparable to No PwrCtrl scheme, with loss of up to about 10% in average. The interesting observation was that the average energy spent for each packet that were successfully sent (utility) showed a general decrease for the power control schemes. Rec- Aware PwrCtrl took
277
14.4% less energy in average t o send a successful packet compared to No PwrCtrl. T h e PwrCtrl scheme showed similar utility as the No PwrCtrl scheme, with small loss of about 1% in average. The paired t-test was used t o compare the energy gain of the RecAware PwrCtrl scheme and PwrCtrl Scheme. T h e difference was found to be statistically significant, with the two-tailed probability of 0.036. 4. Discussions and Conclusion Thus, in this paper, it was seen t h a t the average energy consumption decreased with power control techniques, and Rec-Aware PwrCtrl performed better at retaining this energy conservation in larger and denser networks. It was also observed t h a t though the average packets sent and successfully received were comparable for different protocols for all network sizes, the utility remained better for Rec-Aware PwrCtrl. It indicates t h a t receptionaware protocol is likely t o choose path with less number of receivers, increasing the number of successful packets, while spending less energy.
References 1. S. Narayanswamy, et al., The COMPOW protocol for power control in ad hoc networks: Theory, architecture, algorithm, implementation, and experimentation. European Wireless Conference. (2002) 2. R. Wattenhofer, L. Li, V. Bahl, and Y. Wang, Distributed topology control for power eficient operation in multihop wireless ad hoc networks. IEEE INFOCOM. (2001) 3. V. Rodoplu and T.H. Meng, Minimum energy mobile wireless network. IEEE Journal on Selected Areas in Communications 17 (1999) 4. G. Allard, and B. Mans, Reducing the energy drain in multihop ad hoc networks. IEEE proceedings, International Workshop on Localized Communication and Topology Protocols for Ad hoc Networks (LOCAN’05) Washington, DC, USA (2005) 5 . Y. Chen, E.G. Sirer, and S. B. Wicker, On selection of optimal transmission power for ad hoc networks. Proceedings of the 36th Annual Hawaii International Conference on System Sciences (HICSS’03) - Tkack 9, Washington, DC, USA (2003) 6. B. H. Liu, Y. Gao, C.T. Chou, and S. Jha, An energy eficient select optimal neighbor protocol for wireless ad hoc networks. Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks (LCN’04), Washington, DC, USA, IEEE Computer Society, 626-633 (2004) 7. X. Lin, Y. Kwok, and K. Lau, A new power control approach for IEEE 802.21 ad hoc networks. Proceedings of the 14th IEEE International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC’2003), Beijing, China, 2 , 1761-1765 (2003)
UNIFORM MOBILITY MODEL FOR AD HOC NETWORKS
Prof. Dr. S.K. BODHE. Professor, Dept of E &TC ,Rajarshi Shahu College of Engg Tathawade, Pune ;Maharashtra,; INDIA E-rnai1:s-k-bodhe @ indiatimes. corn Mrs. AMRITA ANIL AGASHE Asst. Prof: Etrx., Dr.JJMCOE.Jaysingpur. , Maharashtra, INDIA Mr. ANIL A.AGASHE Walchand College of Engg. Sangli. Maharashtra, INDIA E -mail: agashe-anill@ redrffmail.com
The tremendous demand from social market are pushing the development of mobile communications faster than ever before leading to plenty of new techniques emerging. Mobile Ad-Hoc Networks are ideal technology to deploy an instant communication network for civilian and military applications. Mobility management is the fundamental technology used to automatically support mobile terminals enjoying their services while simultaneously roaming freely without the disruption of communications. For the evaluation of mobility management schemes for an ad hoc networks, tests should be canied out under realistic conditions including a sensible transmission range, data traffic models and mobility models. This paper gives the survey of mobility models that are used in the simulations of ad hoc networks and the new mobility model which is a good combination of Random walk mobility model, Random waypoint mobility model and Random Direction mobility model with solution of initialization problem dealing with Random waypoint mobility model.
Introduction The performance of mobility management schemes strongly depends upon the mobility model that accurately represents the mobile nodes that will eventually utilize the given protocol. Currently there are two types of mobility models used in simulation of networks: Traces and Synthetic models. Traces are those mobility patterns that are observed in real life systems. Traces provides accurate information especially when they involve a large number of participants and appropriately long observation period. For ad hoc networks it is necessary to use synthetic models. Synthetic models attempts to realistically represent the behavior of mobile nodes without the use of traces. In this paper we represent several synthetic mobility models that have been proposed for the performance evaluation of ad hoc networks. 278
279 In this paper we take review of following different synthetic entity mobility models for ad hoc networks, and discuss about Uniform Mobility Model. 1) 2)
3)
Random walk Mobility Model: A mobility model based on random directions and speeds. Random Way point Mobility Model: A model that includes pause times between changes in destination and speed. Random Direction Mobility Model: A model that forces mobile nodes to travel to the edge of the simulation area before changing direction and speed. 1) Random Walk Mobility Model: It is widely used mobility model, which is sometimes referred to as Brownian motion. Random walk mobility model was first described mathematically by Einstein in 1926. [ 11 Since many entities in nature move in extremely unpredictably ways, the Random walk mobility model was developed to mimic this erratic movement. In this mobility model the mobile node moves from it’s current location to new location by randomly choosing a direction and speed in which to travel. The new speed and direction both are chosen from predefined ranges (speedmin, speedmax) and (0,2n) respectively. Each movement in the Random walk mobility model occurs in either a constant time interval ‘t’ or a constant distance traveled ‘d’, at the end of which a new direction and speed are calculated. If Mobile node reaches the boundary, it “bounces” off the simulation border with an angle determined by the incoming direction. The mobile node then continues along this new path. Many derivatives of the Random walk mobility model have been developed including 1-D, 2-D, 3-D and 4-D walk. The 2-D Random walk mobility model is of special interest, since the Earth’s surface is modeled using a 2-D representation. Fig . (1) shows example of movement observed from this 2-D model. At each point mobile node randomly chooses a direction between 0 and 2.n and speed between (Speedmin., Speedmax.) In the Random walk Mobility model, the mobile node may change direction after travelling specified distance instead of specified time. The Random walk Mobility model is a memory less mobility pattern because it retains no knowledge concerning it’s past locations and speed values. The current speed and location of mobile node is independent of it’s past speed and direction.
280
800 600
-
400 200 --
0
50
100
150
200
250
300
Fig. 1: Random movements observed for 2-D Random walk mobility model.
2) Random Way point Mobility Model: The Random waypoint model includes pause times between changes in direction and/or speed [2]. The mobile node begins by staying in one location for certain period of time i.e. a pause time. Once this time expires, the mobile node chooses a random destination in the simulation area and a speed that is uniformly distributed between (speedmin, speedmax). The mobile node then travels towards the newly chosen destination at the selected speed. Upon arrival, the mobile node pauses for a specified time period before starting the process again. Fig. 2 shows an example travelling pattern of the mobile node using Random Waypoint Mobility Model. The movement pattern of the mobile node using Random waypoint mobility model is similar to the Random walk mobility model if pause time is zero. In most of the performance evaluations which uses Random waypoint model, the mobile nodes are initially distributed randomly. This initial distribution of mobile nodes is not representative of the manner in which nodes distribute themselves when moving. The average mobile node neighbor percentage is the cumulative percentage of total mobile nodes that are a given
281 mobile node’s neighbor. e.g. If there are 50 mobile nodes in network and node has 10 neighbors, then the nodes current neighbor percentage is 20%. A neighbor of the mobile node is a node within the mobile model’s transmission range. There is high variability in average mobile node neighbor percentage. This produces high variability in performance results. But by discarding some initial simulation time this problem can be overcome. There is also complex relationship between node speed and pause time. A scenario with test mobile nodes and long pause time produces a more stable network than a scenario with slower mobile nodes and shorter pause times.
I
1000 800 600 400 200 0 50
100
150
200
250
300
Fig. 2: Movements of mobile node observed for 2-D Random waypoint mobility model
3) Random Direction Mobility Model: A Random Direction Mobility Model was created to overcome density waves in the average number of neighbors produced by Random waypoint mobility model. A density wave is the clustering of nodes in one part of the simulation area. In the case of Random waypoint mobility model, the clustering occurs near the center of simulation area. In the Random waypoint mobility model, the probability of the mobile node choosing a new destination
I
282 that is located in the center of the simulation the center of the simulation area, or destination which requires travel through the middle of simulation area is high. Thus the mobile nodes appear to converge, disperse and converge again. In order to alleviate this type of behavior and promote semi constant number of neighbors throughout the simulation, the Random Direction Mobility Model was developed [3]. In this Model, mobile nodes choose a random direction in which to travel similar to Random walk mobility model. The Mobile node then travels to the border of the simulation area in that direction once the simulation boundary is reached, the mobile mode pauses for a specified time, chooses another angular direction (between 0 and 180 degrees) and continues the process, since mobile nodes travel to, and usually pause at the border of the simulation area, the average hop count for data packets using the Random Direction Mobility Model will be much higher than the average hop count of most other mobility models.
4)Uniform Mobility Model: Uniform mobility model collects good features of Random walk mobility model, Random waypoint mobility model and Random Direction mobility model. For each node the initial position is chosen in two simple steps: Choose an initial path and then choose a point on the path. The probability density of any chosen path is proportional to the length of path. In other words , the initial path is chosen by choosing end points (XI , yI) and
(x2 ,y 2 ) i n such a way that joint probability density of these two points is proportional to the distance between them. A convenient way to do this is by rejection sampling [4]. For this following steps are adopted. 4.1) Rejection Sampling Method: 1) Generate two points (xi , y1) and (x2 , y2 ) uniformly on the unit square.
2)
Compute
r=
J(%- x1 l2 + (Y2 - Y l ) ”
Generate a random value
3) 4) If
5)
./z u, uniformly on (0,1)
u,< r ,then accept (xi , y1) and (x2 ,y2 ) , otherwise go to step 1. Generate a random value u, uniformly on (0,1)
283
6) The initial location of the node is
bz
072x1 + (1- u z u2 Y 1 + (1 - u2 )Y 2 ) 4.2) Speed of node: At any time t , the node has speed . For any to be the expected positive number M define the function F, 7
(s)
(0, M Define F ( S ) = 1irnM+-F, ( S )
proportion of time in the interval
s
).
F ( S ) is cumulative distribution function of stationary distribution of s . If node is traveling at speed s along a path of length 1 , the time spent on the path is )/s . Therefore the conditional density f(j0 of speed,
Then Define
given path length is proportional to path,
x . Since speed is chosen independent of
f(s) is proportional to mean path length, it follows that f(s)is
x.
proportional to 4.3) Pause Time: Here it is assumed that at each destination , a pause time P is chosen according to probability density function h(P).In practice ,
h(P) is a uniform distribution but in principle this need not be so. Further we assume that P is independent of speed s and locations . Begin by computing the proportion of time that a node is paused. We refer to the travel between two consecutive destinations as an excursion. Let T be the time spent traveling on excursion excluding. Let E(P) denote the expected length of pause and let two pauses. P,,,,
E ( T ) is time elapsed in traveling between
is the long run proportion of time spent paused.
4A)Direction of node: Mobile nodes continue to choose random directions but they are no longer forced to travel to the simulation boundary before stopping to change direction. Instead ,an mobile node chooses a random direction and selects a destination anywhere along that direction to travel. Simulation: For simulation area chosen is 1000 X 1000; which is a square. The simulation for 2-D Uniform Mobility Model is carried out for 25 nodes to find new x and y location by considering above described speed, pause time
284
and direction of motion of node. This simulation has been performed by using Matlab .
Fig. 3:cdf plot for new x location
285
fig. 4:cdf plot for new y-location
Conclusion A brief review of mobility models for ad hoc networks is taken. In order to construct more efficient mobility model for simulation we have developed a mobility model called as ‘Uniform Mobility Model’. In this model the stationary distributions for speed and pause time, and random directions are considered, for a node moving in rectangular area. For initial location six steps mentioned in section 4.1 are used those eliminates the initialization discrepancy which is present in Random waypoint mobility model.
286
References [ 11 M.Sanchez , P.Manzoni ;Java based simulator for ad hoc networks [2] D.Johnson ,D.Maltz.; Dynamic source routing in ad hoc wireless networks. [3] E. Royer ,P.M. Melliar -Smith , L .Moser; An analysis of the optimum node density for ad hoc mobile networks.;IEEE 2001 [4] William Navidi , Tracy Camp ;Stationary Distributions for the Random Waypoint Mobility Model .
SECURE CLUSTER HEAD ELECTION ALGORITHM FOR WIRELESS SENSOR NETWORKS
V. CHENNAKESAVULU B. DEY AND S. NAND1 Indian Institute of Technology Guwahati ,India, {nchenna, bdey,sukumar} @ iitg.ernet.in
Security is the one of the main issue presently got attention by most of sensor network researchers. Many sensor network routing protocols have been proposed without giving proper attention to security aspects. The presence of a single compromised node can invert the purpose of the protocol. We have proposed a ‘trust based cluster head election’ scheme that allows only trusted nodes to acquire greater responsibilities in the network like aggregation and cryptography information maintenance. Present scheme introduces the concept of ‘Super Nodes’ which are having high voting power in these elections. We present statistical results for the number of nodes the adversary has to compromise to get these responsibilities. Present scheme also considers energy resources of nodes during the cluster head election process. A secure routing protocol can be built on this approach.
1. Introduction Wireless Sensor networks consists of hundreds or thousands of nodes randomly distributed over the terrain, all nodes are low-power and low-cost and are possibly mobile. Considering security, security can be provided in different layers of protocol stack. Considering security to achieve a secure system, security must be integrated into every component. Security can be provided in different layers of protocol stack. . Providing security in routing layer is a challenging task as routing layer is most vulnerable to attacks and also very important in the aspect of network operations. Existing routing protocols are heavily vulnerable to compromised node attacks.This paper deals with providing security in routing layer. Several routing protocols exist for sensor networks. Out of them cluster based routing protocols are widely applicable to wireless sensor networks. LEACH is a simple cluster based routing protocol that divides the whole network into clusters and elects the respective cluster heads. The Energy aware clustering protocol deals with energy issues in cluster formation. The Density estimation clustering protocol concentrates on cluster density. In Cluster based routing 11213
287
288
protocols Cluster Head is the most important node. It is the only aggregation point in the cluster and also maintains information regarding the cluster; if a compromised node becomes a cluster head it can get the control of whole cluster. The present ‘Secure Cluster Head Election’ scheme promises that only trusted nodes can become cluster head. 2. The Secure Cluster Head Election Scheme
The ‘secure cluster head election scheme’ runs through three phases namely, Initial Phase, Key setup phase and Cluster Head Election Phase. In the initial phase of the Cluster Head Election Scheme we use the protocols LEACH Energy Aware Clustering Protocol and Density Estimation Clustering Protocol to find clusters and cluster heads. In the Key Setup Phase all cryptographic information required for the safe run of the protocol is established. Sink assigns different identities to different clusters and also it establishes secret keys with the clusters. Within a cluster, cluster head assigns local ids to all sensor nodes in the cluster and establishes secret keys with the sensor nodes. Every node in the cluster identifies its neighbors and establishes secret keys with those neighbors. We assume that during these phases no adversary is present and all nodes are alive. All messages exchanged in the network are signed with the source of that message with the secure keys available between neighbors and between sensor nodes and cluster head. Every message includes the ‘id’of it’s source.
’,
2.1. Cluster head election Phase The present cluster head initiates election process and elects a new cluster head. In this scheme it has a set of nodes (P) which are referred as “Super Nodes” having high voting capability over normal sensor nodes in these elections. These “Super Nodes” are taken as the last ‘IPI’ round cluster heads. This scheme follows an innovative strategy of ‘Threshold based Trust Value’ calculation for cluster head elections, which decides a particular node is trusted or compromised. During the elections every node gives its votes towards its Active Neighbors (Message Forwarding neighbors) to the present cluster head. A node can give either a positive or a negative vote for any of its Active Neighbors depending on how much it trusts that particular neighbor. In this algorithm, every node has equal chance of electing as a cluster head. A node which is elected as a cluster head cannot contest for next
289
‘r’(= lPl) rounds of elections. This is to prevent the node from becoming cluster head again and again which drains out its energy. 2.1.1. Trust value calculation For every node its neighbors maintain its “Trust Values”. Initially a node keeps its ‘Trust Value = 0.5’ for all of its neighbors. If all the messages forwarded through a neighbor reaches the cluster head then it makes its “Trust Value” entry for that forwarding neighbor as ‘1’else it makes its “Trust Value” as ‘O’.If a node is not using some of its neighbors for the communication then it won’t change the ‘Trust Value’ of those neighbors. A Sensor node sends a vote for its neighbor as positive if its ‘Trust Value = 1’ for that neighbor, negative if its ‘Trust Value =0’ and no vote if its ‘Trust Value = 0.5’. Trust Values are preserved from round to round. 2.1.2. Salt value calculation Whenever a sensor node wants to send some message to the cluster head it includes a Nonce (sequence number) in the message and sends the message. Sensor node maintains a table for its forwarding neighbors called ‘Salt Table’ and in that table it maintains a value called ‘Salt Value’ for each of its forwarding neighbors. Cluster head also maintains a ‘Salt Table’ for the sensor nodes present in the cluster and the Salt Table has an entry called ‘Salt Sum’ for each sensor node in the cluster. If a sensor node wants to send a message to the cluster head it selects one of its forwarding neighbor and forwards the message through that neighbor. After sending the message it updates the ‘Salt Value’ of the corresponding forwarding neighbor by adding the sequence number of the message it has just forwarded through that neighbor to the current ‘Salt Value’ field. In the same way the cluster head, if it receives a message from any of the sensor nodes it updates the ‘Salt Sum’ field of corresponding sensor node in its ‘Salt Table’ by adding the sequence number of the message it has received from that sensor node. After a set of messages have been received the cluster head gives a cumulative ‘Reply’ message to the sensor node and in that message it gives the ‘Salt Sum’ value of that corresponding sensor node. The sensor node after receiving the ‘Reply’ message tallies the ‘Salt Sum’ value with the sum of the ‘Salt Value’s present in its ‘Salt Table’. It finds out the sequence numbers of the missing messages and identifies the neighbors through which these messages are transferred and makes its ‘Trust Value’ as false for those neighbors.
290
2.1.3. Voting and Winner Selection During the election process every node sends its votes to the cluster head. Present cluster head ignores the votes from the nodes that are declared as compromised in the previous rounds. For each node in the cluster, the cluster head process only the negative votes. If the number of negative votes for a node crosses threshold (T) percentage of its total votes then it is declared as a compromised node. The votes from the nodes which are found t o be compromised either in this round or in the previous rounds are ignored and those nodes won’t be considered for the cluster head elections. Now the positive votes of remaining nodes are considered for further processing. The present cluster head process the positive votes of these nodes and calculates the positive vote weight for each node unless the node is a ‘Super Node’ i.e. not in set P. The top 5 highest vote scored nodes are considered for further processing as candidates for next cluster head. Credit Weight will be calculated for each candidate node t o select the winner. The Credit Weight includes Positive Vote Weight 6 , Location Weight of the node Loci, and Weight of Available Energy Resources Ei. These weights are taken as the normalized values individually The Credit Weight is calculated as follows W c r e d i t = Penergy
Ei + Pwote & + 80,Loci
(1)
Here Penergyr Pwote,Piocare the amount of preference given to energy ,vote and location criteria respectively and Penergy Pwote Pioc = 1 .
+
+
3. Analysis Let ‘n’ be the no. of nodes distributed per cluster, out of which [PInodes which are previous round cluster heads considered as “Super Nodes” and ‘r’ nodes ( IPI ) will be out of competition as previous ‘r’ round cluster heads cannot participate in the election process. So we have ‘n-r’ nodes competing for cluster head elections with uniform probability of ‘l/(n-r)’ each. N is the ‘highest number of votes’ polled for a sensor node in the cluster in this round, this is nothing but the Max. Active Neighbor Hood Value in the network. The no. of nodes t o be compromised for an adversary t o make his compromised node as cluster head in a ‘k’hop cluster with Threshold percentage T as 50% follows this equation. SO= N/2; ( r 1)terrns
+
s, = croNT+1/2T+1 - Cr1NT/2T + CrzNT-1/2‘-1
- ..(-)W/2,
if?- > 0; (2)
291
If we allow max 4 hop nodes in the cluster the no. of nodes that the adversary has to compromise will be around S3 = N4/16 - 3
* N 3 / 8 + 3 * N2/4 = ( N / 2 ) 2 [ ( N / 2 )-2 (3 * N / 2 ) + 31
No.of MaxNeighnodes bourhood
Max no. of
Threshold (T) per-
Nodes to be compro-
(3)
’% of nodes to be com-
10 Above table analyzes that an adversary has t o compromise more than half of the nodes t o get itself as a cluster head in most of the cases.
4. Conclusion In this paper we have proposed a ‘Trust Based Secure Cluster Head Election Algorithm’ which stops a compromised node from becoming a cluster head in turn makes a way for the design of secure routing in sensor networks. We have shown in the analysis how better our approach prevents a compromised node getting important responsibilities of the network.
References 1. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energy-efficient communication protocol for wireless sensor networks,” in the Proceeding of the Hawaii International Conference System Sciences, Hawaii, January 2000. 2. M.Younis, M. Youssef and K . Arisha, “Energy-Aware Routing in ClusterBased Sensor Networks”, in the Proceedings of the 10th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTSZOOZ),Fort Worth, TX, October 2002 3. Robert D.Nowak, “Distributed EM Algorithms for Density Estimation and Clustering in Sensor Networks”JEEE Transactions On Signal Processing, Vo1.51, No. 8, August 2003.
MAXIMIZING LIFE-TIME OF WIRELESS SENSOR NETWORKS BHUPENDRA KUMAR MEENA Reliability Engineering, Indian Institute of Technology Bombay, Powai Mumbai-400076 INDIA E-mail: [email protected] VALLIESWARAN V. K.R.School of Information Technology, Indian Institute of Technology Bombay, Powai Mumbai-400076 INDIA E-mail: [email protected] This paper focuses on Optimal routing mes to maximize the duration over which the sensing task can be performed, but requires future Knowledge. Two different scenarios with blue noise based selection of nodes for routing are simulated. One with all nodes having equal functionality and other with a node acting of coordinator summarises data and replies queries. The algorithm for selection of coordinator and query replying is presented. The number of messages for queries (in networks) and network life time of different sizes is monitored using a java simulation. This paper concludes that sensors networks life time depends on data sent per query and number of nodes in network.
1
Introduction
Wireless sensor nodes can be deployed on a battlefield and organize themselves in a large-scale ad-hoc network. Traditional routing protocols do not take into account that a node contains only a limited energy supply. Optimal routing tries to maximize the duration over which the sensing task can be performed, but requires future Knowledge. This paper considers that applications of wireless sensor networks where a spatially band-limited physical phenomenon (e.g., temperature, pressure, low-frequency vibrations) can be sufficiently monitored by a subset of the nodes (randomly) deployed in the environment. In other words, the total number of sensors deployed is such that if the sensors were placed uniformly within the area, the Nyquist criteria [l] would be met in terms of spatial frequency. While such a random distribution does not provide ideal uniform coverage, it does guarantee within a reasonable likelihood that the area is covered densely enough to meet, if not exceed, the Nyquist criteria requirements within most sub regions. This paper proposes a method that determines which sensors within the more densely covered sub regions should be selected to acquire data from the environment and which nodes should remain inactive in order to conserve energy. The proposed method is especially suitable for applications where it is desirable to trade spatial resolution for sensor network longevity.
292
293
Our proposed method chooses sensor subsets such that the sensor positions can be mapped into the blue-noise binary patterns that are used in many image processing applications [l]. This method guarantees that the subsets would be chosen such that each subset provides a near optimal signal-to-noise ratio for the given sensor distribution and desired number of active sensors [2]. Meanwhile, the method also guarantees that the sensor nodes with the minimum residual energy are the primary candidates for deselect ion (i.e., they are the first to be turned off). And then routing should be performed through high energy nodes. This work investigates how a blue noise sampling techniques [4 ][5][6] being used to trace out highly residual energy nodes.
2. RELATED WORK:Let’s suppose following is a wireless sensor network having three regions as shown:
n
Figure 1 . A wireless sensor network with three regions as A, B, C and each region contains their high residual energy nodes(marked ‘N’) and low residual energy nodes(marked ‘n’). [8][lo]. *below is the image grid representation of the above Wireless sensor network. [7]
Figure 2. Image grid representation of the above WSN Firstly, the high residual energy nodes (as marked ‘1’ by image grid) of each region separately have to be selected.
294
3. PROPOSED ENERGY EFFICIENT ALGORITHM: Now, after getting the high residual energy nodes[8] (as marked 1 by image grid) of each region, is proposed in [1][3]. This algorithm considers only selection of nodes according to residual energy of the node. This does not consider routing energy cost. The selection of these nodes have to be communicated, and so this also consumes a large amount of energy. Every message send from one node to other reduces the energy stored in the entire system. Message power = transmitter power * Time (1) The Power spent on transmitting one message is proportional to product of transmitter power and time for transmitting the message. If the number of messages in the system increases the life of the sensor network decreases. So, to reduce the number of message and selection complexity the following improved algorithm is used. Step I . Initially each selected nodes of regions will transmit an empty packet to all the other nodes of the same region. Step 2. Then every node in the region replies with number of number of empty packets received. The node with maximum number is the coordinator of the region Step 3: Then after getting reply from others, each node will have to maintain a routing table to the node with coordinator of the region & information about its nearest neighbour. Step 4: Step 2 and 3 must be followed for all the regions in similar fashion. Step 5: Now, all the selected nodes of each region got an idea about their nearest neighbour and leader. Step 6: Then, all the transmission in any region will be proceeds in an energy efficient way with covering shortest paths and through higher residual energy nodes to coordinator of the region. Step 7: The region coordinator does the processing of the query and send reply to the other region with result in a single message instead of all sensors messages. Operations are like maximud minimud average sensed values of the region this can be done by simple Digital circuit added to the sensor.
4. SIMULATION RESULTS From the paper [3] results, increase in longevity of network by choosing high energy nodes for routing is figured out. Sensors are simulated as objects in java and blue nose based sensor selector as global object where it stores the energy level of every node and dictates selection based on power formula given in paper [3] for 100x100 grid. The following assumption are made Introduced one query to get data from the sensors in a region in 100x100 grids. One sensor will last for 1000 hrs without any packet transfer. Power for lmin will be consumed by 100 packet transfer from the node. Number of sensors data will be used to get accurate result for a query is used.
295
The number of messages per query on average and the life time of sensor network is calculated with uniform distribution of sensors in the grid (as in the previous algorithms). But the number of messages drastically reduced due to elimination of broadcasting of data.
I
life time graph In improved algorithm 1000 800
c
sensors per query(in
.f 600 -4-
400
t
200 networks life for 5 sensors per query(in hrs 1
0
I
networks life for 1( sensors per query(in
no of Sensors
Figure 3. Life time of sensors In figure 3, x-axis represents the number nodes, y-axis represents the network life time in number of hours and the three different lines shows different number of nodes used for data in each query. Improvement in life time with respect to other algorithms (due to reduction in broadcast of data) is high. But the factor (how much message transfer affect the life of network) has two components one is data sent per query and other is number of nodes used up in processing of query. Comparing both the graphs it shows mrparisonoftwoalgorlthms
cuuerrise dpithn
Figure 4. Number of packets in network per query on an average decrease in network life time proportional to data sent per query. In the improved algorithm, the decrease in network life time is comparatively constant, but it affects initial value. In both the cases with respect to increase in number of nodes there is decrease in life time. The decrease is in continuously increasing fashion (but not linearly). This gives us an idea that, with increase in number of nodes to the decrease in life time, may be in proportional to root function of the number of nodes
296
5. CONCLUSIONS 1.
Our proposed algorithm gives the better approach of using the blue noise sampling technique. 2. By using our improved algorithm the life time of Wireless sensor networks gets increased up to 32 percent in compared with the old blue noise selection method ( as shown in figure 4) , 3. As the number of selected nodes (per query) decreases then the reliability and operability of the WSN goes up. 4. The life time is inversely proportional to number of sensors selected for each query and some root function of number of sensors in network.
6. FUTURE WORK Our plan is to extends this blue noise sampling techniques[3] to include various other parameters of wireless sensor networks such as pressure, temperature and other environmental and WSN factors so that the selection of the nodes and their power Consumption calculations can be made more accurate. Currently this paper considers only packets transfer but, in future, we would like to include interference, collision and retransmission occurring in message transmissions.
REFERENCES [ 13 Mark Perillo, Zeljko Ignjatovic and Wendi Heinzelman, An energy conservation method for wireless sensor networks employing a blue noise sampling technique. IPSN, 2004 [2] S. Hiller, 0. Deussen, and A. Keller, .Tiled Blue Noise Samples,.in Proceedings of Vision, Modeling, and Visualization, 2001, p.265.271. [3] Zeljko Ignjatovic, Mark Perillo, Wendi Heinzelman, Mark Bocko, An energy conservation method for wireless sensor network using blue noise spatial sampling technique.ACM, 2004 [4] T. Mitsa and K. J. Parker, .Digital Halftoning Technique Using a Blue-Noise Mask,.in Journal of the Optical Society of America,vol. A:9, Nov. 1992, pp. 1920.1929. [5]R. A. Ulichney, .Dithering with Blue Noise,. in Proceedings of the IEEE, Jan. 1988. [6] J. chou and D. Pterovic, A Distributed and adaptive signal processing approach to reducing energy consumption in Sensor networks, IEEE (INFOCOM), 2003. [7] H.G. Feichtinger and K.H. Grochenig, Theory and practice of irregular sampling, 1994. [8] P. Ishwar, A. Kumar and K. Ramachandran, Distributed sampling for Dense Sensor Networks,(IPSN), 2003. [9] S . S. Pradhan, J. Kusuma, and K. Ramachandran, Distributed Compression in a Dense Microsensor Network. IEEE Signal Processing Magazine, March 2002. [ 101. R. Stasinski and J. Konrad. Improved POCS-based image reconstruction from irregularly-spaced samples. In Proceedings of the XI European Signal Processing Conference, 2002.
AN EFFICIENT MOBILE CONTROLLED AND NETWORK ASSISTED
HANDOFF PROPOSAL FOR IEEE 802.11 NETWORKS THIRUMALA REDDY M AND SUKUMAR NAND1 Department of Computer Science & Engineering Indian Institute of Technology Guwahati, Assam. India E-mail: {m.thim, sukumar}@iitg.ernet.in The small coverage area of WLAN Access Points creates frequent hand-offs for mobile users. If the latency of these hand-offs is high, then the users of synchronous multimedia applications such as VoIP will experience excessive jitter. The dominating factor in W A N hand-offs has been shown to be the discovery of the candidate set of next access points. In this paper, we describe a mobile controlled and network assisted handoff procedure. The proposed procedure reduces the probing time to almost negligible. It is well suited for QoS assistance, easily coexists with FMIP, has very less maintenance cost and doesn’t need any changes to the existing hardware.
1
Introduction
The small cell size in IEEE 802.11 WLAN creates frequent handoffs potentially causing delays or disruption of communications if the latency of the hand-off is high. A major component of the hand-off process is identifying the new best available access point (AP). The methods suggested in [ 1,2,3] are low-latency handoff mechanisms but have some implementation overheads like additional information maintenance, extra hardware requirements. In this paper we describe a low latency handoff mechanism, which falls under mobile controlled and network assisted handoffs category. The proposed method works with minimum maintenance overhead and with out any extra hardware requirements. The paper is organized as follows. In Section I1 we review how 802.1 1 handoff mechanisms function and previous work in improving their overheads. In Section 111 we describe our handoff method followed by conclusion in Section IV. 2
Background and Related Work
The 802.11 handoff process can be divided into three distinct logical steps: (i) Discovery (ii) Authentication and (iii) Reassociation. In the discovery phase the mobile node scans all the channels (probing) and get the information about the neighboring APs (takes around 350ms) and then select one among them for the handoff. In the authentication and reassociation phases the MN authenticate and associate with the selected AP (takes around 40ms for these two phases). As the 297
298
probe delay had the major contribution in overall handoff latency, in [ 1,2,3] the authors proposed some methods to reduce the probe delay. In [ l ] Shin et all proposed a method using neighbor graph (NG) and nonoverlap graph concepts. The experimental results of [ 11 gives that the probing delay is reduced to 70 ms with NG and 59ms with NG-pruning. Even though this method works properly it involves neighbor graph and non-overlap graphs maintenance overhead. In [2] Ishwar Ramani and Stefan Savage proposed SyncScan algorithm. In this algorithm the mobile node performs the channel switching at specified times, and catches the beacon packets (it eliminates the lengthy probing phase), for which all the APs and mobile nodes clocks should be synchronized, which is very difficult in the reality. In [3] Sang-Hee Park et all proposed a mobile controlled and network assisted hand off method by using A P s with dual radio frequency (RF) modules. This method reduces the handoff latency to zero, and provides QoS assisted handoff algorithm. But, to implement this algorithm we need APs with dual RF modules. It’s very difficult to update the existing 802.11 network infrastructure with these APs.
3
The Proposed Handoff Scheme
The coverage region of AP is divided into 3 zones based on signal strength levels. The zone 1 is said to be the safe zone and the probability of handoff while the mobile node is in this zone is zero. All the necessary actions required for the handoff process take place in zone2. The actual handoff takes place in zone3. Consider a scenario with 3 APs APl, AP2 and AP3 which are listening in channels 1, 6 and 11 respectively. Let’s assume that initially the mobile node is associated with APl and there in zone 1. As the mobile node is moves to zone 2 the sequence of operations that takes are as fallows 1. The Mobile node sends the Move Messages with self identity and the attached AP Identity in each channel (except the current listening channel) with sufficient time gap between each channel switching. The neighbor APs (AP2 and AP3) receive the Move Messages sent in their listening channel. 2. AP2 and AP3 send the Move Detection messages with self identity, listening channel, mobile node identity and signal strength level to APl . 3. AP1 sends a Move Confirm message per channel to the mobile node. On receiving a Move Confirm message for a particular channel from the attached AP, the mobile node stops sending the Move Messages on that particular channel. In case Move Confirm message is not received for a channel, the mobile node will send the Move Message for some predefined number of times
299
and then stops by assuming there is no AP listening on that channel in near vicinity. 4. After entering into the zone3 the mobile node sends the Move Messages in each channel just once and waits for predefined amount of time. Then it sends the Handoff initiate message to the Attached AP (APl). 5. AP1 selects the candidate AP for handoff (Lets take AP3 in our scenario) and sends the context and identity of the mobile node to AP3. The context includes the necessary information to reduce the authentication and association delays. 6. AP1 sends the handoff response to the mobile node with the candidate AP (AP3) identity and listening channel number. 7. Mobile node performs disassociation with AP1. 8. Mobile node performs the authentication and reassociation process with AP3 and continues the operation with AP3. In the explained procedure we completely eliminated the lengthy probing phase with couple of additional messages and we reduced the authentication and reassociation delay by transferring the mobile node context information prior to the hand off. With this the probing delay will become zero and the time required for authentication and reassociation will come to around 30ms. So, by following our approach the mobile node can finish the layer-2 handoff in around 30ms. This method does not have any of implementation overheads like graphs maintenance, clock synchronization and works with out any extra hardware requirements. This is best suitable for QoS assisted handoffs and can easily coexist with FMIP. 4
Conclusion
In this paper we proposed an efficient mobile controlled and network assisted handoff algorithm which eliminates the need of scanning phase and reduce the time required for authentication and reassociation. References 1. M. Shin, A. Mishra, and W. Arbaugh, “Improving the latency of 802.11 handoffs using neighbor graphs”, in Proceedings of the ACM MobiSys Conference, Boston, MA, June 2004. 2. Ishwar Ramani and Stefen Savage “Syncscan: Practical Fast Handoff for 802.11 Infrastructure Networks” IEEE InfoCom 2005. 3. Sang-Hee Park, Hye-Soo Kim, Chun-Su Park, Kyunghun Jang and Sung-Jea KO “QoS Provision Using Dual RF Modules in Wireless Lan”, European Symposium on Ambient Intelligence (EUSAI), Eindhovenn, the Netherlands, NOV8-10,2004, LNCS 3295, pp. 37-48,2004.
EFFECT OF NETWORK POLICIES ON INTERNET TRAFFIC ENGINEERING PRIYADARSI NANDA, ANDREW JAMES SIMMONDS Faculty of IT University of Technology Sydney, PO Box 123, Broadway, NSW2007, Australia, e-mail: nanda/[email protected] An important objective of Internet traffic Engineering is to facilitate reliable network
operations by providing proper QoS to different services through mechanisms which will enhance network integrity and achieve network survivability. Current Internet architecture is very much distributed in nature interconnected by Internet Service Providers (ISPs), where the central goal of each service provider is to enhance emergent properties of their network by providing better service qualities with strong emphasis on economic considerations. Hence, service providers always aim at setting up their objective function based upon economic considerations and governed by their network wide policies to get the best result. In this paper we present a scheme in which Autonomous System (AS) relationships are central to any policy decision imposed by individual ISPs. Based on these policy relationships, we propose a framework which is expected to match the need for better QoS, uniform Internet wide service management and contribute efficiently towards traffic engineering. This paper presents an integrated approach comprising traffic engineering, routing and policy mechanisms for better management of QoS over the Internet. Keywords: Policy Based Network, Traffic Engineering, BGP
1
Introduction
With massive deployment of applications over the Internet in recent years and the need to manage them efficiently with a desired QoS in mind, the current Internet must shift from a Best Effort (BE) model to a service oriented model. Services requiring higher QoS currently have to satisfy their applications with the BE model, as there is no practical way of providing flow based guarantees. This is due to the fact that current Internet is very much decentralized in managing traffic flows between various Autonomous System (AS) domains, and involves functions such as: inter-domain routing, load balancing, traffic engineering, etc. Also due to heterogeneous and independent policy mechanisms used by individual ASS (designed and implemented by individual ISPs for their own benefits), end-to-end QoS path set up for various traffic is a complex task. Each ISP then uses their traffic engineering measures to balance traffic flows, both for incoming and out going traffic. Current Internet Traffic Engineering heavily depends on proper routing parameter configuration for both Intra and Inter Domain routing protocols such as Border Gateway Protocol (BGP) (Interior BGP within the domain and Exterior BGP between domains) in order to configure the routers across various domains. Due to rich policy features supported by BGP, it is also considered as the most important routing protocol especially for inter-domain traffic between various domains, hence it is the industry standard. In spite of several draw backs such as: complex decision 300
30 1
process for path determination, inability to collect global policy on routing from other domains, unable to cope with route flapping, and higher convergence delay, BGP is still considered the industry de-facto standard for Internet connectivity. These drawbacks of BGP are due to its distributed nature of operation. Also, because BGP can be used to enforce network level policies involving routing decisions by different ASS, a minor error in configuring these parameters may result in some disastrous consequences. In this paper our aim is to extract AS level policies based on business relationships and Service Level Agreement (SLAs), and then apply BGP based traffic engineering techniques for efficient management of traffic over the Internet. Section two presents AS level policies and their relationship, while Section three describes BGP based traffic engineering approach by identifying the parameters which have a direct impact on the AS relationship given in section two. We present OUT proposed framework in section four having traffic engineering as the central component. Section five concludes the paper with hture directions. 2
AS relationships and their effect on Network wide Policy
Current Internet with more than 14,000 Autonomous Systems (ASS) reflects tremendous growth both in its size and complexity since its commercialization. These ASS may be classified in different categories based on number of users they serve such as Internet Service Providers (ISPs), organizations such as Corporations and Universities with their own administrative domains, etc. Based on the property of each AS and their inter connection strategies in the Internet, it is also important to develop different routing policies which may influence routing decisions for certain traffic to achieve desired end-to-end QoS for various applications. In [5], the author classifies the types of routes that may appear in BGP routing tables based upon the relationships between the ASS, and presents a heuristic algorithm giving the degree of connectivity by inferring AS relationships from BGP routing tables. Based on various network properties, type of connectivity between various domains and traffic transportation principles, these ASS may be classified [5] under the following categories: Stub, Multi-homed and Transit ASS. A stub AS is usually an end user’s internal network. One of the most important properties of stub network is that hosts in a stub network never carry traffics for other networks (i.e. no transit service). Multi-homed ASS have connections to more than one ISP for protecting against failure in one of its ISP connections as well offering load balancing between multiple ISPs. Transit ASS are described as multihomed due to multiple connections with other service providers and carry both local as well as transit traffic. Such networks are generally the ISPs located within the Internet hierarchy (tierl, tier2, tier3). Transit networks play an important role in terms of supporting QoS, load balancing using traffic engineering, and fault management across a whole range of Internet services. Also these transit networks
302
must work co-operatively with a standard policy set to support QoS across the Internet. ASS can also be classified based upon various business relationships as well as contractual agreements. These relationships and agreements between the ASS play an important role to support end-to-end QoS and are fundamental to our research in this paper. They are classified as following: a. Customer-Provider relationship: In a customer-provider relationship scenario, customer buy services (network connectivity and service support) from its provider which is typically an ISP. Similarly, a tier3 ISP would buy some services their upstream tier2 service provider, etc. Network architecture supporting customer-provider relationship must address issues in relation with Service Level Agreements (SLA) enforced between the customer and its providers. b. Peer-to-Peer relationship: Two ASS offering connectivity between their respective customers without exchange of any payments are said to have a peering relationship. Hence these two ASS agree to exchange traffic between their respective customers fiee of charge. Such relationship and agreement between two ASS would mutually benefit both, perhaps because roughly equal amounts of traffic flow between them. Peer-to-Peer relationship may turn into customer-provider if one party depends more heavily on the interconnection arrangement than the other one [7]. Hence, ASS must monitor on a regular basis the amount of traffic flowing into their regions from their peers. c. Sibling relationship: Sibling relationship may be established between two or more ASS if they are closely placed to each other. In this situation, the relationship allows the administrative domains to provide connectivity to the rest of the Internet for each other. Also sometimes called mutual transit relationship, and may be used to provide backup connectivity to the Internet for each other. Sibling relationship between ASS may also be used for load balancing among various services. In order to design a new Internet architecture based on above AS properties and their relationship, it is important that the architecture must first of all support them and then derive related policies to enforce them across the Internet. Such an objective will then be able to answer the following issues when deployed across the Internet. 1. Resource management with multiple service support 2. End-to-End QoS for individual service 3. Load Balancing 4. Fault management 5. Facilitate Overlay routing 6. Security related to information sharing between ASS Using BGP, an ISP may select its own administrative policy to carry traffic for its own customer as well other ISPs customers (as a peer or transit provider). Though such an approach works reasonably well for most of the ISPs individually to satisfy their personal objectives and maximize their profits, it does not address the impact of such an approach on a global scale. Achieving end-to-end QoS for any
303
application should have uniform and constant resource allocation throughout the path traveled between various domains. Hence our proposed framework is designed to answer those unsolved questions presently faced in the Internet traffic management. Before presenting the architecture, the following section presents a few of the BGP approaches for policy enforcement between ASS. We have tried to present those policy issues and how BGP is currently configured based on AS relationships as mentioned above. 3
BGP and its support for Internet Traffic Engineering
Border Gateway Protocol (BGP-4) [6] was a simple path vector protocol when first developed and the main purpose of BGP was to communicate path level information between ASS so as to control route selection process between them. Using such path level announcements by neighbors, an AS decides which path to use in order to reach specific prefixes. One of the main reasons ASS use BGP for Inter-domain routing is to enable their own policies to be communicated to their neighbors and subsequently across the whole Internet. A few traffic engineering strategies based on policy issues are outlined as following: 3.1 Use of local Preference to influence Path announcement: In a customer-provider relationship, providers prefer routes learned from their customers over routes learned from peers and providers when routes to the same prefix are available. In order to implement such a policy (prefer customer route advertisements) using the Local preference attribute, ISPs in general must assign higher local preference value to the path for a given prefix learned from their customer. In [8], the authors describe the use of assigning a non-overlapping range of Local preference values to each type of peering relationships between ASS and mention that local preference be varied within each range to perform traffic engineering between them. Hence Local preference attribute in BGP influences traffic engineering measures by controlling outgoing traffic between the ASS. 3.2 Use of AS path prepending and Multi Exit Discriminator (MED) attributes to influence transit and peering relationships: ISPs may influence the amount of incoming traffic to load balance on different links connected to their neighbors. Such a scheme can be implemented by selectively exporting the routes to their neighbors. BGP makes use of AS path prepending technique where an ISP can apply its own AS number multiple times and announce the path to its neighbor. Because BGP decision process [3] selects lowest AS path length, such a technique will then force the neighbor to choose another path if available instead of a prepended AS path announced by the neighbor. But such a scheme is often selected manually on a trial and error basis. In our model we propose to use AS path prepending only when the relationship between peers is based upon strict exchange of traffic without monetary involvement. Also, ISPs
304
having multiple links to other ISPs can use the MED attribute in order to influence the link that should be used by the other ISP to send its traffic toward a specific destination. However, use of MED attribute must be negotiated before hand between two peering ISPs. In our proposed model, MED attribute is only used between transit ISPs having multiple links to other ISPs. 3.3 Use of community attribute for route export to neighbors: ISPs have been using the BGP community attributes for traffic engineering and providing their customers a finer control on the redistribution of their routes [9]. Internet Assigned Numbers Authority (IANA) typically assigns a block of 65536 community values to each AS, though few of them are only used to perform community based traffic engineering. Using these attributes, by tagging them into the AS path announcement an ISP may ask its neighbor or customer to perform a set of actions on the AS path when distributing that path from its neighbor [ l l , 141. By doing so, ISPs are able to control their incoming traffic in a better way. However, because community based attributes are yet to be standardized, there is a need for uniform structure in these attributes in order to apply them in the Internet. Also because each community attribute value requires defining a filter for each supported community in the BGP router, such process will add more complexity to an already fragile BGP and increase the processing time of the BGP message [3]. We defined a new community based attribute the “policy attribute” which can be used by neighbors to get further information on quality of service support by their announced path. Such a community attribute will be used in our future research for policy co-ordination between neighboring domains and is not discussed in this paper. In summary, AS relationships play an important role in the Internet connectivity and contribute significantly towards designing a new architecture for the Internet. BGP based traffic engineering can be made more scalable by carefully selecting and configuring the attributes based on business relationships between various ASS. We present a framework using such policy issues in Inter-domain routing and traffic engineering in the next section. 4
Policy based traffic engineering framework
Our proposed framework is based upon the fact that ISPs must communicate with their neighbors to get a fair picture about which relationships they must hold with them in order to apply specific traffic engineering policies at their respective domains. At the same time ISPs must also protect themselves against any route instabilities and routing table growth which may otherwise occur due to misconfigurations or problems in other ISPs. The overall components of the architecture are presented below, where our aim is to achieve a scalable solution if such framework is deployed across the Internet.
305 ISP Business Relationship and Higher level Traffic control
Intra domain relationship and Device Configuration
Proposed Framework integrating AS policy with traffic engineering The entire architecture is represented as a 3 layer model and in this paper we mainly consider our frame work at layer-2, the middle layer which holds necessary components describing how network policies can be included in traffic engineering. Also, our prior discussions on ASS relationship in section 2 revealed that such relationships are important to consider for supporting proper QoS in the Internet. But obtaining data on ISP relationship is a difficult task, as no ISP reveals such data to their competitors. Hence we propose to use measurement based approach where an ISP collects and ranks the ASS based on the frequency of its presence in the routing table. A heavily used AS in the path list is the one where some kind of traffic engineering should be applied if selected for next hop forwarding. For example the decision of selecting Local preference is very much local to an ISP in order to balance its outgoing traffic (selecting the path to forward to the next ISP). On the other hand, an AS which is used less frequently has better chance to support QoS resources and is less congested [ 151. Traffic Engineering Mapper (TEM) is a repository that holds AS relationships and the hierarchy for interconnectivity between various ASS. TEM is responsible for directing those relationships to the Attribute Selector as well maintaining a list of those attributes once selected. Because the routing table holds necessary information regarding import and export policy filters, as well the attributes associated with them, TEM also investigates their validity in the ISP routing base. One of the export rules which the TEM must perform is directing the provider to send all the routes that the provider knows from its neighbors. Similarly TEM must ensure other peer or providers routes are not sent while sending routes to a provider or peer. TEM is an essential component of our architecture. Finally the decision on traffic engineering is taken by the Load Balancing module which receives necessary inputs regarding which attributes to be applied and to which paths they should be applied. The policy database holds policy information regarding how the AS may change routing for its own domain. Also included in the policy database is information on list of remote ASS which are customers of this AS, and pricing structures imposed by the SLAs of its providers.
306
Such information is given to the load balancing module which then takes a final decision on traffic engineering. The process is the same for both importing and exporting a route between neighboring ISPs. Several efforts on finding right solution to BGP based traffic engineering and Autonomous system relationships have been explored in the past [ 1,3,5,8-12,141. While most of the authors describe the drawbacks of BGP in the first instance and then propose their schemes on better management of BGP for traffic engineering, our approach is somewhat the reverse. In our proposed framework we have considered the relationship issue between ISPs as the central module in defining necessary traffic engineering policies for the Internet. Based on our framework, we have performed few preliminary experiments to investigate the effect of AS relationship policies on Traffic engineering. The experiments are conducted using OPNET Modeler 11.O. In our simulation experiments two different ASS are connected to each other through their respective ISPs using simple, multi-home, peering and sibling relationships. Both network convergence and throughput with and without policy are investigated and it is observed that, though with policy network convergence becomes slower, but the overall throughput is improved for different applications. Due to space limitation detailed results are not given in this paper.
5
Conclusion and Future work
In this paper we have investigated various relationship issues between ASS and how to use them for resource control over the Internet. Current Internet connectivity between ASS is quite complex because of heterogeneous policy structure which sometimes forces Internet traffic to travel through a back door, affecting the AS’S own traffic and downgrading business relationships with its customers. Such approaches may look good for those ASS trying to adopt a backdoor strategy for forwarding their traffic, but results in disaster consequences for others. In this paper our effort has been to propose a framework which can address load balancing based on AS relationship, resource management through selecting proper traffic engineering attributes, and provide support for end-to-end QoS over the Internet. Our future work in this area of research will be to explore validity of our proposed model along with other components of our architecture. We also aim to investigate the significance of our architecture addressing issues such as fault management, policy based overlay routing, and security related to information sharing between ASS.
307
References 1. Feamster N., Winick J., and Rexford J., A model of BGP routing for Network Engineering, SIGMETRICSIPerformance’04,June 12 - 16,2004, New York, USA 2. Awduche D. 0. et al, in Afi-ame work for Internet Traflc Engineering, Drafi2, IETF 2000 3. Quoitin B. et al, in A Pegormance evaluation of BGP based traflc Engineering 4. Yavatkar R., Pendarakis D., and Guerin R., Afvame work forpolicy based admission control, RFC 2753, January 2000 5. Gao L., On Inferring autonomous system relationships in the Internet, IEEE/ACM Transactions on Networking, Vo1.9, No. 6, December 2001 6. Rekhter Y. and Li T., A border gateway protocol 4 (BGP-4), Internet Draft-ietf-idr-bgp4-17.txt, January 2002 7. Huston G., Peering and Settlements- Part-1, The Internet Protocol Journal, CISCO Systems 8. Caesar M. and Rexford J., BGP routing Policies in ISP networks, UC Berkeley Technical report, UCB/CSD-05-1377, March 2005 9. Quoitin B. et al, in Internet Traffic Engineering with BGP, IEEE Communications Magazine, May 2003 10. Agarwal S., Chuah C. N., and Katz R., OPCA, Robust Interdomain Policy Routing and Traflc Control, OPENARCH 2003 11. Uhlig S., Bonaventure O., and Quoitin B., Interdomain traffic engineering with minimal BGP configurations, 18th International Teletraffic Congress, 3 1 August - 5th September 2003, Berlin, Germany. 12. Di Battista G., Patrignani M. and Pizzonia M., Computing types of relationships between autonomous systems, IEEE INFOCOM 2003 13. Quoitin B. and Bonaventure O., A co-operative approach to Interdomain traflc engineering, NGI 2005 14. Quoitin B. et al, in Interdomain traflc engineering with BGP, Computer Communications (Elsevier) 15. Yahaya A. D. and Suda T., iREX: Inter-domain QoS Automation using Economics, IEEE Consumer Communications and Networking Conference, CCNC-2006, January-2006, USA
MODIFIED CLUSTER BASED BROADCASTING IN AD HOC WIRELESS NETWORK ASHOK PURANIK Directorate of Technical Education, Kanpur, U.P., India E-mail: [email protected]
SHRI KRISHNA PANDEY Amity University, Gautam Budh Nager, Uttar Pradesh, India E-mail: pandey-shrikrishna@redQjjail. corn In an ad-hoc network, a packet is transmitted by a node is received by its neighbors. Redundant transmissions cause congestion, contention and collisions. The total numbers of transmissions (Forward Nodes) are used as cost criterion for broadcasting. The basic objective is to reduce broadcast redundancy by minimizing number of forward nodes without introducing excessive overhead and save scare resources such as energy and bandwidth. The problem of finding the minimum number of forward nodes is NP-complete. In this paper, cluster architecture of network is used. It chooses forward node set (consists of clusterheads and gateways) to relay the broadcast packet. Each clusterhead computes its forward node set that connects its adjacent clusterheads. A non-clusterhead node just relays the broadcast packet if it is selected as a forward node or else it does nothing. So broadcast operation is restricted only to clusterheads and nodes in locally selected forward node set. The information of clusterheads is piggybacked with broadcast packet to further reduce each forward node set. In simulation, effect of node transmitter range is checked on the performance of algorithms in the terms of average number of Forward Nodes, Broadcast Redundancy, and Broadcast Delivery Rate.
1
Introduction
An ad hoc wireless network [l] is a collection of wireless mobile hosts forming a temporary network without the aid of any centralized administration or standard support services. Each host commits to work as host as well as router .The inherent limitations of the ad-hoc wireless network is bandwidth, energy and dynamic topologies, requires routing protocol should be simple, efficient and robust .In general, an ad hoc wireless network can be represented as a unit-disk graph G=(V,E), where V represents a set of wireless mobile hosts and E represents a set of 308
309
edges . An edge (u,v) indicates that both hosts u and v are within their transmission range and connections are based on geographic distances of hosts . In Broadcasting, a packet is delivered to all nodes in a network is a basic operation and has extensive application in ad-hoc network such as route query process in several routing protocols such as Dynamic Source Routing (DSR) [2], Ad-hoc on-demand Distance Vector Routing (AODV) [3], Zone Routing Protocol (ZRP) [4] etc, sending an error message to erase invalid routes or an efficient mechanism for reliable multicast in fast moving ad-hoc wireless network. In wireless network [l], a packet transmitted by a node can reach all its neighbors. The total number of transmissions (forward nodes) is used as cost criterion for broadcasting. The problem of finding minimum number of forward nodes is NP-complete .Source and forward nodes form a flood tree [5] such that any other node in network is adjacent to a node in a tree. Efficient Broadcast algorithm provides every node receive the broadcast packet and requires only a few nodes (forward nodes) to forward the broadcast packet and reduce broadcast storm problem .Main aim is to reduce forward nodes for reducing redundancy and save scarce resources such as bandwidth and energy .
2
Related Work
A straightforward approach for broadcasting is blind flooding, each node will be obligated to rebroadcast the packet whenever it receives packet first time and generates many redundant transmissions redundant transmissions may cause a more serious broadcast storm problem [6] causes contention and collisions.
Figure 1. Redundant Transmissions by blind Flooding
Many broadcast algorithms besides blind flooding are proposed [5],[6],[7],[8],[9],[ lo]. These algorithms utilize neighborhood to reduce redundant packets In [5], Lim and Kim prove that building a minimum flood tree is an NPcomplete problem. A subset of nodes is called a dominating set if every node in network is either in the set or a neighbor of a node in the set. Two approximation algorithms: - Self Pruning and Dominant Pruning. The Dominant Pruning (DP) algorithm [5] is one of the promising approaches that utilize 2-hop neighbourhood information to reduce redundant transmissions and
310
consider as an approximation to minimum flood tree problem .Further extended by two algorithms Total Dominant Pruning [TDP] and Partial Dominant Pruning [PDP] [ 11 utilize 2-hop neighbourhood information effectively. The forward node list is selected to cover all the nodes with in two hops. TDP will generate a smaller number of forward node set than DP but introduces some overhead when broadcast packet piggybacks 2-hop neighbourhood information while PDP without using piggyback techniques, directly extracts the 1-hop neighbours of common neighbours of both sender and receiver from receiver’s 2-hop neighbour set. PDP avoids the extra cost as in TDP and achieves the same performance [7]. Peng and Lu [8] propose a scalable broadcast algorithm; node does not rebroadcast the broadcast packet if all of its neighbors have received the packet from previous transmissions. In [9] , Stojmenovic et a1 study a CDS based broadcast algorithm that uses only internal nodes to forward the broadcast packet .Internal nodes are dominating nodes derived by Wu and Li’s marking process [ 101 i.e. nodes that are not internal nodes only receive the broadcast packet without forwarding it and reduces the redundant transmissions. . In conclusion, CDS based routing [ 101 is good solution as it centralized the whole network into small sub network and there is no need to recalculate routing tables. So for an efficient routing to design distributed algorithm for calculation of CDS in adhoc wireless network where connections of nodes are determined by their geographical distances. 3
Proposed Work
The clustered architecture [11],[12],[13] of an ad-hoc network is a 2-level hierarchical network converts a dense network into sparse network and has node information locally which is suitable for scalability, so an efficient broadcasting protocol based on the cluster architecture is proposed and choose a subset of nodes , called forward nodes, to relay broadcast packet .Each clusterhead computes its forward node set to cover other clusterheads within its vicinity. A non-clusterhead node just relays the broadcast packet if it is in forward node set otherwise does nothing. The forward node set is computed such that all the clusterheads in network can be connected and broadcast packet is delivered to entire network. The information about the forward node set is also piggybacked with the broadcast packet to fiuther reduce its forward node set Therefore , the broadcast operation is restricted only to clusterheads and nodes in locally selected forward node sets. 3.1
CLUSTER FORMATION AND MAINTAINANCE
In a clustered network, network is partitioned into clusters with one clusterhead per cluster and neighbours directly joining to clusterhead in cluster as non-clusterhead
311
members. Clusterheads are elected using election process based on lowest-id, highest-degree and LCC (least cluster change) [3],[12],[14]. A gateway is a nonclusterhead node in a cluster that has a neighbour in another cluster (i.e. gateways are needed to connect clusterheads to-gather). The clusterheads and gateways together form a CDS of network. The cluster -based broadcast algorithm only requires nodes in this CDS forward the broadcast packet while other nodes do not participate in packet forwarding process. In proposed work, lowest-id algorithm [ 121 is used for clusterhead election. Once a cluster is formed, a non-clusterhead node never challenges the current clusterhead. If a clusterhead moves into an existing cluster, clusterhead of higher ID gives up its role of clusterhead. If a clusterhead moves out of a cluster, the remaining non - clusterhead nodes in this cluster determines their new clusters. A node that has clusterhead neighbours will take adjacent clusterhead has lowest ID as its new clusterhead and joins in that cluster. Otherwise cluster formation process applied to form new clusters.
3.2
Adjacent Cluster head Information Gathering
There are two ways to define a clusterhead v's adjacent clusterhead set C (v): 1. 3-hop coverage: C (v) includes all clusterheads in N3 (v). 2. 2.5-hop coverage: C (v) includes all clusterheads in N2 (v) and clusterheads that have non -clusterhead members in N2 (v). N'(v)-> represents the i-th hop neighbour set of nodes whose distances from v are within i hops . A node is called a 1-hop (2-hop) gateway if it is used to connect an adjacent clusterhead that is 2-hops (3-hops) away. A clusterhead v compute its adjacent clusterhead set C(v) from the neighbour set information periodically sent by 1-hop and 2-hop gateways .The clusterheads in C(v) are grouped into two classes :1. The clusterheads that are 2-hops away from v represented by C2(v). 2. The clusterheads that are 3-hops away from v represented by C3(v) i.e. C(v) =C2(v) u C3(v) For neighbors cluster information, each node exchanges information with its neighbor.
312
Figure 2. A network showing 2.5 Hop coverage area of Node v 3.3
Forward Node Set Selection and Reduction
Clusterhead v’s forward node set is a subset of gateways by which v connect to the clusterheads in C(v) , v connects to a clusterhead in C2(v) via a 1-hop gateway and it connects to a clusterhead in C3(v) via two 2-hop gateways. At each clusterhead, greedy algorithm is used to determine forward node set. When a clusterhead v receives a packet from another clusterhead u via u’s forward node set F(u), v selects a minimum number of gateways to form it’s forward node set F(v) , by which v connect to all the clusterheads in C(v). The forward node set is organized as{fi ,Rp} where fi is a 1-hop gateway used to connect to clusterheads in C2(v) and Ri is a set of 2-hop gateways that are neighbours of fi and are used to connect to clusterheads in C3(v). Ri may be empty if none in C3(v) is considered. In beginning, all the clusterheads in C(v) are uncovered . When a forward node is selected ,some clusterheads in Cz(v) andor C3(v) are covered . f is selected if it can cover the maximum number of uncovered clusterheads in C(v) directlyhndirectly via its neighbours , After f is determined, R can also be determined in a similar way. Assume F(v) ={, . .. . ..} is v’s forward node set, U(v) is subset of C(v) which is uncovered . At the ith iteration, the forward node fi is selected from Nl(v). S(fi) is the subset of clusterheads in U(v) that is covered by fi and consists of two sets :1. Clusterheads in C2(v) that is directly covered by fi . 2. Clusterheads in C3(v) that fi covers indirectly via nodes in Ri. The fi with the maximum size of S(fi) will be firstly selected .Set Ri ={ rj I rj E N’(fi) n Nz(v)} where rj is a 2-hop gateway that can cover the clusterheads in C3(v). The selection of rj is same as used for 6.
313
Figure 3. A Forward Node of cluster head v
Consider two adjacent clusterheads u and v, clusterhead u broadcast packet uses its forward node set to deliver a packet to all clusterheads in C(u), it piggybacks C(u) and u with the broadcast packet reaches clusterhead v where it is used by the receiver to prune more clusterheads from the coverage . Since all the clusterheads in C(u) u {u} are covered by u’s forward node set , they don’t need to be covered again when v computes its forward node set . In 2.5 -hop coverage method, if v is 2-hop away from u and u uses a path (u,f,r,v) to deliver the packet to v. Clusterheads in N’(r) that are not in c(u) also receive the broadcast packet and excluded from U(v) .Therefore U(v)=C(v)-C(u)-{u} -N’ ( r ) . 3.4
Broadcast Process and Termination
When a source node initiates a broadcast process, it follows steps:1. If the source is not clusterhead, it just sends packet to it’s clusterhead. 2. When a clusterhead receives the broadcast packet for first time, it chooses its forward node set to forward packet to all its adjacent clusterheads. The adjacent clusterheads of forwarding clusterhead are piggybacked with broadcast packet for forwarding purpose. If the received packet is a duplicate one, the clusterhead does nothing. 3. When a non-clusterhead node receives the broadcast packet for first time and if it belongs to forward node set, it relays packet. By this approach, all clusterheads in network will receive the packet .All clusterheads re-broadcast packet in their clusters, so all nodes in entire network will receive the packet.
314
2
7
4 J
0 -"nmclurlnad head
Figure 4. A Simple Clustered Network
4
Performance Simulation
In simulation, average number of forward nodes generated, broadcast redundancy and broadcast delivery rate at different node transmitter range for different algorithms.
4.I
Average Number of Forward Nodes
Average numbers of forward nodes are generated till broadcast process terminate.
Nmrnb., d N d . . b N . M
N"mbrol,-~".wml
Figure 5. The average number of forward nodes with transmitter range 25 to 70
315 4.2
Broadcast Redundancy
The broadcast redundancy is defined as the average number of broadcast packets a node receives. This is directly related to number of forward nodes.
---
.
a
,
*
-
-
t
Figure 6. The average number of packets a node receives with transmitter range 25 to 70
Above figs shows that number of forward nodes decreases results into decrease in average number of packets received by a node decreases . So , broadcast redundancy is reduced.
316
4.3
Broadcast Delivery Rate
The broadcast delivery rate is defined as the number of hosts that receive the packet over the total number of hosts in network .
Figure 7. The Broadcast delivery rate at transmitter range 25 to 40
Above figs shows that host movement causes collisions and links failures. So as speed of host increases broadcast delivery rate decreases as transmitter range increases. Results The number of clusters is relatively stable while the size of network increases. The way of selection for cluster construction affects the size of forward node set. The proposed algorithm has good performance when the node’s transmission range is small and number of nodes is large. The proposed algorithm is relatively insensitive to size of network. Conclusion
In this paper, broadcast algorithm in a clustered network to relay the broadcast packet by using the forward node set is described. This is based on 2.5-hop coverage method and suitable for scalability with keeping node information locally. The broadcast operation is restricted only to clusterheads and the nodes locally selected forward node sets and generate small forward node set. The broadcast algorithm is more efficient and the forward node set is relatively stable for different
317
sizes of the networks. This algorithm reduces the broadcast redundancy and save scarce resources like bandwidth and energy without introducing excessive overhead and time-delay measured by sequential rounds of information exchanges.
References 1. W.Lou and Jie Wu, “On Reducing Broadcast Redundancy in Ad- hoc Wireless Networks”, IEEE Transaction on Mobile Computing vol-1 no2 2002. 2. D.B.Johnson and D.A.Maltz ,Mobile Computing , Dynamic Source Routing in Ad-hoc wireless network, pages 153-18 1,Kluwer Academic Publishers,l996 . 3. C. Perkins and E.M. Royer, “Ad-hoc on-demand Distance Vector Routing” Proc .2ndIEEE WMCSA ,pages 90-100, Feb 1999. 4. M.R. Pearlman and Z.J.Haas, “ Determining the Optimal Configuration of the Zone Routing Protocol ,” IEEE Journal Selected Areas in Communication vol -17,no8 pp 1395-1414 Feb 1999. 5. H.Lim and C. Kim, “Flooding In Wireless Ad-hoc Network” Comp. Comm. Journal vol24 no 3-4 pp353-363,2001 . 6. S.Ni ,Y.Tseng ,Y.Chen and J.Sheu, “The Broadcast Storm Problem In Mobile Ad-hoc Network ” Proc.MOBICOM 99 ppl5 1-162 Aug 99. 7. A.Qayyum, L.Viennot and A.Laouiti “Multipoint Relaying For Flooding Broadcast Message In Mobile Wireless Network,” Proc.Hawaii Intel con’f systems sciences 35 Jan 2002. 8. W.peng and X.C.Lu, “On The Reduction Of Broadcast Redundancy In Moile Ad-hoc Network ,”MOBICOMM pp 129-130 Aug 2000 . 9. I.Stojmenovic, S.Seddigh and J.Zunic,“Dominating Sets and Neighbour Elimination Based Broadcasting Algorithms in wireless Networks,”IEEE Personal Comm. Vo16 no 2 pp 46-55 1999. 10. J.Wu and H.Li , “ On Calculating Connected Dominating Sets For Efficient Routing In Ad-hoc Networks “ proc of ACM DIALM 99 pages7-14, Aug 1999. 11. C.C.Chiang and M.Gerla,“Routing And Multicast In Multihop Mobile Wireless Networks,” Proc. Of IEEE Intl. Conf. on universal personal comm.,1997. 12. M.Gerla and J.Tsai, “Multicluster, Mobile, Multimedia Radio Network,” Wireless Networks pp 255-265 1995. 13. P.Krishna,N.H.Vaidya,M.Chatterjee, D.K. Pradhan,“A Cluster Based Approach For Routing In Ad-hoc Networks,” Proceedings of the Second USENIX Symposium on Mobile And Location-Independent Computing pages 1-1 0,1995. 14. A.Ephremides, J.E.Wieselthier and D.J.Baker “A Design Concept For Reliable Mobile Radio Networks With Frequency Hopping Signaling.” Proc. of the IEEE 75(1): 56-73 ,1987.
This page intentionally left blank
Natural Language Processing
This page intentionally left blank
AN IMPLEMENTATION LEVEL FORMAL MODEL FOR JAVABEANS BHIM PRASAD UPADHYAYA
Department of Computer Science Maharishi University of Management 1000 North 4th Street, Fairfield, I A 52557, U S A E-mail: [email protected] BIRENDRA KESHARI
Department of Comptuer Science and Engineering Kathmandu University P. 0. Box 6250, Kathmandu, Nepal E-mail: birendraQku. edu. n p A formal model containing design level formalisms provides the concepts, notations and properties that can be used while designing and implementing the software of any size and complexity with JavaBeans. This abstraction level does not provide much information in debugging the incorrect programs. Hence, it is necessary to introduce a level of formalisms that provides a way of executing the bean programs step by step on a computer. This paper presents formal aspects of specifying and executing bean programs by refining a formal model with the aid of an observational semantics.
1. Introduction
The formal model containing design level formalisms presented inUL04a~UL04b1UL04c provides the concepts, notations and properties that can be used while designing and implementing the software of any size and complexity with JavaBeansTM. This abstraction level does not provide much information in debugging the incorrect programs. Hence, it is necessary to introduce a level of formalisms that provides a way of executing the bean programs step by step on a computer. This paper presents the formal aspects of specifying and executing bean programs with the aid of an observational erna antic^^^^^^ by refining the formal model presented in,UL04b 321
322
A formal model of a language can be constructed by defining set of algebraic l a w ~ . ~ Programs ~ ~ ~ can ~ y be developed ~ ~ ~ +through ~ ~ stepwise refinement following set of r ~ l e In the~ implementation . ~ level, the operational detail of JavaBeansTM are provided by presenting the formal analysis of Java interfaces, characterizing events, properties, introspection through naming conventions (well-formedness conditions) and signature patterns. This paper also presents the extension of MCode presented in.UL04b 2. Formalisms for the J a v a Interface Specification The design level interface includes a set of Java interface methods as one of its members. The methods declared outside the set J I M D e c are usually implemented directly by a JawaBean class. Those methods which are actually needed to model the seams of a system are gathered in the set J I M D e c so as to be declared in Java interfaces which are implemented by the corresponding JawaBean class. The primitive Java interface can be specified as
I : (CDec,JIMDec) There are no denotational changes as compared toULOIcand to conform with the Java programming language following condition is imposed. Two Java interfaces are composable if no constant is declared with different type in CDecl and CDec2. Mathematically,
VT1 x1 E I1.CDeclb'T2 x2 E I2.CDec(xl
= 2 2 + T I = T2)
Definition 1. (Java Interface Inheritance) Let JIl and JI2 be two Java interfaces such that no field in JI1 is redeclared in JI2. Then the interface JIl extends JI2 is defined as CDec =df CDecl U CDec2
JIMDec
=df
JIMDecl U JIMDec2
3. Supporting JavaBeansTM Features with Java Classes The JawaBeans and Java classes are in the same level of granularity. Granularity here means the finer details that are taken into account. In absence of separate keywords and syntactical rules all the JawaBeans features have to be implemented with the help of available Java language features. This section extends and applies the FOOSLLJLLo3in order to specify JawaBean classes.
~
323
3.1. A JavaBean Class
A bean declaration cdecls is of the form: cdecls
::= cdecllcdecls where
cdecl
is a restricted Java class declaration for a bean. A bean’s properties are declared as private fields. Hence, the class declaration with partial definition is of the form:
class cll e x t e n d s c12 { private U1 u1 = a l l Uz uz = a2,. . . Urn u, public ( U l ) g e t u l ~ ) { c g p l } public (void) setul(new U1 u l ) { c s p l } public (U2) getuz~){c,p2} public (void) setu2(new U2 u2){cspz}
= a,;
public (urn)getum(){cgpm} public (void) setu,(new Um U m ) { C s p m } public methodl(T1lzl’T12 1 / 1 i T 1 3 z l ) { c l } public method2 (2121 2: I T22 2 2 1 T23 & ) { c 2 }
Well-formedness For a read-only property, the property should be accompanied by a getter method that follows the signature pattern. The return type should be same to that of the type of the property. A read as well as write property has to be accompanied by a getter and a setter method. The well-formedness condition for getter method of the read and write property is same to that of the read only property. The setter method should also be formed following the signature pattern. This method does not return data. Further, the type of input parameter should be same to that of the type of the corresponding property. The order of method declaration does not matter. Both getter and setter are required to be public methods. 3.2. Supporting Events An event support in a JavaBean class is reflected by incorporating a pair of registry methods. Also, the presence of an event requires the listener bean to implement respective event handling method. It can be implemented in
324
two different ways-directly in the body of listener bean class and indirectly in a dummy listener (adaptor class).
class cll extends cZz{ public (synchronized) (void) addEL,(EL, eLis){c,l,_} public (synchronized) (void) removeEL, ( E L , eLis){ c,ld, }
1 where n
20
Well-formedness The name of the registration method should be formed by combining the string add t o the event listener type name. The type of the parameter to be passed should be of type event listener. Similarly, the event listner type name is prefixed by the string remove while forming the de-registration method name. The type of formal parameter should be the same to that of the formal parameter in the registration method. Both the registration and de-registration methods are required t o be synchronous methods. This implies that the event propagation is synchronous. Both of these methods should not return any value.
3.3. Incorporating Bound Properties
class ell extends cia{ public (synchronized)(void) a d d P L ( P L p L i s ){cplr} public (synchronized)(void) r e m o v e P L ( P L pLis){cpld}
1 Well-formedness The presence of bound property should be reflected by declaring corresponding registration and de-registration methods which the listeners can invoke directly or indirectly. However, this is not one-to-one relationship. While forming the registration and de-registration methods names it is necessary to suffix corresponding property change listener type
325
name. The same string should appear in the type name of the formal parameters. The other well-formedness conditions are same to that of simple properties.
3.4. Incorporating Constrained Properties The presence of constrained properties is reflected by including a pair of vetoable change listener registry methods. Also, it has to be essentially reflected in the code of corresponding setter methods. In actual Java program the corresponding setter methods also throw the exception Property VetoException. Generally, constrained properties require more services than the bound properties. All the constrained properties are bound properties but not vice-versa.
class cll extends cl2{ public (synchronized)(void) addPL(PL pLis){cPzr} public (synchronized)(void) removePL(PL pLis){cpldj public (synchronized)(void) addVL(VL wLis){c,zr} public (synchronized)(void) removeVL(VL vLis){c,ld j
1 Well-formednessThe well-formedness conditions for constrained properties are same to that of bound properties except the listener type. Here, it should be vetoable type instead of simply property change listener type. 3.5. Indexed and Boolean Properties Support
There are two different ways that the indexed properties are retrieved and set-first, retrieving or setting single element within the list and second, retrieving or setting all the elements within the list. Following JuwaBean class captures these essentials.
class cll extends cl2
326
public (U,) getu,(int idx){cgipsm} public (U, [I) getu, (1{Cgipam } public (void) setu,(int idx,new Urn urn) {Csipsm}
public (void) setu,(new
U, u,[]){csipam}
} where U[] refers t o the array of element of type U . Now, the interpretation for well-formedness conditions should be straight forward. Boolean properties are the properties with binary value. Hence, following captures the essentials. class cll extends c12
{ public (bool) isu, () { cgblpm} public (void) setu,(new bool u,){cS~lpm}
1 where bool is a type that has only two truth values-true or false. Interpretation for well-formedness condition is straight forward as before. 4. Predicative Analysis of Introspection
This section shows how predicative logic can be used.
4.1. Extracting Information f r o m Well-formedness Conditions The well-formedness conditions presented in Section 3 can be used t o extract information(the complete list is available inULo4‘).For example, Number of read only properties can be calculated as: count(read0nlyProperty) = card(I.GetMDec) - card(I.Set M Dec) where count(x) gives the occurrences of x and card(X) gives the cardinality of the set X . The algorithm for ‘card’ is simple string matching and counting algorithm. 4.2. Determining Signature Patterns
Along with the naming conventions, signature patterns are also to be checked in order to infer about a bean as parameters and hence the sig-
327
nature are important for the operation of a bean. These are done by low level reflection, so string matching algorithms can be used for introspection. However, we can capture essential logic through predicative logic in order t o infer about a bean. For example (complete list can be seen inuLo4'), de-registration signature pattern can be hunted as below: isDeRegistrationTo(op,event) = is(op,removeEventListener) A returns(op,type(event)) A h a s P a m m e t e r 0f Type(op,type(event)) 5. Implementing
In order to establish a link between the abstract model and implementationoriented formalisms sets containing program texts are introduced. For example (complete list available inULo4') pText is used to denote the declaration program text of a property p . Hence, for n number of properties the set PDecText contains respective declaration program texts. Symbolically, PDecText = { p l T e x t , p z T e x t , .. . ,p,Text} With the aid of above definitions and notations the following implementation refinement laws have been identified for the correct implementation. (1) (v;P ) Limp ull (2) (a) card(I.PDec) = card( I .GetM Dec) = card( J B . G e t M T e x t ) (b) Number of read only properties = card(I.PDec) - card( J B S e t M T e x t ) (c) Number of read and write properties = card( J B . S e t M T e x t ) = card(I.SetMDec) (3) ( M S p e 4 o p ) ;P ) L i m p ( M T e x t ) The following domain restriction relation should always hold when contracts are implemented by means of properties. (JB.PDecText U JB.ADecText U J B . B D e c T e x t ) a Ctr.MSpec 6. Related Work
We adopted refinement to formalize the replaceability of services offered by a JuvaBeun and a JavaBean itself. Developing programs through step-wise
328
refinement is a commonly used technique.Wi'71~BSR03 In,wir71a task (performed by an application) is divided into subtasks and data (specification) are decomposed into data structures. More importantly, a refinement step distinguishes itself by making some design decisions. InlBSRo3every refinement step adds some features in order to create a complex program from a simple program. 7. Conclusions In this paper, we presented an implementation level formal model for JuvaBeans which refines the design level formal model presented in our earlier work. The model supports unambiguous lower level specification and implementation of JavaBeans. Contract based replacement allows implementation of the design level model with future releases of Java technologies too. Future work includes formal modelling of COM/DCOM and CORBA that leads to a general component calculus.
References [BSCOS] Paul0 Borba, August0 Sampaio, and Marcio CornBlio. A refinement algebra for object-oriented programming. In Luca Cardelli, editor, LNCS, number 2743, pages 457-482 [BSROS] Don Batory, Jacob Neal Sarvela, and Axel Rauschmayer. Scaling stepwise refinement. In Proc. of 25th International Conference on Software Engineering, Oregon, May 2003. IEEE computer society. [HHJ+87] C. A. R. Hoare, I. J. Hayes, He Jifeng, C. C. Morgan, A. W. Roscoe, J. W. Sanders, I. H. Sorensen, J. M. Spivey, and B. A. Sufrin. Laws of programming. Communications of the ACM, 30(8):672-686, August 1987. [Hoa93] Charles Antony Richard Hoare. Algebra and models. In Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering, volume 18, pages 1-8. [Hoa99] Charles Antony Richard Hoare. Theories of programming: top-down and bottom-up and meeting in the middle. In Proceedings of 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Texas, 1999. [LJLLOS] Zhiming Liu, He Jifeng, Xiaoshan Li, and Jing Liu. Unifying views of UML. Report 288, UNU/IIST, October 2003. [ULO4a] Bhim Prasad Upadhyaya and Zhiming Liu. A design level formal model for JavaBeansTM. In Nagib Callaos, William Lesso, Shusaku Nomura, and Jianna Zhang, editors, Proc. of the sth SCIZOO4, pages 191-196, Orlando, July 2004. [UL04b] Bhirn Prasad Upadhyaya and Zhiming Liu. Formal support for development of JavaBeansTM component systems. In Proc. of the 28th COMPSAC 2004, pages 23-28. IEEE Computer Society.
329 [ULO~C]Bhim Prasad Upadhyaya and Zhiming Liu. A Formal Model for JavaBeansTM. Report 305, UNU/IIST, September 2004. Also available online at www.iist.unu.edu/newrh/ III/l/docs/techreports/report305.pdfas at Nov 2005. [Wir7l] Niklaus Wirth. Program development by stepwise refinement. Communications of the ACM, 14(4):221-227, April 1971.
HANDLING HONORIFICATION IN DOBHASE: ONLINE ENGLISH-TO-NEPALI MACHINE TRANSLATION SYSTEM
BIRENDRA KESHARI, JAGANNATH BHATTA AND SANAT KUMAR BISTA Information and Language Processing Research Lab Kathmandu University Dhulikhel, Kavre, Nepal E-mail: { birendra,jbhatta,sanat} @ku.edu.np
In machine translation systems, the problem of computing social status of individuals from the text in the source language that doesn’t have elaborate honorification system, and using this information to generate text in target language having elaborate honorification system is non-trivial. In this paper, we present techniques to compute social status of the individuals in English source text and encode it in the parse tree. The social status is divided into different levels according to Nepali language honorification system so that proper Nepali honorific morphemes can be directly generated from the parse tree. The technique can be extended to handle honorification in machine translation from English to other languages with honorification system similar to Nepali.
1. Introduction
Dobhase” is an first order logic encoded, rules based online English-toNepali machine translation system which relies on transfer based machine translation approach. The system analyzes English text and applies syntactic and lexical transfer rules to obtain Nepali sentences. Similar to other languages of the world that have honorification system like Korean, Japanese, Hindi etc., Nepali has elaborate system of honorification. Knowledge of the social status of the addressee is required while speaking Nepali sentences correctly. In Nepali, the linguistic realization of honorification is manifested by honorific morphemes and words. In English, there are no direct evidences like honorific morphemese to ease the computation of social status of individuals. Due to the divergence between the aThis ongoing project is supported by PAN Asia ICT R&D grant and is available online at http://nlp.ku.edu.np.
330
331
language pair, it is necessary to compute social status of the individuals in the source English text by some means in such a way that this information could be used to generate Nepali text with proper honorification for quality translation. To the best of our knowledge, presently, there is no machine translation system that outputs Nepali text with proper honorification. This is the compelling factor for this research work. Honor neutral output makes the text sound unnatural and sometimes ambiguous. Most of the MT systems that include honorific target language do not heavily deal to generate proper honorification. One of the main reasons is that they don't go beyond sentence level. However, systems that are supposed to translate multiple sentences at a time, must generate text with appropriate honorification. We discuss the approaches that can be used to generate Nepali text with honorification. In our approach, social status of individuals are computed mainly by the help of bilingual lexicon and pronominal anaphora resolution. For this, sufficient information about social status of nouns are put in the bilingual lexicon. We also need to mark other categories that take part in Nepali honorification with appropriate honor-level information. The information computed by these methods is used to generate proper humble words and honorofic morphemes at later stages during Nepali morphology generation. We discuss about the related works in section 2. Section 3 discusses about the honorification system in Nepali language. In section 4, we describe approaches used to compute social status/honor-levels in English sentences and techniques used to generate proper honorific morphemes in Nepali sentences. Conclusions have been finally presented in section 5.
2. Related Work
Some of the related works done for other languages that are sources of inspiration are discussed below. Ref. 1 describes signed-based approach to compute relative social status of the individuals involved in Korean dialogue. It uses information about social status and the information about sentence-external individuals such as speaker and addressee to explain why a sentence is felicitous in a restricted context and whether a dialogue is coherent or not. The approach makes a good use of Korean honorific morphemes to compute social status. However, our system demands computation of social status of individuals in English text. Since, honorific morphemes are absent, different approach
332
to determine the social status is required and this is a part of our work presented in this paper. Moreover, the social status has to be set to one of the different levels found in Nepali language. For determining the social status of pronouns referring to human, pronominal anaphora resolution is required. The first procedure for pronoun resolution was developed by Winogard2. He chooses possible antecedents based on syntactic positions in which subject is favoured over object and both are favoured over the object of preposition. In addition, focus element are given more preference and it is determined from answers to wh-questions and from indefinite noun phrases in yes-no questions. Ref. 3 and Ref. 4 present one of the first and best methods for pronominal anaphora resolution which is mostly based on syntactic information. The algorithm uses syntactic constraints on pronominalization which are used to search the tree. The algorithm starts at the pronoun on the parse tree and ends at the possible antecedent. Ref. 5 presents a simple but rapid syntax based approach. The algorithm utilizes f-structure that results from a full parse and applies a set of well-known heuristics (constraints and preferences). It applies heuristics in sequential manner until one candidate remains. This approach has been implemented and integrated into the KANTOO English-to-Spanish MT system. We use similar approach in our system. A brief survey of the major works in anaphora resolution has been presented in Ref. 6 . 3. Nepali Honorification System
In Nepali society, people are ranked according to their social status. The social rank of addressee with respect to the speakers are important factors to be considered during conversation. Another important factor is the relative age difference between the speaker and the addressee. Social relationship of the speaker with addressee and referent, his/her social status and age govern the Nepali honorification system. The following subsections discuss about the honorification system found in different categories and at different levels in Nepali language.
3.1. Pronoun Honorification At lexical level, Nepali personal pronouns are divided into different honorlevels. Table 1, Table 2 and Table 3 list 1st person, 2nd person and 3rd person pronouns at different levels respectively.
333 Table 1. Nepali personal pronouns( 1P). Non-Hon Mid-Hon Table 2.
we haami
-
Nepali personal pronouns(2P).
Non-Hon Mid-Hon High-Hon Very High-Hon Roval-Hon Table 3.
i ma haami
ta timi tapai hajur sarkar
timiharu timiharu tapaiharu hajurharu sarkarharu.
Nepali personal pronouns(3P). he/she
Non-Hon Mid-Hon High-Hon Very High-Hon Royal-Hon
U
they uniharu
uni waha mausuf
wahaharu hajurharu. mausujharu.
The honor-levels in increasing orders are non-honorific(plain), midhonorific, high-honorific, very-high-honorific and royal-honorific. In Nepali, personal pronouns are made plural by adding suffix ham. 3. 2. Noun Honorification
Nepali proper nouns (referring to human) and common nouns(referring to post/occupation) can be divided into three levels; non-honorific, midhonorific and royal-honorific. In practice, all proper nouns can be at nonhonorific and mid-honorific levels but only some common nouns (honorable) can be at honorific(mid and royal) levels. Non-honorific nouns are bare form nouns and they can be transformed into mid-honorific form in three ways; 1) by adding words jyu and ji just after them, 2) by adding word shree just before them and, 3) by applying both rules (1) and (2). Other suffixes with noun like case markers (le,lai,ko etc.), plural marker ( h u m ) etc. are added after jyu and ji. Examples of royal-honorific nouns are ’king’(ruujaa),’queen’(ruani),’prince’(ruajkumaaru) etc. Table 4 shows examples of some proper and common nouns at different honor-levels. In Nepali, some common nouns referring to human are divided into two levels; non-honorific and honorific. Non-honorific nouns end at ’o’.The corresponding honorific form can be formed by deleting ’0’and adding ’aa’. Table 5 lists some examples of such nouns.
334 Table 4. Nepali proper and common nouns at different honor-levels. David John Ram doctor owner
Non-Hon David John Ram dactar saahu
Mid-Hon shree David j y u shree J o h n j y u Ram jyu dactar j y u saahu ii
Table 5 . Some Nepali common nouns at different honor-levels.
son nephew
Non-Honorific choro bhanjo
Honorific chora bhanja
3.3. Verb Honorification
Linguistically, honorification in verb is manifested by honorific suffixes and this depends upon the honor-level of its subject. In fact, subject and it’s verb should agree in honor-level. When the subject is pronoun the possible honor-level of verb equals five. With noun, referring to human, three levels are possible. Table 6 lists the suffixes that are added to Nepali verb roots to reflect a particular honor-level in a particular tense. Table 6 . Nepali verb morphemes for honorification. Non-Hon Mid-Hon High-Hon Very High-Hon Roval-Hon
Present as au hun baksi baksi
Past is au bha baksi baksi
Future as au hun baksi baksi
Non-honorific and mid-honorific affixes are added at the end i.e. after addition of other inflections. Whereas, high-honorific and very highhonorific affixes are added just after the aspect inflections. With royalhonorific subjects’ entirely different set of verbs are used. For instance, ’go’ with subjects having honor-level other than royal is mapped to Nepali root jaa. But when the subject has royal honor-level’ ’go’ is mapped to sawaari. Some other examples are ’eat’(jyunaar) ’wash hand’( mukhaari) ’see’(najar) etc.
3.4. Adjective Honorification Some Nepali adjectives can be classified into non-honorific and honorific. Non-honorific adjectives ends with ’0’and their corresponding honorific
335
form can be formed by replacement of '0'with 'aa'. This is very similar to rule for Nepali common nouns described in section 3.2. Some examples have been listed in Table 7. Honorification of adjective is determined by Table 7. cation. small fat
Nepali adjective honorifiNon-Honorific
Honorific
sano mot0
Sanaa motaa
the social status(honorific/non-honorific) of noun to which it modifies. For example, sumo choro(smal1 son, non-honorific) and saanaa choraa(smal1 son, honorific) are correct but saano choraa is not correct because s u m o is non-honorific, whereas choraa is honorific. 4. Handling Honorification
The entire problem of handling honorification in a machine translation system can be divided into two sub-tasks; determining social status/honorlevel of the individuals(noun and pronoun) in source language and reflecting it in the target language through proper Nepali honorific morphemes generation. Besides, adjectives and verbs should also be marked with proper honor-level because they show honorification in Nepali language. The following subsections discusses about techniques used for determination of honor-level and generation Nepali honorific morphemes in more detail.
4.1. Computing Honor-Level For the sake of simplicity in analysis, the categories discussed in section 3 can be divided into two categories; dependent and independent types. Dependent types are those whose honor-level depends on honor-level of independent types. It is required to compute the honor-level of independent types and then derive the honor-level of dependent types. Nepali noun falls under independent category while rest of the categories discussed in section 3 fall under dependent type. The computation of social status of individuals is achieved by the computation of honor-levels of nouns and pronouns in the current sentence. 4.1.1. Determining Noun Honor-Level. Determination of the honor-level of proper nouns referring to human is a difficult task. Pragmatic analysis is required to know about the status, age
336
etc. of the person and we do not go for this. However, the English titles such as Mr, Mrs, Miss etc. that appear before proper nouns in English are mapped t o equivalent titles like shreemaan, shreemati, sushree etc. in Nepali by the help of bilingual lexicon. Common nouns referring to posts and occupations are tagged with appropriate honor-level in the bilingual-lexicon. For this feature hon is set to ’non’,’mid’or ’royal’ depending on whether the honor-level is non-honorific, mid-honorific or royal-honorific respectively. Figure 2 shows portion of the bilingual-lexicon to illustrates the idea.
. . .) lex(teacher,guru,cat:n..hon:mid . . .1. lex(king,rAjA,cat:n..hon:royal . . .) .
lex(servant,nokAra,cat:n..hon:non
Figure 1. Common nouns tagged with honor-level
Such common nouns get their honor-level by lexicon lookup just before parsing. Common nouns(shown in Table 5) that can have honorific form are very less in numbers. Moreover, the decision of making a choice between these two forms (non-honorific and honorific) requires knowledge of relationship between speaker and addressee (different from the common noun under consideration) and the relative age information which requires heavy computation. Avoiding them has very little impact on the overall performance of the system and therefore, we translate them to honorific form by default which is still understandable.
4.1.2. Pronoun Honor-Level Computation. Honor-level of pronoun can be derived from the honor-level of its antecedent (noun/noun phrase). Thus, pronominal anaphora resolution is required t o compute the honor-level of pronouns in English text. Ref. 9 and Ref. 5 discusses about anaphora resolution that is required because of gender discrepancies between the language pair. We are highly inspired by the approach discussed in Ref. 5 and we use similar approach for anaphora resolution.
4.1.3. Verb and Adjective Honor-Level Computation. The system uses feature based unification for agreement among the phrases and to set constraints in the grammatical rules. Adjective get its honor-
337
level from the noun to which it modifies. Similarly, honor-level of verb is set to honor-level of its subject. These are encoded as agreement rules in the grammar. 4.2. Generating Honorific Nepali Morphemes
The computed honor information of each category is encoded in the parse tree. Transfer rules are applied to the parse tree to generate appropriate Nepali syntax. Morphology generation rules are applied to each terminal to generate proper inflections, thereby giving a naturalistic finish to the sentence. The honor information encoded into the parse tree is used for honorific morpheme generation during morphology generation. 5. Implementation Issues
Frozen Expression Expander
+
Compound Word Handler
J
Camp,
Word
Lexical
1-
Morphology Generation
(3)
1 Nepali sentence
Figure 2.
Dobhase system architecture
Figure 3 shows different stages during the entire machine translation process. Determination of honor-level takes place at phases (1) and (2)
338
shown in the figure. Similarly, Generation of honor takes place during phase (3). The honor-level of Nepali nouns are determined during morphological analysis. During syntactic analysis, the system uses passive chart parsing technique to shallow parse the English sentence and outputs its constituents/phrases. The output of shallow parser is given to pronominal anaphora resolution module which, after resolving the anaphora, gives its output to parse tree generation module. Dependent types of lexical items get their honor-level during parse tree generation. After computation of honor-levels, each terminal(noun, pronoun, adjective and verb) in the parse tree has a hon feature set to appropriate value which indicates it’s honor-level. Proper inflections to reflect appropriate honor in the Nepali sentence are generated during the morphology generation phase. Such morphology generation rules are designed using the honorific rules that can be extracted from section 3 and are implemented as prolog facts. 6. Conclusion
In this paper, we presented the honorification system in Nepali language at different levels. We discussed about the different approaches that can be used to determine honor-level of different categories by analyzing the English text and techniques to reflect proper honor in the output Nepali sentences. Future work includes developing metrics to test and evaluate the system’s ability to handle honorification and apply them to evaluate the system. The techniques discussed in this paper can be used to handle honorification in other natural language processing applications like dialog systems, natural language generation systems etc. that include Nepali or any other language that has honorification system very similar to Nepali.
7. Acknowledgement We are very thankful to Mr. Deepesh Man Shrestha and Mr. Bhim Regmi for their valuable suggestions and comments.
References 1. Done-Young Lee: Computation of Relative Social Status on the Basis of Honorification in Korean. In Proceedings of the 16th International Conference on Computational Linguistics COLING 1996, Center for Sprogteknologi, Copenhagen, Denmark. (1996)
339 2. T . Winogard: Understanding natural langauge. New York: Academic Press. (1972) 3. Jerry Hobbs: Pronoun Resolution. Research Report 76-1. New York:Department of Computer Science, City University of New York. (1976) 4. Jerry Hobbs: Resolving pronoun references. Lingua. 44 (1978) 339-352 5 . Teruko Mitamura, Eric Nyberg, Enrique Torrejon, David Svoboda and Kathryn Baker: Pronominal Anaphora Resolution in the KANTOO Englishto-Spanish Machine 'Ranslation System. In Proceedings of M T Summit VIII. (2001) 6. Ruslan Mitkov: Anaphora Resolution: the state of the art. Technical Report, University of Wolver-hampton. (1999) 7. Ruslan Mitkov, Hiongun Kim, Kyan-Hyuk Lee and Key-Sun Choi: The lexical transfer of pronominal anaphors in Machine Trans1ation:the English-toKorean case. In Proceedings of the SEPLN'94 conference, Cordoba, Spain. (1994) 8. Saggion Horacio and Ariadne Carvalho: Anaphora resolution in a machine translation system. In Proceedings of the International Conference "Machine translation, 10 years on", 4.1-4.14. Cranfield, UK. (1994) 9. Ruslan Mitkov and Paul Schmidt: On the complexity of anaphora resolution in Machine Tkanslation. In Carlos Martin- Vide Editor, Mathematical and computational analysis of natural language. Amsterdam: John Benjamins. (1998).
SPEECH SYNTHESIS THROUGH WAVEFORM CONCATENATION FOR SANSKRIT MR. V.E. WAGHMARE Lecturer, Dept. of E&TC Govt. College of Engineering Aurangabad - 431 005, MS, India Ernail: [email protected] DR. MRS. A. S. BHALCHANDRA Asst. ProJ, Dept. of E&TC Govt. College of Engineering Aurangabad- 431 005, MS, India Ernail: [email protected] Abstract We report the basic methodology for the development of speech synthesis through waveform concatenation approach in Sanskrit language. Storing waveform in look-uptable, rules for concatenation and speech generation are basic components of this method. Text to speech synthesis has been developed. The text input is correlated to the look-uptable, which is stored in memory, and accordingly stored waveforms are concatenated to form the Sanskrit
1. Introduction
During last few decades the communication aids have been developed from talking calculators to modem three-dimensional audiovisual applications. The application field for speech synthesis is becoming wider. A text-to-speech system has been developed steadily over the last decades and it has been incorporated into several new applications. For most practical applications such as access to databases through the telephone network or aid to handicapped people, the intelligibility and comprehensibility of synthetic speech have reached the acceptable level. The fimction of a text-to-speech (TTS) synthesis system is to synthesize speech from a generic text in a given language. The most commonly used techniques in present systems are based on formant and concatenative synthesis. The latter one is becoming more and more 340
341
popular since the methods to minimize the problems with the discontinuity effects in concatenation points are more effective and it also provides more natural and individual sounding speech. The majority of successful commercial systems employ the concatenation of polyphones[ 13. The polyphones comprise groups of two (diphones), three (triphones) or more phones and may be extracted from nonsense words, by segmenting the desired grouping of phones at stable spectral regions. For instance, the word life, whose phonetic representation may be written as [IaIfl, can be implemented by the concatenation of four polyphones: #I + la + aIf + f#, where the symbol # represents the silence phone. In a concatenation-based synthesis, the conservation of the transition between two adjacent phones is crucial to assure the quality of the synthesized speech. With the choice of polyphones as the basic subunits, the transition between two adjacent phones is preserved in the recorded subunits, and the concatenation is carried out between similar phones (1 + 1, a + a, f + f). The generation of the speech waveform by means of a computer model controlled by a small number of parameters has long been an objective of speech research [ 2 ] . To construct such a model, one can exploit knowledge about the physiology of the speech-production apparatus [3] and about the properties displayed by the speech signal. While major studies have been made towards a high-quality, controllable model of speech, this goal has not yet been attained. This is particularly well illustrated by the architecture of state-of-the-art speechsynthesis systems. In such systems the linguistic input parameters do not directly control a waveform synthesis model, but rather these linguistic parameters are used to find and modify natural-speech segments that are stored in a database. The modified segments are then concatenated to obtain a speech signal. Synthesis of a meaningful speech signal by a computer program requires a description, in some form, of the vocal tract resonance corresponding to that speech signal. Phonology of a language for the speech synthesis is most important for text to speech synthesis. Phonology is a part of the linguistic system a speaker knows, and is concerned with lexical identity. The phonology of English language varies in particular contexts. 2. Sanskrit Language
Sanskrit is the perfect language in the same sense as mathematics for pronunciation, making it most suitable for the speech synthesis. In Sanskrit language, there is zero discrepancy between what is written and what is
342
pronounced. Arthur A. Macdonel [4] has written about the greatness of Sanskrit language in comparison with European languages: “We Europeans, 2500 years later, and in a scientific age, still employ an alphabet which is not only inadequate to represent all the sounds of our language, but even preserve the random order which vowels and consonants are jumbled up as they were in the Greek adaptation of the primitive Semitic arrangement of 3000 years ago”. Rick Briggs, NASA researcher has suggested that, the “structures constructed by Panini (A Sanskrit grammarian) could be useful in the development of efficient, high level computing language, avoiding the use of alphanumeric operator symbols. Quotes showered on the Sanskrit language by Prof. James Santucci California State University: 1 2 3 4 5 6
Emphasized the study of sounds Developed morphological explanations Stressed in phonetics the place and manner of articulation Described language in a formal manner and not as a logical system Developed a Meta language Approached the sense of the phoneme
Sanskrit alphabets are also called as a brahmavarnamala. According to Shri Pandit Hebbar [2] Sanskrit have 50 units which are divided into 8 groups, which are discussed below.
3. Building Database for Speech Signal: 3.1. Format For Input Text The input text could be available in any of the formats and can be correlated to the look-up-table, which is stored in memory. However; the issue of various formats could be conveniently separated from the synthesis engine. The text processing front end [5] can provide appropriate conversion of various formats Table 1. Block diagram for Speech synthesis
Look-uptable
Speaker
343
of input text into this transliteration scheme. Sanskrit language have 50 units which are divided into 8 groups are shown into the Table 1. Lookup table with standard code is prepared. Building Speech Database: All the basic phones of Sanskrit language are recorded from a Sanskrit Pandit having Ph.D. in Sanskrit language. Recording took place using Shure SM 58 microphone, whose frequency response is 50 - 15,000 Hz and SNR is 30 dB under lab conditions. Spoken units were recorded at a sampling rate of 44.1 KHz. Table shows sample waveform of few units from each group. Total analysis is performed by using MATLAB. Methodology of Generation of Units Preprocessing of phones [3] is done before applying the methodology for the formation of the word$. Preprocessing involves removing vowel part from all the units other than 1 group units. A standard lookup table is prepared and waveforms are stored in the lookup table. A synthesis engine takes user input, selects appropriate waveform from lookup table and sends it to the speaker. Sanskrit has well defined mathematical rules for the concatenation of units and their morphological transformation during concatenation. Figure 3 shows methodology for generation of Sanskrit Units. Group 1 Unit are complete unit and called as vowels. Group 2-8 units are called as half vowels. Complete unit is the addition of any unit from Group 2 - 8 with the unit in the group 1 after preprocessing and morphological operations. By using this methodology 34 * 16 = 244 basic units can be derived. Conclusions This methodology can be used for the developing a perfect Sanskrit speech synthesis either through the technique of waveform concatenation or through the other signal processing methods.
0
The concatenate method provides more natural and individual sounding speech Minimizes the problems with the discontinuity effects in concatenation points and so it becomes more effective. Quality with some consonants may vary considerably and the controlling of pitch and duration may be in some cases difficult, especially with longer units
344 Table 2. Units and their time domain wave representation
345 Table 2. (Cont’d.) Units and their time domain wave representation.
2-8 unit
1 Unit
Figure 3. Flowchart for Unit generation
In principle, speech synthesis may be used in all kind of human-machine interactions. For example, in warning and alarm systems synthesized speech may be used to give more accurate information of the current situation. Using speech instead of warning lights or buzzers gives an opportunity to reach the warning signal for example from a different room. Speech synthesizer may also
346
be used to receive some desktop messages from a computer, such as printer activity or received e-mail. In the future, if speech recognition techniques reach adequate level, synthesized speech may also be used in language interpreters or several other communication systems, such as videophones, videoconferencing, or talking mobile phones. If it is possible to recognize speech, transcribe it into ASCII string, and then re synthesize it back to speech, a large amount of transmission capacity may be saved. With talking mobile phones it is possible to increase the usability considerably for example with visually impaired users or in situations where it is difficult or even dangerous to try to reach the visual information. It is obvious that it is less dangerous to listen than to read the output from mobile phone for example when driving a car. Acknowledgement I would like to thank Dr. W.Z Gandhare, Prof. G.K. Andurkar, Prof. N.G. Pantawane, Renuk Pawade, Nilesh Kandalgaonkar (Machine Intelligence Group Members) for their continuous assistance in the development process. References [I] P. Mermelstein, “Articulatory model for the study of speech production,” .I. Acoust. SOC.Amer:, vol. 53, no. 4, pp. 1070-1082, 1973. [2] Pandit Ganpatishastri Hebbar, “Bhartiyu Lipinche Muulik Ekrup”, Maharashtra State center for culture and literature” [3] K. Ishizaka and J. L. Flanagan, “Synthesis of voiced sounds from a two-mass model ofthe vocal cords,” Bell Syst. Tech. J., vol. 51, no. 6, pp. 1233-1268, 1972. [4] Arthur A Macdonell, “History of Sanskrit Literature”, Motilal Banarasidas Pub. ISBN: 8120800354, p.717. [5] Geoff Bristow, “Electronic Speech Synthesis - Techniques, technology and applications”, McGraw-Hill Book Company, 1985 pp 120-14.
Soft Computing
This page intentionally left blank
PERFORMANCE MEASUREMENT OF REAL TIME OBJECT DETECTION AND RECOGNITION MIR MD. JAHANGIR KABIR, SAMIR HALDER, MD. ROBIUR RAHMAN, MD. W.H. SADID, M.M. MANJURUL ISLAM AND MD. NAZRUL ISLAM MONDAL Computer Science and Engineering, Rajshahi University of Engineering and Technology,Rajshahi-6204, Bangladesh. E-mail: sagar-31 S@yahoo. com,[email protected],[email protected] One of the most difficult problems in image processing is detecting objects in an image. The method presented in this paper is designed to detect artificial object in natural environments. It is based on the fact that artificial objects may have any directional viewings. It uses neural network architecture for the image to detect the image of different view. This method consists of taking every possible image for every object and from many directions. This method allows detecting unknown objects in various natural environments. It works with different image resolutions and it has a low processing time, making it suitable for real-time operations.
1
Introduction
Several arbitrary objects are added in the drawing window. And our implementation is to detect them. One of the problems is that what happens when the objects are in rotated form. In static object detection and justification it is of no great problem since we have to work with the spatial coordinates. And here rotating the objects changes the bounding volume in a different orientation. So the boundary volume determines the object and the accuracy depends on the grid-cell size as will be described in details later. While in dynamic object detection, it is much complex. Because we will read a portion of image inside the viewing window. So we have to have some initial knowledge about the rotated objects structure. Now, when we have the rotated version of the image, still we will be reading an image of a particular position - the viewing window. So according to the previous knowledge there will be a decision of the object type. 2
Static Object Detection and Recognition
GRID is a technique that subdivides the whole coordinate system into smaller segments to track the objects in it. GRID is a collision detection scheme for mobile objects in real time systems. The grid may be 2D or 3D, divides the entire scene into distinct cells (uniform spatial subdivision). The grid requires no explicit storage of cells or content. Only a 349
350
single variable is required: CELL-SIZE. CELL-SIZE should be significantly larger than most objects in the scene to reduce chances of objects spanning multiple cells. While a single object spanning multiple cells is acceptable (for example, objects on a cell boundary). Thus CELL-SIZE will affect performance. In a 2D grid, each cell is uniquely represented by two integers generated by the hash function. A 3D grid requires three integers. Neither grid cells, nor their contents, are explicitly stored. Each object in the scene has a parameter denoting the grid current cells it occupies. The algorithm for determining cells-occupied is as below: 1. Clear the cells occupied list of the object. 2. Set a = the maximum grid cell occupied by the object. 3. Insert a into the cells occupied list. 4. Set b = the minimum grid cell occupied by the object. 5. If a = b go to step-16. 6. Insert b into the cells occupied list. 7. Set point, p = maximum grid cell. 8. Set p.x = min.x. 9. Set grid cell, c = hashed grid cell of point p. 10. If c = b go to step-16. 11. Insert c into the cells occupied list. 12. Get a grid cell, d. 13. Set d.x = a.x 14. Set d.z = a.z 15. Insert d into the cells occupied list. 16. End
3
Dynamic Object Detection and Recognition
From the drawing window we will get the image data that is available inside the viewing window. Then this image data or pattern is passed into the following algorithm. By using this algorithm, we will get an output. Now if this output is one of the valid ones, an information is provided. But if there is no valid output is found then there is no confirmation that will be given by the algorithm. In the meantime, if a translation or rotation is provided then the viewing window is translated or rotated accordingly. The Dynamic Object detection concept is shown belown: Learning Object: eural Network [Learning lgorithm with input, hidden and butput layer nodes]
Stable Network
I
351
Output of the Find a match from the current P P u t Object +stable neural network --+sensed Object
4
Recognition Accuracy
m
After completion of the learning the updated weights and thresholds are saved in a file which are used in the testing phase of an unknown object. To verify the object, new sample of an object image is taken and features are extracted to form a feature matrix and applied it to the net for testing. If it generates the error within the rate of tolerance the identification is successful otherwise not or failed 100
90 110 70 60 50
40
30 20
4
I
lo 0 0
5
10
20
30
35
Rate of distortion
Figure 1. Accuracy Chart
5
Discussion
This detection method based on object shape provides very good results for detecting artificial objects in natural environments. It allows an easy detection of unknown artificial objects in various environments. Furthermore, this method can be used with relatively low resolution images, and has a low processing time.
352
Possible improvements of this method include a method of image segmentation more refined than the simple division in fixed-size sub-frames. It may also be possible to eliminate the natural uniform surfaces which can make the detection fail. However, because of its relatively low processing time, it could be used for detecting objects on video sequences. And this kind of method has other potential applications, like face detection or content-based image retrieval. 6
Acknowledgements
The authors are gratefid to the department of Computer Science and Engineering of Rajshahi University of Engineering and Technology, for using the lab, to the teachers who helped the authors for carrying out this paper and by giving innovative ideas. References
1. A.J. Lipton, H. Fujiyoshi, and R. S. Patil, “Moving target classification and tracking from real-time video,” in Proceedings IEEE Image Understandingworkshop, 1998, pp. 129-1 36. 2. C. Stauffer and W.E.L. Grimson, “Learning Patterns of Activity using RealTime Tracking,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, no. 8, pp. 747 757, August 2000. 3. C. Wren, A. Azarbayejani, T. Darrell, and A. Pentland, “Pfinder: Real-Time Tracking of the Human Body,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 19, no. 7, pp. 780-785, July 1997. 4. Donald Ham and M. Pauline Baker., Computer Graphics (2”d Edition). Prentice Hall of India Private Limited, October,1999. ISBN 81-2030944-8. 5. J. Ong and S. Gong, “A Dynamic Human Model using Hybrid 2D-3D Representations in Hierarchical PCA Space,” in Proceedings of the British Machine Vision Conference, Nottingham, September 1999, pp. 33-42, BMVA Press. 6. G. A. Jones J. Orwell, P. Remagnino, “From Connected Components to Object Sequences,” in First IEEE International Workshop on Performance Evaluation of Tracking and Surveillance, Grenoble, March 31st 2000, pp. 129-136.
A SYMMETRIC ENCRYPTION TECHNIQUE THROUGH RECURSIVE MODULO-2 OPERATION OF PAIRED BITS OF STREAMS (RMOPB)
' School
P.K.JHA', J. K. MANDAL of Engineering and Technology Purbanchal Universiw, Biratnagar, Nepal
E-mail: [email protected] Professor, Department of Computer Application, Kalyani Government Engineering College, Kalyani, Nadia, West Bengal, India - 741235, India, E-mail: jkmandal@rediffmail. com
Abstract:The technique considers a message as binary string on which a Recursive Modulo-2 Operation of Paired Bits of Streams (RMOPB) is applied. A block of n bits is taken as an input stream, where n varies from 4 to 256, fiom a continuous stream of bits and the technique operates on it to generate the intermediate encrypted stream. The same operation is performed repeatedly for different block sizes as per the specification of a session key of a session to generate the final encrypted stream. A comparison of the proposed technique with existing and industrially accepted RSA has also been done in terms of frequency distribution and homogeneity of source and encrypted files. Key words: Recursive Modulo-2 Operation of Paired Bits of Streams RMOPB), Cipher text, Block cipher, Session Key. 1. Introduction The encryption process [6, 8, 9, 10, 11,121 makes the document into cipher text, which will not be legible to them. Many algorithms are available each, of which has merits and demerits [l, 2, 3, 4, 5, 71. No single algorithm is sufficient for this application. As a result researchers are working in the field of cryptography to enhance the security hrther. In this paper a new technique is proposed where the source message is considered as a stream of binary bits and the technique transforms the document into unintelligent form from where the original message can also be recovered into the original form using the same technique. The technique has been implemented using C language. Section 2 of the paper deals with the principle of Recursive Modulo-2 Operation of Paired Bits of Streams (RMOPB). A proposal for key generation is described in section 3. Results are given in section 4. Analysis about the technique is made in section 5 Conclusions are drawn in section 6 and references are drawn in section 7. 2. Principle of Recursive Modulo-2 operation of Paired Bits of Streams (RMOPB) The technique, considers the plaintext as a stream of finite number of bits N, and is divided into a finite number of blocks, each also containing a finite number of bits n, where, 1<= n <= N. Let P = soo sol s02 s03 so4 ... so,., is a block of size n in the plaintext. Then the first intermediate block 1, = sl0 sI1 sI2 sI3 sI4 ... s',.~can be generated from P in the following way: 1 1 - 0 0 sos I - s o s I B S 02 S03 353
354 1
-
0
s'2s3-sos
0
0
0
1CDsqsg
s'.1 s1.J+I= so.. so,, @ so.l+J+2 s 0i+j+3, 0 <= i < (n-1), 0 <= j < (n-1); CD 1-J I-J+1 stands for the exclusive-OR operation. In the same way, the second intermediate block 12 = S'O sz1s22 sZ3sZ4 ... s2,.1 of the same size (n) can be generated by: s2 2 1 0s 1 - s 0 s'I CD s 1 2 ~ ' 3 s2 2 - 1 I I 2 s 3 - S o s 1CD S ' ~ S5 2 2 - 1 1 S i s j+l- s i-j s i-j+l CD ~ ' i + j + Zs 1i+j+3, o <= i < (n-11, 1 <=j < (n-l);a stands for the exclusive-OR operation. If this process continues for a finite number of iterations, the source block P is regenerated forming a cycle, which depends on the value of block size n. Any intermediate block in the recursive process may term as intermediate encrypted block for that source block. The operation is repeated for the whole stream in the source. The same operation is performed for whole stream number of time with a varying block sizes. k such iteration is done and the final intermediate stream after k iterations generates the encrypted stream. All of the different block sizes and k constitute the key for the session. This key may be considered as session key for that particular session. 3. Generation of Session Key To ensure the successful encryption of the proposed technique with varying size of blocks, a 133 bit key format consisting of 14 different segment has been proposed here [ 1,11,6,8,9]. For the segment of rank the R, there can exist a maximum of N=216-R blocks, each of unique size of S=216-R, R starting from 0 and moving till 13. Segment with R=O formed with the first maximum 65536 blocks, each of size 65536 bits 0 Segment with R=l formed with the next maximum 32768 blocks, each of size 32768 bits Segment with R=2 formed with the next maximum 16384 blocks, each of size 16384 bits 0 Segment with R=3 formed with the next maximum 8192 blocks, each of size 8 192 bits 0 Segment with R=4 formed with the next maximum 4096 blocks, each of size 4096 bits Segment with R=5 formed with the next maximum 2048 blocks, each of size 2048 bits Segment with R=6 formed with the next maximum 1024 blocks, each of size 1024 bits 0 Segment with R=7 formed with the next maximum 512 blocks, each of size 512 bits ,
355
Segment with R=8 formed with the next maximum 256 blocks, each of size 256 bits Segment with R=9 formed with the next maximum 128 blocks, each of size 128 bits Segment with R=10 formed with the next maximum 64 blocks, each of size 64 bits Segment with R=l 1 formed with the next maximum 32 blocks, each of size 32 bits Segment with R=12 formed with the next maximum 16 blocks, each of size 16 bits Segment with R=13 formed with the next maximum 8 blocks, each of size 8 bits. With such a structure, the key space becomes of 133 bits long and a file of the maximum size of around 699.05 MB can be encrypted using the proposed technique. 3.1 Vulnerabili@ We can consider the time required to use a brute force approach, which simply involves trying every possible key until an intelligent translation of the cipher text into plain text is obtained. On average, half of all possible key must be tried to achieve success. Table 3.1 shows how much time is involved for various key spaces. Results are shown for four binary sizes. The 56-bit key sizes used with the DES (Data Encryption Standard) algorithm, and the 168-bit key size is used for triple DES. The minimum key size specified for AES (Advanced Encryption Standard) is 128-bits. Results are also shown for what are called substitution codes that use a 26 characters key, in which all possible permutations of the 26 characters serves as keys. For each key size, the results are shown assuming that it takes 1 ps perform a single decryption, which is a reasonable order of magnitude for today's machine. Within the use of massively parallel organizations of microprocessors, it may be possible to achieve processing rates may orders of magnitude greater. The final column of the table 3.1 considers the result for a system that can process a1 millions keys per microsecond. As one can see at this performance level, DES can no longer be considered computationally secure. In the proposed technique key size is 133 bits though this key may be changed to other size as per the requirements [13, 141.
356
:xhaustiveKey Search Key Size (bits) 32
, 4.
No. Of Alternate Keys 232=4.3*10’
Time Required at 1 encryption / ps 2”= 35.8 minutes
zs5ps=l142 years
56 128
256=7.2*1016 2Iz8=3,4*1038
2
”’ps=5.4*1OZ4years
168
2168=3 ,7*1OsO
2
16’
26 Characters
26! 4*1OZ6ps
2*1OZ6ps=6.4*10i2years
133@roposedRMOPB)
2I3’=l .08*1040
2132ps = I .7*1oZ6years
ps=5.9*10~~ years
Results In this section the results of implementations are presented. The implementation is made through high-level language. Table 4.1 represents the encryption time, decryption time, size before and after encoding and decoding. The encryption time varies from 0.054945 to 0.164835.The decryption time varies from 0.000000 to 0.164835 for the present implementation. Figure 4.1 gives a relationship between encryption times against decryption time. The frequency distribution graphs for source and encrypted files for both RMOPB and RSA techniques is given in figure 4.2. Chi-square test has also been done and presented in table 4.2 for source files and encrypted files. Results of the Chi square tests are compared with RSA technique for source files and encrypted files.
357
Encryption Tjrn* (In Mconds)
Figure 4.1 :Decryption time against Encryption time for RMOPB Technique
f Encrypted File
Figure 4.2: Frequency distribution between viewprev.cpp and its encrypted file (cascaded) for RMOPB Technique
Graph in figure 4.2 shows the frequency of characters in a message and that frequency of characters in the encrypted message for RMOPB technique. The close observation reveals that the character frequencies are more evenly distributed for the RMOPB technique. In connection with the Brute-force attack of decrypting the message by the hackers, it may be difficult to decrypt the message if the message is encrypted using the proposed key system or like manner. 4.1 Tests for Homogeneity The Chi-square test has also been performed using source file and encrypted files for Recursive Modulo-2 Operation of Paired Bits of Streams and existing RSA Technique Table 4.2:Comparative results between RMOPB technique and RSA technique their Chi - Square values and corresponding degree of freedom Source Value of ChiValue of Chi-Square File Square(RMOPB) (RSA) viewprev.cpp 90345 1015121 olecli2.cpp
866561
750711
for .cpp file for Degree of Freedom 88 87
358
Table 4.2 shows the values of Chi-square for different file size, which shows that the value of Chi-square is increasing as file size is increasing. The Chisquare is highly significant at 1 % level of significant. So we may conclude the source files and encrypted files are non homogeneous in both RMOPB and RSA techniques. 5. Analysis Analyzing all the results presented in section 4, following are the points obtained on the proposed technique: The encryption time and the decryption time vary linearly with the size of the source file and both are comparable Out of the different categories of files considered here, Chi Square values for .CPP files are the highest. The frequency distribution test applied on the source file and the encrypted file shows that the characters are all well distributed. Chi Square values for this proposed technique and those for the RSA system highly compatible. Except some cases the Chi square values in proposed technique shows better result in comparison to RSA.
6 . Conclusion The technique presented here is a simple, takes little time to encode and decode, though the block length is quite high. The encoded string will not generate any overhead bits. It can be easily implemented in any high level language for practical application purpose to provide security in message transmission. Acknowledgement: The authors express a deep sense of gratitude to the Department of Computer Science and Application, University of North Bengal, Dist. Darjeeling and Kalyani Government Engineering College, Kalyani, Nadia, West Bengal, India for providing necessary infrastructure support for the work. The work is carried out under the sanction of an Indo-Nepal collaborative research work where the scholarship to one of the author is provided by the UGC, Nepal.
359
References 1.
2.
3.
4.
5. 6. 7.
8. 9.
10. 11. 12. 13. 14.
Jha P. K., Mandal J. K., “A Bit Level Symmetric Encryption Technique Through Recursive Arithmetic Operation (RAO) to Enhance the Security of Transmission” Proceedings of ICT Conference 2005, An International Conference of Computer Association of Nepal to be held during 26-27‘hJanuary, 2005 at BICC, Kathmandu, Nepal. Dutta S et al. “Ensuring e-Security using a Private-key Cryptographic System Following Recursive Positional Modulo-2 Substitutions” AACC 2004, LNCS 3285, Springer-Verlag Berlin Heidelberg, pp. 324-332,2004, Mandal J. K. and Dutta S., “A Space-Efficient Universal Encoder for Secured Transmission”, International Conference on Modeling and Simulation (MS’ 2000Egypt), Cairo, April 11-14, , pp-193-201,2000. Mandal J.K. and Dutta S., “A Universal Bit-Level Encryption Technique”, Proceedings of the 7th State Science and Technology Congress, Jadavpur University, West Bengal, India, February 28 - March 1, pp-INF02, 2000. D. Welsh ,“Codes and Cryptography”, Oxford: Claredon Press, 1988 J. Seberry and J. Pieprzyk , “An Introduction to Computer Security”, Australia: Prentice Hall of Australia, 1989. D. Boneh, “Twenty Years of Attacks on RSA Cryptosystem” in notices the American Mathematical Society (AMS), vol46, no 2, pp 203-213,1998. B. Schneier, “Applied Cryptography”, Second Edition, John Wiley & Sons Inc, 1996. C. Coupe, P. Nguyen and J. Stern, “ The Effectiveness of Lattice Attacks against Low-Exponent RSA”, Proceedings of Second International Workshop on Practice and Theory in Public Key Cryptography, PKC’99, ~011560,of lecture notes in Computer Science, Springer-Verlag, ,pp 204-218,1999. RSA Vulnerabilities”, Journal of Cryptology, vol 10, pp 233-260,1997. M. Wiener, “Cryptanalysis of Short RSA Secret Exponents”, IEEE transactions on Information Theory, vol36, pp 553-558,1990. V P Gulati, A Saxena and D Nalla, “On Determination of Efficient Key Pair”, Journal of the Institution of Engineers (India), vol 84,pp 1-3, May 2003. “ Cryptography and Network security ” by William Stallings published by Pearson education (Singapore) Pte. Ltd. 2004. Recent Advances in Computing and Communication “proceedings of the 12’h international Conference on Advanceed computing and communications, Dec 1518,2004, Ahmedabad, India.
MATHEMATICAL MODEL AND ANALYSIS OF THE SIMPLEST FUZZY TWO - TERM (PI/PD) CONTROLLER
B. M.MOHAN* AND ARPITA SINHA Department of Electrical Engineering, I n d i a n Institute of Technology, Kharagpur-721902, India, E-mail : mohanOee. iitkgp. ernet. in, arpitasinhaoee.iitkgp. ernet. in
This paper reveals a mathematical model for the simplest fuzzy two-term (PI/PD) controller employing r-function type and L-function type input fuzzy sets, Afunction type output fuzzy sets, algebraic product t- norm, bounded sum t- conorm, Mamdani minimum inference and center of sums (COS) defuzzification. T h e p r o p erties of this model are studied. Using the well-known small gain theorem we establish sufficient conditions for bounded-input bounded-output (BIBO) stability of feedback systems containing the above controller as a subsystem.
1. Introduction From the ongoing research in the field of Fuzzy Control Systems, it has been observed that fuzzy PI and fuzzy PD controllers outperform their traditional counterparts - linear PI and PD controllers. This aspect was first theoretically proved by Ying and the relationship between the conventional PI controllers and the simplest fuzzy PI controllers that employ drastic product inference had been established. Subsequently, Ying revealed analytical structures of the simplest fuzzy PI controllers using Mamdani minimum, and Larsen product inference methods. On similar grounds, Malki et. al. made an attempt to develop the simplest fuzzy PD controller, and compared its performance with that of the conventional PD controller. Analytical structures for the simplest fuzzy PD controllers were revealed using different combinations of t-norms and t-conorms, and inference methods. Input-output structures of fuzzy controllers with nonlinear input fuzzy sets, singleton output fuzzy sets, product AND operator, Mamdani type of fuzzy rules, and centroid defuzzifier were studied l . Following the approach given in and 5 , mathematical model for fuzzy two-term (PI/PD) controllers is obtained in this paper by employing *Corresponding author,Fax:+91-3222-282262, 255303, 282700
360
361
algebraic product t-norm, bounded sum t-conorm, r-function type and Lfunction type fuzzy sets for inputs, A-function type fuzzy sets for output, linear control rules, Mamdani minimum inference, and COS defuzzification. Properties of this controller are investigated. Also an attempt is made to establish BIB0 stability conditions for the feedback system containing this mathematical model as a subsystem. 2. A fuzzy PI/PD controller
The incremental control signal (velocity algorithm) generated by discretetime PI controller is given by
Au(kT) = u ( k T )- ~ [ ( -k 1)T] = K$w(kT)
+ K,dd(kT)
(1)
while the control effort produced by discrete-time PD controller is given by
u(kT)= K$d(kT)
+ K&J(kT)
(2)
where K $ , Kf,and K$ are respectively the proportional, integral and derivative constants of discrete-time PI and PD controllers, T is the sampling period, d ( k T ) = e ( k T ) ,the error signal and the velocity signal
w(kT) = { d ( k T ) - d [ ( k - l)T]}/T
(3)
Based on Eqs. (1)-(3), the principal structures of fuzzy PI controller
Figure 1.
Block diagram of typical fuzzy PI/PD control system
and fuzzy PD controller are shown in Figure 1, in which N d , N,, NLA and N l l represent scaling factors, and d~ (kT), V N (kT) , AUN(kT)and u~(kT) represent normalized versions of d( kT),w( kT),Au(kT)and u(kT), respectively. The error signal e ( k T ) (displacement d ( k T ) ) , and the first-order time derivative of e ( k T ) (velocity w(kT))are fuzzified by a combination of L-type and F-type membership functions (illustrated in Figure 2) whose mathe-
362
matical description is respectively given by pn.2 =
i
where x is dN or
1
0
VN.
-L<X<-l -1 <x 1 l<x
<
pp.z=
{
-L<x<-~ -I < x 1 1 l<x
0
<
(4)
Note that pn.2 + p p . x = 1. The membership functions
Figure 2.
Input and output fuzzy sets
for the normalized output ( A u N ( ~ for T ) P I control and U N ( ~ for T ) PD control) are shown in Figure 2. The following linear control rules are considered for fuzzy P I controllers: R1) If dN is p.d AND V N is n.u then AUNis 00;Rz) If dN is n.d AND V N is n.v then AUNis 0 - ; R3) If dN is n.d AND V N is p.v then AUNis 0,; R4) If dN is p.d AND V N is p.v then A u N is O+. The above control rules also hold good for fuzzy PD controller if A u N is replaced by U N . The AND operation considered in the rule base is algebraic product t-norm which is defined as f i ( d N ,V N ) = p i ( d N ) . p j ( v ~ ) , where i and j are the ith and j t h fuzzy sets on dN and V N respectively. The degree of match, found by using algebraic product t-norm, is used to determine the inferred output fuzzy set by using Mamdani minimum inference which is defined as min(fi, p(output)), where fi is the outcome of algebraic product t-norm operation. The reference output fuzzy set (triangular), and the inferred output fuzzy set (shown with hatching) corresponding to Mamdani minimum inference are shown in Figure 3(a). The area of inferred fuzzy set is given by f i ( 2 - fi)H All possible input combinations (I&) of normalized inputs d N ( k T ) and v ~ ( l c Tare ) shown in Figure 3(b). The outcomes of fuzzy control rules for all IC regions with algebraic product t-norm are given in Table 1. It can be seen from the control rule base that the output fuzzy set 00is fired two times. The outcomes of rule 1 ( f i ~ and ) rule 3 (/is) corresponding t o output fuzzy set 00may be different. Bounded sum t-conorm is used to take care of the OR operation between rule 1 and rule 3, which is defined
363
‘*dN
0-L
0)
(a>
Figure 3. (a)Illustration of Mamdani minimum inference (b)Regions of fuzzy PI/PD controller input combinations
= min(1, f i 1 + f i 3 } = P I + f i g According to the well-known COS defuzzification method, the crisp value of control output is given by
as
fi1/3
A(fi2X-H) + A ( f i 1 / 3 ) ( 0+ ) A(fi4)(H) (5) A(b2.)+ A(fi1/3)+ A(fi4) where A(fiz),A(fi4)and A(fi1/3)are the areas of membership grades f i 2 , f i 4 and f i ~ respectively. p A u ~ ( kis)replaced by u ~ ( kfor ) fuzzy PD controller. Au,(k) =
3. Mathematical model and its analysis Using I?-function type and L-function type input fuzzy sets, three Rfunction type output fuzzy sets, linear control rules, algebraic product tnorm, bounded sum t-conorm, Mamdani minimum inference, and COS defuzzification, the expressions for the incremental control effort Au(kT)for fuzzy PI controller is as shown in Table 1. Since d ~ ( k Tand ) w ~ ( k Tare ) always the inputs to the two-term (PI/PD) controller, see Eqs.(l) and (2), and Au(kT) is the output of the PI controller while u ( k T ) is the output of the PD controller, the control laws in Table 1 are also valid for fuzzy PD controllers if Au(kT) is replaced by u ( k T ) and u [ ( k- 1)T] is made equal to zero. Therefore if the models of fuzzy P I controller are known, it is not necessary t o derive the mathematical models for fuzzy P D controller separately. The expression for incremental control effort in regions IC1 t o IC4 can be written as
+
Au(kT) = P x [ d , v ( k T ) v ~ ( k T ) ] (6) H x 1 x [312- d ~ ( k T ) ~ p , 7 ( k T ) ] where P = NAU(714 - [ d L ( k T ) W$(kT)]P - dL(kT)v$(kT)}(7)
+
The plot of Au(kT) is shown with 1 = H = NaU = 1 in Figure 4(a). On analyzing the mathematical model, the following properties are found:
364 Table 1. Outcomes of rules and control output in IC regions ICS
(R1)
(RZ)
(R3
1
Au(kT)
(R4)
Pl
P2
P3
P4
P p . d P n .v
Pn.dPn.v
Pn.dPp.u
Pp.dPp.v
Pn.v
0
0
Pp.d
Pn.d
0
0.5XH NAu
PP.V
0.5XH
0
0
Pn.u
PP.V
0
0
0
Pn.d
Pp.d
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
NAU 0.5XH NAU 0.5XH $!$%+lJ NAU
0
(a) The surface generated by incremental control effort Au is continuous at any point in the input space. This can be observed from the Au plot shown in Figure 4(a). (b) It is obvious from Eq.(6) that incremental control effort Au, being a product of p and ( d N VN), becomes zero at the point ( d N , V N ) = (0, 0 ) irrespective of the value of p. (c) It can be observed
+
. . .. . .. . . . .......
................ .......
........
*UN
........
........
................ ........ 0'
0.2
0.4 (a)
0.6
0.8 1 vN=dNline
Figure 4. Plots of (a) Au(k) with 1 = H = NA,, = 1 and (b) AUN with 1 = H = 1
from Figure 4(b) that along the d N = V N line, the normalized incremental control effort AUN monotonically increases from its zero value (occurring at (0, 0)) as d N and VN increase. (d) The incremental control effort Au(k) attains a minimum value of at the point ( - I , -1) and the maximum at the point ( 2 , l ) in the input space. All these desirable value of properties are applicable to fuzzy PD controllers also.
365 4. BIBO stability analysis
We make use of the well known small gain theorem in to derive sufficient conditions for BIBO stability of feedback systems involving the fuzzy PI controller in Sec. 3 as a subsystem. Consider the feedback system shown in Figure 5(a). According to the small gain theorem, if ~ ( G I )the , gain of GI, and 72(Gz), the gain of G2, have a product smaller than unity, then any bounded-input pair (211, u2) produces a bounded-output pair ( y l , y2). We consider the general case wherein the process G2 under control is nonlinear, denoted by N. By defining r(lcT) = ul(lcT),y(lcT) = yz(lcT) = Ne2(lcT), e(lcT) = el(lcT), Au(lcT)= yl(lcT) = Glel(lcT), u[(k- 1)T]= u2(kT) and u(lcT)= e2(kT) in Figure 5(a), we obtain an equivalent closed-loop system as shown in T )sI~ p ~ > ~ l e l ( k TNd ) I ;x h f d = Figure 5(b). Let Md = ~ u p ~ > ~ l d ( k= +lel(lcT) - el[(h - I)T]II + ~ d ; N, x 1; M~ = SUP^,^ I ~ ( / ~=T ) I Mw= 1. FromEqs. (6) and (7) we get
Figure 5.
(a) A feedback system (b) A typical fuzzy PI control system
366
From Table 1, we have IIu(ICT)II = H/NaU in regions IC 10 and IC 12. This implies that 71 = 0. Since y1 = 0 and 7 2 = IlNll, t o ensure 7 1 7 2 I 1, the condition < 00 follows. So the sufficient condition for the nonlinear fuzzy P I control system to be BIBO stable can be stated as follows. Theorem: A sufficient condition for the system shown in Figure 5 t o be BIBO stable is: (i) the given nonlinear process N has a bounded norm i.e., llNll < 00, and (ii) the parameters 1, H , Nd, N,, NaU and T of fuzzy P I controller should satisfy the inequality
The above stability theorem is equally applicable in the case of fuzzy P D control systems also if NaU is replaced by NU.
5. Conclusion
A mathematical model for fuzzy PI/PD controllers has been developed via r-function type and L-function type input fuzzy sets, A-function type output fuzzy sets, algebraic product t-norm, bounded sum t-conorm, Mamdani minimum inference and COS defuzzification. It has been shown that if mathematical model of fuzzy P I controller is known, mathematical model for fuzzy P D controller need not be derived separately. Upon carefully investigating the properties of the fuzzy controller, it has been found that the fuzzy PI/PD controller model has all desirable control properties. A BIBO stability condition for the corresponding fuzzy PI/PD control system has been presented. Acknowledgement The second author thanks the CSIR, India for providing fellowship for the above work.
References 1. A. Haj-Ali and H. Ying, Int. J. Fuzzy Systems, 3,60 (2003). 2. C. A. Desoer and M. Vidyasagar, Feedback Systems: Input-Output Properties, Academic Press, NY, 1975. 3. H. A. Malki, H. Li and G. Chen, IEEE Trans. on Fuzzy Systems, 2,245 (1994). 4. B. M. Mohan and A. V. Patel, IEEE Trans. on Systems, Man, and Cybernetics-Part B, 32 , 239 (2002). 5. H. Ying, Fuzzy Control & Modeling: Analytical Foundations and Applications, IEEE press, 2000.
A FRAMEWORK FOR TOPIC CATEGORIZATION OF XML DOCUMENTS USING SUPPORT VECTOR MACHINES SRlNlVASA K G’, SHARATH S’,VENUGOPAL K R’, L M PATNAIK’ ‘ Department of CSE,Bangalore University, Bangalore. kw.FrinivLi.sCam.srir. edu, .shurathsriniva.s~,~muil. com, vkraiiik(k!v.snl.corn ’Microprocessor Applications Laboratory, IISc, Bangalore. lalit(i7hicro.iisc.ernet.in ABSTRACT. Extensible Markup Language (XML) has emerged as a medium for interoperabilityover the Internet. As the number of documents published in the form of XML is increasing, there is a need for categorization of XML documents into specific user interest categories. However, manually performing the categorization task is not feasible due to the sheer amount of XML documents available on the Internet. In this paper, we present a machine learning approach to topic categorization which makes use of a multi class Support Vector Machine (SVM) for exploiting the semantic content of XML documents. The SVM is supplemented by a feature selection technique which is used to extract the useful features. Experimental evaluations performed over a wide range of XML documents indicate that the proposed approach significantly improves the performance of the topic categorization task, with respect to accuracy and efficiency.
1
Introduction
In this paper, we have explored the possibility of topic categorization of XML documents using Support Vector Machines (SVM). The semantic information in the self describing tags is used for the purpose of categorization. A feature extraction strategy which can improve the efficiency of the SVM is also employed. Experimentation evaluations which compare the proposed technique with other classification techniques are also provided. The related work with respect to topic categorization in XML and the usage of SVMs are discussed in [ 1 , 2 , 3 , 4 ] . 2
Feature Set Construction
Consider a training set with n XML documents. Let TI = {tl,t2,...,t,} represent the initial tag pool, constructed using each of the distinct tags in the training set XML documents and I represents the total number of distinct tags. The ti represent the ith tag in the tag pool. The purpose of feature selection is to obtain an optimal tag set To= {tl,t2,...,t,,,}, such that m < 1. Feature selection has two advantages: First, the dimension of the feature vector is reduced. This can help in faster computations. Second, the features, or in the present context the tags, which are spread over all the categories are eliminated and importance is given to those tags that are representatives for a particular category. This can help in greater accuracy of the categorization task. In order to perform feature selection each tag in the tag pool is 367
368
weighed using a standard weighing scheme. We analyze two weighing schemes: tjidf [ l ] and t-statistics [2]. In the tjidf scheme, tJ; the number of times a tag ti appears in an XML document and idf; the inverse of the document frequency in the collection that contains ti are calculated. The weight of a tag ti in T,is given by,
where wi is the weight of the ith tag in TI, tf; is the frequency of the ith tag in the document, N is the total number of documents in the collection and dJ; is the number of documents in which the ith tag occurs. This scheme assigns weights to tags proportional to the number of times it occurs in document. However, the tags which are common among all the classes are assigned lower weights. But, in the case of XML documents only the information about the existence or the non-existence of a tag is sufficient to classify the documents and there is no necessity to calculate the tag frequency. Hence another weighing scheme based on t-statistics [2] is considered. Here, the initial expression vector for the training samples is given by F" = (A", f:,
...,A"),where1 I x I rn, rn is the number of training samples and
I is the number of features. Here, F" represents the training sample x, and f,", f:,
...,A" represent
all the features of this sample. Each sample is labeled
with D E {-l,+l} . All samples belonging to a particular class are considered as positives for the class and the rest of the samples are considered as negatives. The following values are computed for each tag: n+ and n- ,the number of positive and negative training samples. u ,:
and p,:, the mean values of the ith tag over the positive and the
negative samples respectively. 6: and 6,; , the standard deviations of the ithfeature respectively over the positive and the negative samples. The weight of a tag is given by,
Equation (2) measures the normalized feature value difference between two groups. Higher weights are assigned to the tags that are discriminators for a class. Also, tags which are spread among all the categories are assigned low weights. In both the tjidf and the t-statistics weighing schemes only the top k % of the tags with highest tag weights are chosen as dimensions for the optimal tag set To .
369
After the feature selection process, a feature vector for an input XML document must be constructed. The XML document is parsed and all the tags present in the document are extracted. Only binary values are assigned as dimensions of the feature vector. The feature vector of XML document consists of a “1” if the tag is present in the document and “0” otherwise. The feature vector thus constructed is the input to the multi class SVM [ 6 ] .
3
SVM for Topic Categorization
For a binary SVM, the training sample is {(xl,yl), (xay2),...(x,y,)}, where xi represents the feature vector for the ifh sample and yi = {-1,+1} i.e., a a class label “+1” or “-1” is associated with each of the training samples. If we assume the profiles to be linearly separable then the equation of the hyperplane that does the separation is given by, wTx+b=O where x is an input vector, w is an adjustable weight vector and b is the bias. Thus, wTxi+b1: 0, ifyi = + I wTxi+b< 0 , ifyi = -1 or equivalently, yi(wTxt+b)1 1 (3) The training samples (xi,yi)for which Equation 3 is satisfied with a equality sign are called Support Vectors. Support Vectors represents the classification samples that are most difficult to classify. Hence, maximizing the margins between the Support Vectors results in a model which has good generalization properties. In order to take care of the non-separable data points a non-negative scalar variable is introduced in (3). The variable is known as the slack variable. The resulting equation for a soft margin S V M is given by, Yi(WTXi+b)2 1- 6 A soft margin SVM solves the following optimization problem
<
c
c
subject to yi(wTxi+b)2 1- 6 , > 0 where C is a variable selected by the user. A quadratic programming algorithm is usually used to solve the constrained optimization problem of (4). In order to classify samples that are not linearly separable the feature space can be mapped into a high dimensional linearly separable space using kernel tricks. However, in the
370
present context where tags represent the features, the linear kernel is efficient compared to polynomial kernels. The binary SVM can be extended to support multi class classification using the “All-vs-One” approach. Here P binary SVMs are used where, P is the number of predefined topics. Each of the P SVMs are trained using the training set documents. When a new XML document has to be categorized the feature vectors for the document are constructed and are individually provided as inputs to the P SVMs. Each SVM decides whether the given document is in its own topic or not. In “Allvs-One approach” for categorization of XML documents, each S V M calculates the distance to the optimal hyperplane. A document belongs to a particular category if the corresponding SVM representing the category yields maximum positive distance value. 4
Performance Analysis
The variations in the accuracy of the categorization with the values of k are shown in Fig 1. It can be observed that the accuracy of the t-statistics feature selection is greater than the gidffeature selection scheme for all values of k. This is because the t-statistics scheme is able to select an optimal number of features which are effective discriminators for the various classes. From Fig 1, it can also be seen that the accuracy is highest when k is in the range of 60-70%. When the value of k is low, the number of features selected will be less. This affects the generalization performance of the SVM and it performs poorly over the test set. When the value of k is high most of the features get selected. This results in poor classification accuracy of the SVM. A value of k in the range of 60-70 YOresults in good classification accuracy as it chooses an optimal number of tags as features.
loo
20
40 60 v a l w of k (%)
80
im
Fig 1: Variation of accuracy with value k
0’
’
20
40
60
80
Number of Training Samples
100
Fig 2: F1 measure using the two schemes
In addition to the accuracy of the system, precision, recall and FI-measure can be used to evaluate the classification system. Precision is the percentage of predicted documents for the given topic that are correctly classified. Recall is the
371 percentage of total documents for the given topic that are correctly classified. Also, high precision values leads to low recall and vice versa. A classification framework which can exhibit optimum precision and recall values is required. Hence, the FImeasure, which is a weighted combination of precision and recall is used for evaluation. The F1-measure is given by, 2.precision.recall F, = precision + recall The FI-measure for the two feature selection schemes is shown in Fig. 2. The T-statistics feature selection scheme results in better FI-measure values. In order to verify the accuracy of the proposed technique, we compare it with two traditional classification techniques: k-Nearest Neighbor and Decision Tree classifier and it is observed that the SVM classifier with the t-statistics feature selection strategy outperforms the KNN classifier and the Decision Tree techniques for the XML topic categorization problem. 5
Conclusions
We have proposed a framework for topic categorization of XML documents that makes use of Support Vector Machines for the purpose of classification. Feature selection schemes that can improve the accuracy of the SVM are presented. The All-Vs-One Multiclass S V M is used to assign a topic category to the input XML document from among the various pre-specified categories. References 1. G. Salton, Automatic Text Processing, Addison-Wesley, pp. 279-28 1 , 1989. 2. Liu, H., Li, J. & Wong, L, “A comparative study on feature selection and classification methods using gene expression profiles and proteomic patterns”, Genome Informatics Tokyo, 2002. 3 . F. Sebastiani, “Machine learning in automated text categorization” ACM Computing Surveys, vol. 34, no. 1, pp. 1-47, March 2002. 4. Thorsten Joachims, “Text Categorization with Support Vector Machines: Learning with Many Relevant Features”, Proceedings of ECML-98, 10th European Conference on Machine Learning, pp. 137-142, 1998. 5. A. L. Diaz and Lovell, XML Generator, http://www.alpha works.ibm.com/tech/xmlgenerator,1999. 6. Srinivasa K G, Venugopal K R and L M Patnaik, “A Soft Computing Approach for XML Data Mining”, Technical Report, Department of Computer Science and Engineering, University Visvesvaraya College of Engineering, Bangalore University, June 2005.
ANALYSIS OF MEDICAL IMAGE COMPRESSION USING STATISTICAL CODING METHODS R. PONALAGUSAMY Assistant Professor, Department of Mathematics, National Institute of Technology, Tiruchirappalli,Tamilnadu, India. Pin - 620015.
E-mail: [email protected](Corresponding Author) C. SARAVANAN Computer Programmer, Department of Computer Applications, National Institute of Technology, Tiruchirappalli, Tamilnadu, India. Pin - 620015. E-mail: [email protected] In this paper medical image compression using statistical coding techniques is discussed and a comparative study has been performed. Statistical coding algorithms choosen are Huffman Coding and Arithmetic Coding. To illustrate the effectiveness of the two statistical methods, several medical images have been considered. The medical images Magnetic Resonance Image (MRI), Computer Tomography (CT), Ultrasound, and X-ray are compressed and decompressed by adopting the above two techniques. It is generally noticed that the Arithmetic coding technique is better in speed. Huffman coding is better in compression rate when the image size is lesser than 1MB. Arithmetic coding is better both in speed and compression rate when the image size is greater than or equal to IMB.
1
Introduction
Medical images have been playing a pivotal diagnostic tool for predicting an accurate stage of a particular disease. Different types of medical images are used for diagnosing, namely MRI, CT, Ultrasound, X-ray etc. Further, these medical images are stored in a computer for future analysis. If required, these medical images are sent to other medical experts for opinion using email or internet. Compression techniques have been used to reduce the medical image size resulting disk space and network bandwidth utilization will be warranted. It is of interest to mention that compression is achieved by removing data redundancy [2]. Compression techniques are categorized into two types; Lossy and Lossless compression. Lossy compression technique produces an image, which looks like the source image but where some pixels data differ from the source image. Lossless compression technique produces an image with no difference from the source image. Lossy compression achieves more data compression than the lossless technique [5]. Lossy compression techniques are used in the entertainment field. In the medical images the pixels information are most important. So, lossless compression techniques are used in medical images.
372
373
2
Statistical Coding Techniques
Huffman coding and Arithmetic coding are well known statistical data compression techniques. Both the techniques create statistical table from the source data. The statistical table will have a list of unique symbols and probability value for the symbols. Using the statistical table, the coding techniques compress the medical images.
2.1 Huffman Coding Huffman coding creates a binary tree based on the statistical table and assigns the shortest possible variable length code for the symbols. The higher frequency symbols are assigned minimum length code and the lower frequency symbols are assigned far maximum length code. Source data symbols are replaced with the corresponding Huffman code to get compressed data. Table 1. Source reduction
From the data given in table- 1, the Huffman code generated and the corresponding Binary code are listed in the following table-2.
Table 2. Shortest variable length Huffman code
The formula for computing average length of the Huffman code is written as [ 11.
374
i=l
where, m is the number of symbols, pi is the probability value of the i” symbol and li is the length of the ithsymbol. Using equation (l), the average length of the Huffman code becomes
Lavg= 0.3 (2) +0.2 (2) + 0.2 (2) + 0.1 (3) + 0.1 (4) + 0.1 (4) = 2.5 bits/symbol. The Huffman code requires 2.5 bitdsymbol which is less as compared to binary code which requires 3 bits/symbol.
2.2 Arithmetic Coding Arithmetic coding generates open and close interval values from 0.0 to 1.0 based on the symbols and their related probability values [6].The open and close interval values for the above example are tabulated in the following table-3. Table 3. Open and close interval values
U
I
!
0.2 0.1 0.1 0.1
0.0 - 0.3 0.3 - 0.5 0.5 - 0.7 0.7 - 0.8 0.8 - 0.9 0.9 - 1.0
It starts encoding the source symbols by reading the symbols one by one and its interval values. Finally, we will get the encoded value of the symbols, which is a floating point number between 0.0 and 1.0 [4]. Let us consider the word “EAII!” for encoding. For each source code, encoding procedure is explained below. Initially After encoding source code
[0,1) E[0.3,0.5) A[0.3,0.36) 1[0.33,0.342) 1[0.336,0.3384) ![0.33816, 0.3384)
375
Any value between [0.38816, 0.33841 is the encoded value for the word “EAII!”. In the reverse, the encoded value will produce all the source codes “EAII!” by simply applying the decoding procedure. The following Fig. 1 gives the pictorial view of the arithmetic encoding process.
1
a
C
i
I
0.342
I
-
\
I
_ I _
I
t.
0.33
-
m
Figure 1. Different stages of encoding the source code “eaii!”
3
Results
Different sizes Magnetic Resonance Image (MRI), Computer Tomography (CT), Ultrasound, and X-ray images are considered. The images are of size 64 x 64 pixels (5,176 bytes), 128 x 128 pixels (17,464 bytes), 256 x 256 pixels (66,616 bytes) and 1024 x 1024 pixels (IMB). Table-4. lists out the source image name, original image size, number of unique symbols (gray levels) of the source image, compressed image size, time taken for compression and decompression using Huffman coding and Arithmetic coding. Table 4. Huffman Coding versus Arithmetic Coding
376
4
Discussion
It is pertinent to pinpoint out that the compression ratio of Arithmetic coding is higher than that of Huffman coding when the size of image is greater than or equal to 1 MB. Medical images are having more than or equal to 1024 x 1024 pixels and the corresponding file size will be more than or equal to 1 MB. Hence, it is concluded that the Arithmetic coding plays a key role in analyzing the medical images. References 1. Hankerson D, Harris GA, Johnson PD, Introduction to Information Theory and
Data Compression, CRC Press, (1998) 2. Gonzalez RC, Woods RE, Digital Image Processing, Pearson Education, India, (2002) 3. Huffman DA, A method for the construction of minimum-redundancy codes, Proc. Inst. Radio Eng. 40(9), September, (1952), pp. 1098-1101 4. Moffat A, Neal RM, Witten IH, Arithmetic Coding Revisted, ACM Transactions on Information Systems, 16(3): (1998) pp. 256-294 5. Salomon, Data Compression, 2"dEdition, Springer, (2001) 6. Witten IH, Neal RM, Cleary JG, Arithmetic Coding for Data Compression, Communications of the ACM, 30(6), (1987)
FUZZY BASED SELECTION OF PATHS IN A DECISION TREE WITH IMPRECISION AND PARTIAL SPECIFICATION RAMESH VASAPPANAVARA
D RAVI
Dept. of Computer Science & Engineering, GVP College of Engineering, Visakhapatnam INDIA ~Iusuut~utiuvu~u~~vah~~. corn E-mail: riime~~h
GAUTAMV
ANAND V I L K , Bangalore, INDIA E-mail: iitununu’(ivuhoo.c.om
BITS Pilani.
Estimation of costs, effort, and duration and other parameters for a large, complex, multi-layered, project management is a difficult process, requiring effective forecasting tools under imprecision and partial truths. This task becomes all the more important when a company is embarking on a new project with no history data base backing or it is a start up company. This paper presents a fuzzy based approach wherein selection of next node in a decision tree is not restricted to predefined node in a DSS tree as in a conventional Decision tree System, but affords selection of virtual decision node lying in between two nodes in a DSS tree. 1 Introduction
One of the most significant problems faced by the project managers of a complex project is accurate forecasts of efforts, durations and costs other project parameters. Unfortunately accurate forecasts and tighter project control stems from competent and mature organizations, Others owing to their lack of history databases and competencies, do not have accurate projections and run the risks of time and cost overruns[3]. The details on building and using expert system is available at [l]. In [2] Henrik Legind Larsen presents an approach to flexible information access systems using Soft Computing in that query criteria is softened by applying a common model for both numeric and non numeric attributes. In [5], Zhiping Fan, Jian Ma has worked on Multiple Attribute Decision Making (MADM) which refers to the problem of selecting among alternatives associated with multiple, usually conflicting, attributes. We refer the reader to [4] for detailed approaches to software project estimations. In this paper we present an Expert System for estimations that combines conventional methods and also soft computing techniques for handling imprecision and uncertainty. 2 Decision Tree and Traversal Mechanisms
The decision nodes in a decision tree can be labeled using attributes of their children. The label refers to the complete list of attributes of the child nodes that helps us in making a decision regarding which node to be included in the decision 377
378
path in the next step. In Figure 1 we have shown each node having two attributes ,00 & 11 ,which can be used to order the child nodes of a decision node from left to right. The decision tree contains 16 goal nodes and 15 decision nodes . We have also shown decision path comprising of nodes vo, V I , v4, v9 and VZO. The corresponding path identifierbid) is : 00110011. The path is shown as solid line. A matured organization will have access to history data base that would indicate governing function based on LOC and FP metrics for Effort Estimations [4] . Given X , we access the look up table (Table 2 & Fig 1) to ascertain corresponding a & b. For example pid of 001 10011 produces a=.9589 and b= 1.36, the constants required for determining effort for a particular company , for projects with no uncertainty. Sometimes it may not be possible for the user to select all the attributes that determine a child node , thus giving rise to virtual nodes(shown with dotted line)
1 1 Node
Bit String
00000000 00000011 00001 100
1 1 I A(n)
1 1 .482 .456 ,645
379
B(n)
n
Ji .98
p, I
I
"
Rules
Fig 2: Model for Fuzzy System Logic-Mapping from 2-input variable to 1-out-of-9 output states.
16
I
11111100 11111111
I 2.4157 I
3.091
I 2.5784 I 3.541
Table 1 : look up table for constants a(n) & b(n) 3.0 Fuzzy Threshold Mechanism and Methodology In our model , input member fhctions I;,o, I;,, are fed into Fuzzy System Logic controller(FSLC) (Fig 2). Set of fuzzy rules , specified at Table 2 to any one of nine outcomes indicated, Response is
00
1 THEN
I
Traverseto
Response is
I IF
I
I
IF
I Responseis I Responseis
p 10
Response is
Table 2: Set of fuzzy rules
THEN
Traverse to
I THEN
I Traverse to
-- I THEN 1 Traverse to
380
1 : Affirmative 0 : Negative Uncertain, No Response (or) : donotknow
-
Table 3:Responses at each stage
3.1 Encoding Decision Paths as Binary Strings The user may supply only part of attribute information, allowing more nodes to be included at each step. In particular, the user may either (a) select a specific attribute of a child, or (b) leave the attribute unspecified, or (c) omit the attribute for inclusion. For allowing such specifications, we must refine our representation of the child nodes using binary representation to include virtual nodes , those that are not in the initial decision tree , to be specified. The virtual nodes are those that share some attributes with one child node and the rest with other child nodes in the initial decision tree. (We exclude the case in which all the attributes are omitted or left unspecified.) In fact, for a decision node with a list of k decision attributes, we can allow as many as the 2k child nodes (including the virtual nodes and those in the initial tree). Thus, at each step, we take the nodes in the next step to be the union of all the strings, whose attributes match the specification by the user. However, we now have to construct decision attributes for each virtual node for subsequent steps. In Figure 1 we have shown the virtual nodes that are traversed by dotted line. . Figure 1 and Table 3 illustrate traversal based on responses and boundaries, and information stored at each stage/level. For example to reach the virtual node V' , the table indicates , the response required from the user is 01 and V' has lower bound of V1 and an upper bound of Vz.
3.2 Determination of variables in a Effort Estimation Function - An Example. The virtual nodes generated in the decision paths result in nodes at leafnode level that do not coincide with the goal nodes in the initial decision tree. For each such node at the leaf-node level, we create an additional Table 3: upper and lower bounds goal node, The lexicographic ordering on the extended binary string encoded paths render the goal nodes with a natural Nod
Respons
LB
UB
381
ordering that is compatible with the ordering they have as child nodes of their parents. It now remains to find a way to choose suitable values of the parameters for the additional goal nodes that have been introduced. For this purpose, we suggest that the parameters be interpolated such that between any two consecutive goal nodes in the initial decision tree, the interpolation curve is the monotonic. That is, for two consecutive real goal nodes, nl and n2, if a(nJ and a(n2) are the values of the parameter a then, for all virtual nodes n and n ’ with nl = n = n ’ =, n2, a(n,) = a(n) = a(n ’) = a(n2). Similarly, for the other parameter, b. This method allows us to define the values of the parameters for all goal nodes including those generated newly by allowing virtual nodes. Let the decision path under uncertainty and imprecision be represented(Figure 1) by dotted path vo, v’, v4, vz and v3, The corresponding path identifierbid) is : 01111001. From Table 3, it can be detected that virtual node (V3) boundaries are Vz0and Vzlwhich are goal nodes with numbers 6 and 7. The values of a(v3) and b(v3) can be interpolated using suitable mapping function. 4.0 Conclusions
Complex projects need firm and well defined plans and to prevent cost and time over runs need effective monitoring and control. This aspect calls for a reliable and accurate forecasts for project estimations like Effort , duration , Complexity , and costs etc. Thus we need an Expert system that provides accurate forecasts under imprecision and partial truths. The prototype presented is a fuzzy based expert system for forecasting Effort Estimation under imprecision . References 1. httu://www.cee.hw.ac.uk/-alison/ai3notes/Expert System 2. Henrik Legind Larsen - An Approach to Flexible Information Access Systems using Soft Computing - 32”d Hawaii International Conference of System Sciences, 1999. 3. Magnr Jorgesen ,Molokken Ostvold “Reasons for Software Effort Estimation Error: Impact of Respondent Role, Information Collection Approach, and Data Analysis Method “ ,IEEE Transactions on Software EngineeringVol. 30, No. 12; December2004, pp. 993-1007 4. Pankaj Jalote ,” An Integrated Approach to Soft ware Engineering” 2 nd Edition , Narosa Publishing House,2004,Chapter-4 (Planning a Software Project),Pg no. 166-170. ISBN - 81-7319-271-5. 5 . Zhiping Fan, Jian Ma - An Approach to Multiple Attribute Decision Making Based on Incomplete Information on Alternatives - 32”dHawaii International Conference of System Sciences, 1999.
A GRAPH ALGORITHM FOR FINDING THE MINIMUM TEST SET OF A BDD-BASED CIRCUIT GOPAL PAUL’, BHARGAB B. BHATTACHARYA’, AJIT PAL’, AND ANNAPURNA DAS’
’ Dept. of Electronics, CEG, Anna University, Chennai - 600 025
’Dept. of Comp. Sc. & Engg., Indian Institute of Technology, Kharagpur - 721 302 gpau/ca/@yahoo.wrn,bhargab@isica/.ac.in,apa/@cse.iitkgp.emetin,anu279@hotrnai/.corn
The Binary Decision Diagram (BDD) is a powerful vehicle for large-scale functional specification and circuit design. In this paper, we consider the open problem of generating in polynomial time, the exact minimum set (T) of test vectors for detecting all single stuck-at faults in such a BDD-based circuit. We show that, for a single-output circuit, 1 TI = 2k, where k is the minimum number of paths that cover all the edges of the BDD graph. The value of k, and consequently the test set T, can be readily determined by running the max-flow algorithm on a network derived from the BDD, followed by a simple graph traversal. This procedure not only generates the optimal test set in polynomial time, but also obviates the need of employing an ATPG (Automatic Test Pattern Generator) and a fault simulator.
1 Introduction Binary Decision Diagrams (BDDs) are widely used in electrical and computer engineering, namely for VLSI circuit specification, logic synthesis, design verification, testing [l,2, 51. Boolean functions described as BDDs are suitable for direct technology mapping to multiplexor (h4UX)-based circuits and FPGAs [3].It is shown that such a MUX-based circuit can be made fully testable for all single stuck-at faults and path-delay faults by using only one additional input and an inverter [4].Further, the test generation algorithm, which is NP-hard [14] for a general circuit, becomes very simple for this special class of circuits. A simple graph algorithm can be employed to generate the test vectors for detecting all stuckat faults in polynomial time [4].However, the problem of generating in polynomial time, a minimum-size test set for a BDD-based circuit, remains still open. In this paper, we consider the problem of generating the exact minimum set (T) of test vectors for testing all single stuck-at faults in a BDD-based circuit. We show that, for a single-output circuit, TI = 2k, where k is the minimum number of paths that cover all the edges of the BDD graph. The value of k, and consequently the test set T, can be readily determined by running the max-flow min-cut algorithm [6,101 on a flow network derived from the BDD, followed by a simple graph traversal. This procedure not only generates the optimal test set in polynomial time, but also obviates the need of employing an ATPG and a fault simulator. Experiments on benchmark circuits demonstrate that the proposed technique provides significant reduction of the number of test patterns compared to those generated by an ATPG tool. For multi-output circuits, the procedure requires slight enhancement.
I
382
383
2 Preliminaries A Boolean function F(xl,x2, ..., x,,) can be represented by a BDD, which is a directed acyclic graph (DAG) with one root node and two leaf nodes labeled as 0 and 1 [I, 2, 51. Except the two leaf nodes, every other node denotes a variable xi, and has exactly two outgoing (decision) edges labeled 0 and 1, which represent the corresponding Shannon decomposition at that node for x, = 0 and 1 respectively. Each directed path from the root to the leaf node 1 (0) (called a complete path), represents a product term of F( where the polarity of a variable is determined by the label of its decision edge along the path. An example of a BDD with the variable ordering (A, B, C, D, E } is shown in Fig. 1, where the solid (dashed) arcs represent the I (0) edges. The nodes are labeled as 1, 2, ..., 13; the root node is labeled 1, and the terminal nodes 12 and 13 denote F = 1 and 0 respectively. A BDD is called ordered (OBDD) if each variable appears at most once on each complete path, and if the variables appear in the same order in all other complete paths [2]. An OBDD is called reduced (ROBDD) if it is devoid of any isomorphic subgraph or any redundant node. The BDDs used here refer to ROBDDs only.
0,
3 BDD-based Circuit Implementation A BDD can be directly mapped to a combinational circuit implemented with 2-input MUX blocks. Each non-terminal node is replaced by a MUX block, and its control input is connected to the variable associated with that node. The 0 (1) arc emanating from this node is connected to the 0 (1) input of the MUX. The MUX-inputs corresponding to the arcs hitting the terminal node 0 (1) are connected to constant logic value 0 (1). The output of each Mux (representing a node v of the BDD) is connected to the inputs of the MUX-blocks, whose representative nodes are the predecessors of the node v in the BDD. Finally, the output of the MUX that replaces the root node, implements the desired function F. Example 1: A MUX implementation of the BDD of Fig. 1 is shown in Fig. 2. By adding one additional input t and an inverter, a =-based circuit mapped from a ROBDD can be made fully testable for all single stuck-at faults [4].The input line to be fed by constant logic 1 (0) should be tied to the line t ( 4 Determining the Minimum-Size Test Set In a BDD-based circuit, polynomial-time operations may be employed for test generation [2, 41, although they may not guarantee minimality of the test set. Here we show that the minimum test set can be directly found fiist by finding a maximum set of independent edges known as “strong-cut” in the BDD, followed by certain graph traversal operations.
t>.
4.1 Fault model
We consider the single stuck-at fault model on all lines in the circuit, i.e., the inputs/output/control line of each MUX, and on the line t and all its fanout branches (Fig. 2). To consider faults in the interior of the MUX-blocks (Fig. 3a), we assume each of them be implemented with AND-OR-NOT gates, where the possible fault
384
sites are shown (Fig. 3b). The stuck-at faults on line 5, 6, 7 can be collapsed to those on 1, 2, 3, 4.The fault line 3 stuck-at-1 is tested by the only test { D x y } = 101, which also tests the stem fault line 8 stuck-at-0. Similarly, the test of line 1 stuck-at1, will test line 8 stuck-at-1. By applying fault equivalence and dominance [9], the fault set can be collapsed to a smaller set, the sites of which are shown in Fig. 3c.
9
6
F
Fig. 1: An example of BDD
Fig. 2: A fully testable realization using a control input t
The complete set of all single stuck-at faults in the entire circuit after collapsing, is now classified into two groups: Type-I: stuck-at-0/1 faults on all inputs to the MUX-blocks, and on the line t; Type 2: stuck-at-1 faults on all the fanout branches of the MUX-control lines (like lines 1, 3 as in Fig. 3c). 4.2 Complete paths and tests The test of a type-1 fault is a vector that sensitizes a path from t to the function output F through that fault site. For example, in Fig. 2, to test the fault on line u stuck-at-0, one may apply the vector { t E D C B A } = 1 - 0 1 1 1. For the fault u stuck-at 1, a test can be found just by flipping the value oft, i.e., 0 - 0 1 1 1. Thus, traversing a complete path through the BDD covering the edge u, and noting the required values of the control lines will suffice; the two tests (for u stuck-at-0 or 1) can then be determined by fixing t = 1 or 0. To test all type-1 faults, therefore, we need to consider faults on all the edges of the BDD. Just two vectors determined by a complete path as above can test further, all type-1 faults appearing on this path. A complete path P in a BDD is said to cover an edge e if P passes through e. Thus, we have the following theorem:
385
Theorem 1. The minimum number of tests that detect all type-1 faults in a singleoutput BDD-based circuit is 2k, where k is the minimum number of complete paths that cover all the edges of the BDD. Y
X
X
V
x v
D Z
o stuck-at-0
QD represents stuck-at-0 or stuck-at-1 fault
(a)
(b)
0
Z
stuck-at-1
(c)
I Z
Fig. 3: Stuck-at faults in a BDD-based circuit In order to detect a type-2 fault on the control line of a MUX, a complete path P should be chosen through this path with a special property. To demonstrate this, consider a fault on the control line D in the MUX labeled 7 in Fig. 2. We choose a complete path 1-2-4-7-10, which passes through the MUX node 7. To detect the type-1 fault line q stuck-at-1 requires the test { t E D C B A ) = 1 0 1 1 1 1 or 0 1 1 1 1 1. Therefore, the test set for type-1 fault must include any one from the above pair. However, only the first vector can test the type-2 fault (like line 3 stuck-at-1 as in Fig. 3c) on the 0-branch of the control line D,not the second one. In other words, the variable E must be set to 0, so that the fault-free complete path and the faulty path (in the presence of the above type-2 fault) arrive at the two complementary leaf nodes of the BDD. This vector will also detect the stuck-at-0 fault on the control line D. If the BDD is reduced, such paths, and in turn test vectors, will always exist. We here conjecture that the k paths for detecting type-1 faults can be appropriately chosen to satisfy the above complementary property for each of the MUX-blocks. 4.3 Determining k by jlow algorithm We now consider the problem of determining k, the minimum number of complete paths that cover all the arcs of the BDD. This is equivalent to finding the maximum independent set of nodes in a comparability graph, a solution of which can be found in polynomial time by running a flow-based algorithm [lo]. The max-flow problem can be solved by several well-known algorithm [6]. The algorithm by Goldberg-Tarjan [ 111 computes the max-flow in time O(nm logn2/m), where n (m)is the number of nodes (arcs) in the flow graph. Since in a BDD, the outdegree of each node is at most 2, the complexity will be reduced to O(n2 logn), where n is the total number of nodes in the BDD. 4.4 Test generation by graph traversal Once the strong-cut is known, a simple linear traversal algorithm can be employed to determine k complete paths, which cover all the arcs in the BDD. In such a cover,
386
each arc of the cut will appear exactly once on only one path. For each of these paths, 2 tests can be found directly as discussed in Section 4.2. These 2k tests will detect all type-1 faults. In order to cover all type-2 faults by the same set of 2k tests, each selected path should also satisfy the complementary property. To select such paths, O(n2) additional search time may be required. Hence, the overall complexity of generating the minimum test set including flow analysis becomes O(n2logn). 5 Experimental Results We have tested our algorithm on several LGSynth’91 benchmark circuits [ 121, the ROBDDs of which are generated using the CUDD package [8].To solve the maxflow problem we have used the RELAX4 routine developed by Bertsekas and Tseng [7]. Our traversal algorithm then generates the 2k test vectors for each of these benchmark examples. Results are compared with those generated by the SIS1.2 ATPG tool of Berkeley [13]. For larger circuits the result shows around 45% reduction in the number of test patterns, while overall average reduction is above 30%. For multi-output functions, the procedure requires slight modification. 6 Conclusion A new algorithm has been described for generating the minimum-size test set for detecting all single stuck-at faults in a BDD-based circuit. The method does not need an ATPG. Further work will be reported later for handling path-delay faults. References [ l ] Akers, S. B., Binary decision diagrams, IEEE Trans. Comput. C-27 (1978) pp. 509-516. [2] Bryant, R. E., Graph-based algorithms for Boolean function manipulation, IEEE Trans. Comput. C-35 (1986) pp. 677-691. [3] Gunther, W. and Drechsler, R., ACTion: Combining logic synthesis and technology mapping for MUX-based FPGAs, J. Systems Architecture 46( 14) (2000) pp. 1321-1334. [4] Drechsler, R., Shi, J. and Fey, G., Synthesis of fully testable circuits from BDDs, IEEE Trans. CAD 23(3) (2004) pp. 440-441. [5] Ebendt, R., Fey, G . and Drechsler, R., Advanced BDD Optimization (2005) Springer. [6] Hochbaum, D., Graph Algorithms and Nehvork Flows (2003) IEOR 266 Notes UCB. [7] Bertsekas, D. P. and Tseng, P., RELAX-IV: A Faster Version ofthe RELAX Codefor Solving Minimum Cost Flow Problems, http://web.mit.edu/dimitribJwwwlRELAX4.tt. [8] Somenzi, F., CUDD: CU Decision Diagram Package, http://bessie.colorado.edu/-fabio/. [9] Abramovici, M., Breuer, M. A. and Friedman, A. D., Digital System Testing and Testable Design (1990) Computer Science Press, New York. [ 101 Kagaris, D. and Tragoudas, S., Maximum independent sets on transitive graphs and their applications in testing and CAD, Proc. ICCAD (1997) pp. 736-740. [ 111 Goldberg, A. V. and Tarjan, R. E., A new approach to the maximum-flow problem, Journal of the ACM 35(4) (1988) pp. 921-940. [12] S. Yang, Logic Synthesis and Optimization Benchmarks User Guide (1991) Tech. Rep., Microelectron. Center of North Carolina. (131 Sentovich, E., et al., SZS: A System for Sequential Circuit Synthesis (1992) Tech. Rep., Univ. Calif., Berkeley, CA. [ 141 Garey, M. R. and Johnson, D. S., Computers and Intractability: A Guide to the Theory of NP-completeness (1979) W. H. Freeman and Co., USA.
PARTICLE SWARM OPTIMIZATION BASED PI CONTROLLER TUNING FOR FERMENTATION PROCESS K.VALARMATH1 AND D.DEVARAJ A. K. College of Engineering, Anand Nagar, Kri‘shnankoil, Tamilnadu, India [email protected] T.K.RADHAKRISHNAN National Institute of Technology, Trichirappalli, Tamilnadu, India Abstract. The activities related to Fermentation process are uncertain and nonlinear in nature. It poses many challenging characteristics like multivariable interactions, unmeasured state variables and time varying parameters. Proportional Integral Derivative control is a control strategy that has been successfully used over many years for the fermentation process. It has been noticed that PID controllers are often poorly tuned. The Ziegler Nichols tuning method is designed to give g o d response but not satisfactory for many systems, because the systems are very sensitive to parameter variations. Additionally, ZN methods are not easy to apply in their original form on working plants. To overcome this problem Particle Swarm Optimization Technique has been proposed to tune the optimal values of PI constants. The performance of these controllers is compared on the settling time and Mean Square Error for various set point and trajectoty response of the fermentation process with traditional tuning method.
1 Introduction Recently Evolutionary computation techniques have been proposed to tune the PID controller by taking into account all non-linearities and additional process characteristics. Oliveira et a1 [ 13 used a standard GA to determine initial estimates for a variety of classes of linear time-invariant (LTI) system Porter and Jones [2] proposed a GA-based technique as a digital PID controller. Wang and Kwok [3] tailored a GA using inversion and pre selection of ‘micro-operators’ to PID controller tuning. Despite the simple concepts involved, GA make leads premature convergence and also it takes long time to reach the solution. At this point appears the idea of using PSO [4]to obtain a PID tuning that meets all the requirements of minimization of performance index by the designer. PSO can be easily implemented and it is computationally inexpensive, since its memory and CPU speed requirements are low [ 5 ] . It uses only primitive mathematical operators. In this paper, we propose adaptive tuning of PI controller using PSO for the control of continuous fermenter. It needs regulation of either the cell, substrate or product concentration. Here the feed substrate is employed as a manipulated input and the product concentration as a controlled output. The Integral square error is used as the cost function. 387
388
2. Mathematical Model and PSO Implementation for PI Tuning The mathematical model of fermentation process consists of different models like structured and unstructured models. The differential equations governing the operation of the fermentation process [6] is given by X =-DX+pX
(1)
1
S=D(Sf -S)--pX Y XIS
(2)
P = -DP+ (ap +p)X
(3)
S
a
(4)
Kmtst-
Ki
The process control perspective the cell mass yield Yws and maximum specific growth rate p,,, is unmeasured disturbances because they may exhibit time varying behavior. Here feed substrate is employed as manipulated input and productivity of the fermenter is regulated by the product concentration. In this paper, the problem of parameter tuning is formulated as an optimization problem and PSO is applied to identify the optimal parameters. The objective of the optimization problem is to minimize the oscillations and achieve a quick settling. While applying the PSO for any problem, the issues to be addressed are a) Solution representation and b) Formation of evaluation function
3. Simulation Results and Discussion The closed loop PI controller cascaded with the process is tuned for the optimal values of kp and ki using PSO algorithm. Experiments were conducted with +lo% variations in growth rate and cell mass yield. The design parameter is specified in Table.l.The optimal PSO settings are Number of generations -10, Population size -10, w - 0.4 to 0.9 & cI, c2. 2 Corresponding settling time, integral square error, controller parameters and computing time are computed for PI controller using IMC, GA and PSO. From the response of Fig. 1 and Fig. 2 for -10% disturbances in max growth rate it is observed that conventional controller has not settled and exponentially deviates from the settling time, which is minimum in PSO tuned method. Fig. 3 shows the response of set point changes in product concentration.
389 Table 1. Design parameters for fermentation process Process variables Variables Nominal value Process Input D-Dilution rate (manipulated variable) 0.15h-’ variables +Feed substrate concentration 20 g/I X-Cell concentration 7.038 g/l 2.404 g/l Process S-Substrate concentration State variables P-Product concentration 24.81 gil p - Specific growth rate 0.4g/g YX/S.Cell-mass yield Process state parameters p, .max. specific growth rate 0.48 h-’ P,. Product Saturation Constant 50 gn K, - Substrate Saturation Constant 1.2 g/1 K, - Substrate Inhibition Constant 22 f l a - Kinetic Parameters 2.2 g / g 0.2h-’ p - Kinetic Parameters
Setpoint Changes in product concentration
-pso-pi
-@-pi
-imp
21.4 24.2
21
23 8 8235 s j 2 233 2I
: -
-
222;
22.6 $224
e
22.2 22
21.6 21.6 21.4 21 2
I
1 11 21 31 41 51 61 71 81 01
line [see]
I
Fig. 1 & 2. Comparison of product concentration and Feed substrate conc. for -10% disturbances in Max.growh rate
21
Fig. 3. Set point changes in Product concentration
References [ 11. Oliveira, P., Sequeira, J., and Sentieiro, J., “Selection of controller parameters using genetic algorithms”, Engineering Systems with Intelligence. Concepts, Tools, and Applications, Kluwer Academic Publishers, Dordrecht, Netherlands, 1991, pp.43 1-438. [ 2 ] . Porter, B., and Jones, A.H., “Genetic tuning of digital PID controllers”, Electronics Letters, Vol. 28(9), 1992, pp. 843-844. [3]. Wang, P., & Kwok, D. P. (1992),“Auto tuning of classical PID controllers using an advanced genetic algorithm”. IEEE Proceedings, 1224. [4].Kennedy, J., and Eberhart, R. C. (1995). “Particle Swarm Optimization” . Proc. IEEE International conference on Neural Networks (Perth, Australia), IEEE Service center, Piscataway, NJ, pp. IV: 1942 - 1948. [5]. Parsopoulos K.E.,Vrahatis M.N., “Recent approaches to global optimization problems through Particle Swarm Optimization”, Natural Computing 1: 235-306, 2002. [6]. Atsushi Aoyama, Venkat venkatasubramanian , “Internal model control frame work using neural networks for the modeling and control of a bioreactor”, Engng Application of Artificial Intelligence, vo1.8.,N0.6.pp.689-701,1995
SOFTWARE RELIABILITY GROWTH MODELING FOR EXPONENTIATED WEIBULL FUNCTION WITH ACTUAL SOFTWARE FAILURES DATA M. U. BOKHAFU' AND N. AHMAD' 'Department of Computer Science, Aligarh Muslim University,Aligarh, India Email: muhokhuri-'01)4(ilivahoo.c.o. in, [email protected], 'University Department of Statistics and Computer ApplicationsiT. M Bhagalpur University,Bhagalpur-812007, India, Email: nesur hjg)(hjVuhoo.co.in A number of testing-effort functions for modeling software reliability growth based on non-homogeneous Poisson process (NHPP) have been proposed in the past decade. Although these models are quite helpful for software developers and have been widely applied in the industries or research centers, we still need to put more testing-effort function into software reliability growth model for accuracy on estimate of the parameters. In this paper, we will consider the case where the time dependent behaviors of testing-effort expenditures are described by Exponentiated-Weibull ( E V curves. Software Reliability Growth Models (SRGM) based on the NHPP are developed which incorporates the EW testing-effort expenditure during the software- testing phase. It is assume that the error detection rate to the amount of testing-effort spent during the testing phase is proportional to the current error content. For the models, the software reliability measures such as the number of remaining faults, fault detection rate and the estimation methods of the model parameters by Least Square and Maximum Likelihood are investigated through three numerical experiments on real data from various software projects. The evaluation results are analyzed and compared with other existing models to show that the proposed SRGM with EW testing-effort has a fairly better faults prediction capability and it depicts the real-life situation more faithfully. This model can be applied to a wide range of software system. In addition, the optimal release policy for this model, based on reliability criterion is discussed.
1.
Introduction
In recent years, software has permeated industrial equipments and consumer products. Generally, a lot of development resources are consumed by software development projects. During the software-testing phase, software reliability is highly related to the amount of development resources spent on detecting and correcting latent software errors, i.e. the amount of test effort expenditures. Therefore, software reliability is the probability that the given software functions correctly under a given environment, during the specified period of time. It is a key factor in software quality. Yamada et al.[1,2] proposed software reliability growth models incorporating the effect of test-effort expenditures on the software reliability growth in order to develop a realistic model for software reliability evaluation. They described the time-dependent behaviour of test-effort expenditures by using Rayleigh, Exponential, and Weibull curves respectively. 390
391
In this paper, we describe the time-dependent behavior of test-effort expenditures by the EW model [3], since its curve is a flexible with a wide variety of possible expenditure patterns in real software projects. Currently, there are few studies for the use of the EW failure model in reliability and survival analysis [4], so this paper is to promote its use in software reliability analyses. A software reliability growth model based on NHPP is developed [ 5 ] and its parameters are estimated by Least Square Estimation and Maximum Likelihood Estimation methods. Experiments have also been performed based on three real software data and the results show that the proposed SRGM with EW testingeffort function is wide and effective models for software and is more realistic. Comparisons of predictive capability between various models are presented and the results show that the SRGM with EW testing-effort function can estimate the number of initial faults better than the other models. 2.
EW Testing Effort Function
We offer an EW curve as the Test-Effort Function (TEF) due to its flexibility in describing the test-effort expenditure patterns. The TEF, representing cumulative test resource expenditure at time [0, t] given by an EW curve is
where a, j3, m and 8 are constant parameters, a is the total amount of test-effort expenditures, j3 is the scale parameter, and m and 8 are shape parameters. The current testing effort expenditure at testing time t is
In particular, when 8 = 1 we have Weibull testing -effort function, for 8 = m = 1 it become Exponential testing effort function, for 8 = 1, m = 2, it represents Rayleigh testing effort function. 3. Software Reliability Growth Model Following the usual assumption in the area of SRGM [ 1,2], we assume that the no. of detected error to the current test effort is proportional to the current error content . let m(t) represent the expected mean number of errors detected by testing calendar time t which is assumed to be a bounded non-decreasing function o f t with m (0) = 0. Then, using the EW test-effort function in (l), we have :
where a is the initial error content in the system, and r is the error detection rate per error. Solving the differential Eq. (3), we have
392
The conditional Software reliability function (Software Release-Time Based on Reliability Criteria) after the last failure occurs at time t is R = ~ ( ~= e-[m(r+x)-m(Ol 1 ~ )
4.
and In R = -[m(t
+ x) - m(t)]
(5)
Fitting The Model to Real Software Data and Analysis
First Data Set: The first set of real data is from the study by Ohba[6]. In order to estimate the parameters a, p, m and 8 of the EW distributed function, we fit the actual testing-effort data into Eqs. (1) and (2) and solve it by using the method of least squares. These estimated parameters are: n
A
6 =112.9117, p=0.000031, %
=2.8114,and 8 =0.3968 Fig.( 1) shows the fitting of the estimated testing-effort. Using the estimated parameters a, p, m and 0 the other parameters a, r in (4) can be solved by a = 565.643, r = .01965 MLE method for these failure data: For these estimates, the optimality was checked numerically. From Fig.( 1) and the comparison criteria in Table 1 shows that our SRGM is better fit than the other models for PL/l application program. In addition, substituting the llm
estimated parameters p , m and 8 in equation of t,, the testing effort function reaches the maximum at time t = 14.6596 weeks which corresponds to w(t) = 2.679643 CPU hours and W(t) = 36.26993 CPU hours. Besides, the expected number of errors removed up to this time t,, is 565.1887 Suppose this software system is desired that this testing would be continued till the operational reliability is equal to 0.85 (at At = 0.1). From Eqs. (5) and (4) we get t = 46.0162 weeks. If the desired reliability is 0.95, then t = 57.4856 weeks. If the desired reliability is 0.99, then t= 69.2183 weeks.
Second Data Set: The second set of real data is the pattern of discovery of errors by Tohma et al.[7]. Following the same procedure as the first data set, the estimated values of parameters are: n
A
2 =95.3087, p=1.53E-07, % =5.41, 8 = 0.2974 a = 94.7817 and r = 0.0253 From Fig.(2) and Table 2, we conclude that our proposed model gets reasonable prediction in estimating the number of software faults and fits this data set better other than. The testing effort fimction reaches the maximum at time t = 16.59069771 debug days which corresponds to w(t) = 5.41064598 CPU hours and W(t) = 70.78228488 CPU hours. Besides, the number of errors
393
removed up to this time t,, is 78.969. We get testing time t = 20.698 days, if reliability is equal to 0.95. If the desired reliability is 0.99, then t=23.5131 days
Third Data Set: The third set of real data in this paper is the System T1 data of the Rome Air Development Center (RADC) projects and cited from Musa et al.[8] . Following the same procedure as the first data set, the estimated values of parameters of the EW testing-effort function are: A
A
& =26.83, P=6.165E-09, 2 =6.5508, 6 =0.95, a=133.8737 and r = 0.15465 From Fig. (3), and Table 3 shows that our SRGM is better fit than the other models for debugging data. and the testing effort function reaches the maximum at time t = 17.8456 debug days which corresponds to w(t) = 3.52347 CPU hours and W(t) = 17.1039 CPU hours. Besides, the number of errors removed up to this time t,, is 124.3613. If the desired reliability is 0.92 (0.98), then t = 20.4325 (22.0548) weeks.
Conclusion In this paper, we have discussed a SRGM based on NHPP, which incorporates EW testing-effect expenditure. We conclude that the EW testing-effort function can be used to represent a software reliability growth process for a wide range of testing effort curve and give a reasonable predictive capability for the real failure data. We also observe that the EW testing-effort curve gives better estimates than Exponential, Rayleigh, and Weibull type consumption curves.
References 1. 2.
3. 4. 5. 6. 7.
8.
Yamada S.,Ohtera H., and Norihisa H., Software Reliability Growth Model With Testing -Effort, IEEE Trans. on Reliability, R-35( 1986), 19-23. Yamada S., Hishitani J. and Osaki S., Software Reliability Growth Model With Weibull Testing-Effort: A Model and ApplicationJEEE Tramon Reliability,R42( 1993),100-105. Mudholkar G.S., and Srivastava D..K., Exponentiated Weibull Family for Analyzing Bathtub Failure-Real Data, IEEE Trans. on Reliability, 42 (1993), 299-302. Nassar M.M., and Eissa F.H., Bayesian Estimation for The Exponentiated Weibull Model, Communication in Statistics-Theory and Methods, 33(2004), 2343-2362. Ascher H., and Feingold H., Repairable Systems Reliability: Modeling, Inference, Misconceptions and Their Causes, (Marcel Dekkes, New York. 1984). Ohba M., Software Reliability Analysis Model IBM J. Res. Develop., 28(4)(1984) , 428-443. Tohma Y., Jacoby R., Murata Y., and Yamamoto M., Hyper-Geometric Distribution Model to Estimate the Number of Residual Software Fault, Proceeding of COMPSAC-89, (Orlando, 1989), 610-617. Musa J.D., Iannino A. and Okumoto K., Software Reliability: Measurement, Prediction, Application, (McGraw-Hill.(1987)).
Table 1 - Comparison results of the 1st data
Observedestimated current TEF vs Time Figure 1
Table 2 - Comparison results of the 2nd data
Observedestimated current TEF vs Time Figure 2
395
Model
a
R
MSE
Eq.(4) ofEW Model G-0Model Exponential Model Rayleigh Function Delayed sshaped Model
133.87
0.154
78.551
142.32 137.2
0.124 0.156
2438.3 3019.7
866.94
0.00962
237.196
0.0963446
89.240 9 245.24 6
2
4
6
8
10
12
14
16
I8
Time (wek)
Observdestimated current TEF vs Time Figure 3
This page intentionally left blank
Speech Recognition
This page intentionally left blank
RECOGNITION OF FACIAL PATTERN BY MODIFIED KOHONEN’S SELF ORGANIZING MAP (MKSOM) AND ANALYZE THE PERFORMANCE S. M. KAMRUL HASAN Department of Computer Science & Engineering, Rajshahi University of Engineering & Technology. Rajshahi-6204, Bangladesh E-mail: khraieehG&ahoo.ca [‘I MD. NAZRUL ISLAM MONDAL[’], NAFISA TARANNUVI[~],MD. TANVIR AHMED CHOWDHURY 13] [‘*21 Department
of Computer Science C? Engineering, Rajshahi University of Engineering & Technology, Rajshahi-6204, Bangladesh Department of Computer Science, Premiere University, Chittagong, Bangladesh E-mail: ninihd(dvahoo.com, mitunhitr~,vahoo.com,tunv ir@,vahoo.com
The candidate system highlights the modification of ordinary face recognition strategy. Real valued face pattern remove the undesirable changes of input due to the shifting and intensity variation. The two stage system developed by Modified KSOM technique allows identifying the face patterns at various poses. Modification developed in the determination of neighborhood size and consideration of existing patterns. Modified technique allows a high performance learning strategy and optimum stability of the network. Input of the system is a function of gray level. Former stage is concerned with the conversion of visual pattern into a raw format to process with the MKSOM network. The processed pattern is the input vector for neural network. The system also deals with performance measurement of the MKSOM with some other existing pattern recognition techniques. Modification made with the pattern of input which avoids the traditional binary input. This approach extremely minimize the learning time comparing with the existing pattern recognition system. By avoiding propagation, it is possible to minimize the computation and weight adoption. MKSOM maintains the individuality of patterns with its weight set.
Major Area: Mainly the paper focuses on the practical security system. But the research is based on the practical implementation of an intelligent system which is developed to identify and recognize a human face i.e. a person from some learned data. Concept of the work comes from the structure of brain which is called Neural Network which is the major area of the research. Keywords: MKSOM, Winner Node, Masking, Adopted Weight, Backpropagation. 399
400
1
INTRODUCTION
The human ability to recognize faces is quite remarkable and to infer intelligence or character from facial appearance is suspect. The face is the focus of first attention to recognize a person. We can recognize thousands of faces learned throughout our lifetime and can recognize familiar faces at a glance even after years of separation. But this skill is not useful despite if there is a change in the faces due to viewing conditions, expression, aging, and distractions such as glasses, beards or changes in hairstyle. Face recognition has become an important issue in many applications such as security systems, credit card verification and criminal identification. Although it is clear that People are good at face recognition, it is not at all obvious how faces are encoded or decoded by the human brain. Researchers are working for a long time to develop a computer system, which can act as a human being. The system will perform visual sensing like identifying objects such as home, office, motor car, faces of people, Handwritten or printed words and aural sensing like voices recognition. But the computers can perform repetitive actions like calculating the sum of few hundred digit numbers and poorer at the task of processing the vast quantities of different types of data a vision system requires. Instead of these difficulties the researchers are still working for systems that are artificially intelligent in any general sense that would recognize. Human face recognition by computer system has been studied for more than twenty years. Unfortunately developing a computational model of face recognition is quite difficult, because faces are complex, multi-dimensional visual stimuli. Therefore, face recognition is a very high-level computer vision task, in which many early vision techniques can be involved. So, we develop an automatic system to find neutral faces in images for face recognition. A neutral face is a relaxed face without contraction of facial muscles and facial movements. It is the states of a person’s face most of the time, i.e. it is the facial appearance without any expression. 2
SYSTEM OUTLINE
In face recognition system, it needs to learn the machine about the facial image of the human being, which the machine can recognize further. Any facial image is learnt in some pre-defined ways and stored into a knowledge base. While identifying the face, previous stored values are used. Thus the system contains two phases 1.
2.
Learning Phase Recognizing Phase
401
2.1 Learning Process The first task is to learn the machine about the feature vectors of the input pattern. We followed six basic steps to learn the machine about any pattern: 1. 2. 3. 4. 5. 6.
Acquiring an image Pre - Processing Filtering the image Feature extraction Training Save the pattern to knowledge base
The input images, which have been taken, may be 24-bit colored or 8-bit grayscale. Actually, maximum types of pattern recognition system need not to consider the color information of the image. Moreover, it is complex to work with a 3 dimensional matrix. So, for the face recognition system, it is better to use a grayscale image than color image. The system considers both color and grayscale image, but convert the color image into a grayscale. Input images may contain lots of noises due improper acquisition i.e. scanning or getting picture through digital camera. So dusts and scratches may appear inside the acquired image. These types of dusts alter the structure of the pattern and make disturbance throughout the process, especially during face detection. So it is essential to remove the uncertain noises by image filtering. It is better to use Lowpass Median Filter for noise removing which is used in the system. Original images do not contains only the human face; it may contain a background and blank portions by the four sides. So it is essential to extract the exact face from the image and where there is a face detection; there needs to detect the edge of the image. By the edge detection the background is dark and only the edge of the facial image exists. Edge detection is very usehl for detecting the actual face properly from the input image. Several methods may be used for edge detection purpose. As for example - prewitt, sobel, roberts, laplacian, canny, zero crossed etc. Among these filtering techniques, Prewitt filter is used for our research because it is more appropriate than other filtering techniques. After detecting the edge of the face of the image it is very easy to extract the actual face of the image. 2.2 Feature Detection Algorithm
Steps for determining the boundary of the face are as follows SET BackGr := Img[O][O]; SET Thresh := (MIN(Img[i]Lj])+MAX(Img[i]Lj]))/2; where i=0,1,2, ...... ,M and j=0,1,2 ,.....,N 3. SET Counter K = O , L:=O, X:=M/2; 4. REPEAT Step 4 to 5 until Threshl(BackGr-Img[K][N/2])and KIM 5. SET K:=K+l; 1. 2.
402
6. 7. 8. 9. 10. 11. 12. 13. 14.
SET TopBound=K; REPEAT Step 7 to 8 until Threshl(BackGr-Img[M/2][L])and LIN SET L:=L+l; SET LeftBound=L; REPEAT Step 10 to 11 until Thresh<(BackGr-Img[M2][X]) and L a SET X:=X-1; SET RightBound=X; SET BotttomBound:=TopBound+ROLJND((RightBound-LeftBound)* 1.40); SET Height:=BottomBound-TopBoundand Width:=RightBound-LeftBound;
3
GRAPHICAL VIEW OF FACE DETECTION
1
Figure 1.1
1
1
Figure 1.3
Figure 1.2
I
I
I
,loo%
I Figure 1.4
Figure 1.5
Figure 1.6
Figure 1 , This is a caption for figure one This is a caption for figure one This is a caption for figure one and one.
403
Learning has been started from taken the input from a file and fit it to the Modified Kohonen’s Self Organizing Network. Pattern size has been fixed to 5 6 x 4 0 so the number of input node is 2240 which is sufficient. The set of input is processed throughout the network and produced a set of weights and the selected node is called winner node. The grid size is set to l o x 10 that means total 100 output nodes. Each of the input nodes is connected to each of the output nodes. So there are 224000 connection exists between the input node and output node. Also total 2240 loo random weights are needed in this network. The adopted weights and winner node index which are the identities of the facial pattern is stored in a knowledge base. 4
MODIFICATIONS
The basic operation of the Kohonen’s network is to classify the input patterns with a y1 weight matrix where is the number of nodes in input layer and is set of the grid size. Existing learning system considers the previously learned patterns while adopting the weight matrix for the current input pattern that is avoided by the proposed subsystem. We highlights the following modification in existing recognition system -
1. Adoption of Weights: Existing recognition systems deals with the previously stored patterns which are already been learnt. It increases the learning time exhaustively. Learning time for each pattern is a factor of the number of previously learned patterns. But the modified system only tries to operate on the recently given pattern sample. It avoids the previously learned patterns for the swiftness of learning process. 2. Regular recognition system using KSOM offers the modification of weights for all the connections among the two layers. It indicates the static size of neighbors. Due to the rapid change of neighborhood size, number of weight adoption easily decreased with the time. The modified MKSOM system proposes a function for changing the neighborhood size along with the change of the distance of winner node -
PO + 1) = P(t>5
m(4(9
-
4(t - 1))
(1)
EXPERIMENTAL RESULTS
Performance was measured with the existing system that was built on Kohonen’s SOM technique. Performance of the system is nearly equal for the few numbers of patterns. But with the rapid change of input size, performance of the system also changes rapidly. The system was tested with up to 25 sample patterns learn at a
404
time. Firstly, the learning time of the modified system is challenging. On the other hand, the system was tested with some other patterns which were not previously learned. But some other similar patterns i.e. same pattern with a few noise or on a different pose were learnt by the system. During the accuracy test, patterns were learned 10 at a time. Accuracy of the system was measured by the rate of identification where the patterns were not previously learnt. KSOM +MKSOM
-A-
I
5
2
10
15
20
25
Number of Patterns
Figure 2. This is a caption for figure one This is a caption for figure one This is a caption for figure one and one.
For Maxirrum 100 Patterns
I-A-
KSOM --C MKSOM
Figure 3. Accuracy Measurement Compared with KSOM.
I
405
6
CONCLUSION
Till now, no intelligent system has been developing which gives hundred percent correct outputs. Always there occur some errors due to the variation of input patterns. Face recognition is a very complicated system because human faces change depending on their age, expressions etc. There are a lot of expressions for a human being. So it is not possible to learn all types of expressions into the network. As a result there is a cause for the unrecognizing. Moreover due to the performance variations of the input device face can not be detected correctly and pattern may change extremely. In this paper we have developed and illustrated a recognition system for human faces using Kohonen self-organizing map (SOM). The main objective of our face recognition system was to obtain a model that is easy to learn i.e. minimization of learning time, react well with different facial expressions with noisy input and optimize the recognition as possible. In our system we used Kohonen self organizing map instead of Backpropagation technique for learning because Backpropagation takes several hours to learn while Kohonen self organizing map takes only a few seconds to learn. So, in this respect our system is very efficient and easy to learn. References
1. Carey S., and Diamond R.: From Piecemeal to Configurational Representation ofFaces, Science 195, pp. 312 313 (1977). 2. Bledsoe, W. W.: The Model Method in Facial Recognition, Panoramic Research Inc. Palo Alto, CA, Rep. PRI: 15 (August 1966). 3. Bledsoe, W. W .” Man-Machine Facial Recognition, Panoramic Research Inc. Palo Alto, CA, Rep. PRI: 22 (August 1966). 4. Fischler, M. A., and Elschlager, R. A., The Representation and Matching of Pictorial Structures, IEEE Trans. on Computers, c-22.1 (1973). 5. Yuille, A. L., Cohen, D. S., and Hallinan, P. W.: Feature Extraction from Faces Using Deformable Templates, Proc. of CVPR (1989). 6. Kohonen, T.: Self-organization and Associative Memory, Berlin: SpringerVerlag (1989). 7. Kohonen, T., and Lehtio, P., Storage and Processing of Information in Distributed Associative Memory Systems (1981). 8. Fleming, M., and Cottrell, G.: Categorization of Faces Using Unsupervised Feature Extraction, Proc. of IJCNN, Vol. 90(2) (1990). 9. Kanade, T.: Picture Processing System by Computer Complex and Recognition of Human Faces, Dept. of Information Science, Kyoto University (1973). 10. Burt, P.: Smart Sensing within a Pyramid Vision Machine, Proc. of IEEE, Vol. 76(8) (1988) 139-153. 11. Commercial Systems and Applications Wed Nov 27 18:01:36 EST 1996 12.
406
13. Rafael C. Gonzalez, Richard E. Woods: Digital Image Processing, First Edition (1992). 14. 13. Artificial Neural Networks Technology 15. WRL: http ://www.dacs.dtic.mil/ neural-nets .htmb 16. Simon Haykin: Neural Networks, A Comprehensive Foundation (1999), Pearson education, Inc. Singapore. Chapter 1.9: Historical Notes. 17. J G Taylor: Hand Book for Neural Computation, IOP publishing Ltd. Oxford University Press (1997) 1-7. 18. COGANN-92: International Workshop on Combination of GA and NN, Baltimore, Maryland, USA (1992). 19. Industrial Applications of Neural Networks (research reports Esprit, I.F. Croall, J. P. Mason) 20. Muratori, S. and Rinaldi, S., Limit cycles and Hopf bifurcations in a Kolmogorov type system. Modeling, Identification and Control 10 (1988) pp. 91-99. 21. Sousa Reis C., Monteiro Marques V., Calvario J., Marques J. C., Melo R. and Santos R., ContribuiGZo para o estudo dos povoamentos bent6nicos (substrato m6vel) da costa ocidental portuguesa, Oecologia aquatica 6 (1982) pp. 91-105. 22. Wallach D. and Goffinet B., Mean squared error of prediction as a criterion for evaluating and comparing system models, Ecol. Modelling 44 (1989) pp. 299-306.
Others
This page intentionally left blank
INTRUSION DETECTION SYSTEM (IDS)USING NETWORK PROCESSOR MR. SHETE P.G M. Tech student I1 nd Year, Pune Institute Engineering &Technology, Pune (India) E-mail: [email protected] MR.PATIL R.A Lecturer in E&TC dept. Pune Institute Engineering &Technology, Pune (India) E-mail: ray @ etc.oiet.co.in In the field of Network Security as Intrusion detection system the attack can be identified using a second generation Intel network processor M P 2400,it has high throughput and low latency ,The hardware architecture of the network processor consists of xscale core processor with eight micro-engines and also it has SRAM,DRAM,MAC,LM. The method we can use is correlating attacks targeted to single host. Users can apply microcode assembly or high-level Micro-C to develop program that send packet-processing commands to the eight MEv2 chips. Each micro engine contains four types of 32-bit data path registers, Thus the high severity can be recognized from which attacker has attached.
1.
Introduction
There is no disputing the facts that the number of hacking and intrusion incidents is increasing year on year as technology rolls out. Unfortunately in today's interconnected e-commerce world there is no hiding place: Whether the motivation is financial gain, intellectual challenge, espionage, political, or simply trouble-making, you may be exposed to a variety of intruder threats. Obviously it is just common sense to guard against this, but business imperative. Intrusion Detection Systems are like a burglar alarm for your computer network... they detect unauthorized access attempts. They are the first line of defense for your computer systems.
Intrusion Detection System (IDS) IDS is a program that will detect and inform you of network misuse, this could range from someone attacking your network to your employees running a Quake server or looking at pornography. NP advantages Relatively low cost, Straightforward hardware interface, Facilities to access Memory, Network interface devices Programmable, Ability to scale to higher Data rates, Packet rates 409
410
etwork processors are a form of multiprocessor-on-a-c~pembedded devices tuned to the task of moving packets in network switches, network routers and network ineerfaces.
3. ARCHITECTURE
thatcan connecttoaco pro~essortoaaawatepaiketpmmcaoi.
FIG. 1
FIG. 2
IXP 2400: ~ r i f XP2400 t ~ ~ network ~ ~ processor features and benefits
P2400 is a highly integrated and power efficient next-generation ne~wor rocessor. It offers wire-speed OC-48 n e t w o r ~ n gdata plane processing as well as ntrol plane capability on a single chip. As shown in Figure 1, each I ~ P 2 4 0 0 c o n t ~ n eight s ~nlti-threadedpacket-processing micro engines, a low-power ~ e n e r a l - p ~ p o sIntel@ e XScaleW micro architecture core, network media and switch fabric interfaces, memo^ and PCI controllers, and interfaces to flash P and pe~pheraldevices. The media and switch fabric interfaces readily connect to i n d ~ ~ y - s t a n dframers, ~d MAC devices, or switch fabric. These inte~acesget networking data into and out of the IXP2400 efficiently.
4. IMPLEMENTATION There are three types of IDS implementations
I . Co~elaeingattacks targeted to single host
411
2. Correlating attacks spanning multiple destinations 3. Correlating attacks based on Time.
One of the method and its algorithm
Correlating attacks targeted to single host This method will try to identify events that are targeted for a specific host rather than multiple hosts Algorithm For each high seventy event SO. Let FO be a destination that has SO. Select events by splitting the whole data into multiples of “w” time window. For each of this time window Let F1 is list of all such events that has occurred to the same destination FO but before SO. For each event in F1 find the weight. Where weight=no. of occurrences of the event across different time window in “w”. Let T1 be the set of top N weights and C1 be the confidence (formula (weightho of time intervals with F1) * 100) Show that SO would happen if T1 happens with the confidence level C1. 5. CONLUSION Using IXP 2400 Network Processor we can achieve high through put and low packet latency also the Band Width of the packet processing can be increased and thus the network can be protected from high seventy attacks.
References
1. 2. 3. 4.
www.intel.com www.securitvDocs.com www.snort.org ieee potentials
DEVELOPMENT OF REMOTELY SENSED SPATIAL DATA ANALYSIS AND MANAGEMENT SOFTWARE SYSTEM (RSSDAMSS) N.BADAL, G . K. SHARMA, KRISHNA KANT Abstract: Advances in geographical information systems (GIS) and supporting data collection technology have resulted in the rapid collection of a huge amount of spatial data. However, existing data mining techniques are not able to extract knowledge in a better manner from high dimensional remotely sensed data in large spatial databases, while data analysis in typical knowledge discovery software is limited to non-spatial data. Therefore, the aim of the remotely sensed spatial data analysis and management software system (RSSDAMSS) presented in this article, which is an AM/FM/GIS based multiuser software package and that is able to provide flexible machine learning tools for supporting an interactive knowledge discovery process in large centralized or distributed spatial databases. RSSDAMSS offers an integrated tool for rapid software development for data analysis professionals, researchers as well as systematic experimentation by spatial domain experts without prior training in machine learning or statistics. When the data are physically dispersed over multiple geographic locations, the RSSDAMSS system allows data analysis to be conducted at distributed sites by exchanging control and knowledge rather than raw data through slow network connections. Index Terms - AM/FM/GIS, RSSDAMSS, MLC
I. Introduction
Automated Mapping / Facility Management / Geographic Information System (AM/FM/GIS) has been widely used in various utilities these years[ 11. Because of the large valued demand for engineering design and operational analysis software.
N.Badal is with Computer Sc. & Engineering Department, Kamla Nehru Institute of Technology, KNIT, Sultanpur, UP, INDIA. Email: [email protected] G. K. Sharma. is with the Department of Computer Sc. & Engineering, Indian Institute of Information Technology and ManagemenJIITM, Gwalior, M.P, INDIA. Email: gksharma58 @yahoo.co.in Krishna Kant is with the Department of Computer Sc. & Engineering, Motilal Nehru national Institute of Technology, MNNIT, Allahabad, UP, India. Email: [email protected]
412
413
A PC-Based multiuser software package developed in 1994 that was useful in many different utilities. On the basis of it, further research on integration engineering applications was conducted. But these were not sufficient for huge data sets gathered from different sources i.e. remote sensing etc. In recent years, the contemporary data mining community has developed a plethora of algorithms and methods used for different tasks in knowledge discovery within huge databases. Some of them are publicly available, and a researcher, who wishes to compare a new algorithm with existing algorithms, or analyze real data, finds the task daunting. Furthermore, as algorithms become more complex, and as hybrid algorithms combining several approaches are suggested, the task of implementing such algorithms from scratch becomes increasingly time consuming. It is well known that there is no universally best data-mining algorithm across all application domains including remotely sensed data. To increase the robustness of data mining systems, one can use an integrated data mining architecture to apply different kinds of algorithms and/or hybrid methods to a given remotely sensed data set. The most common are toolbox architectures where several algorithms are collected into a package, from which the most suitable algorithm for the target problem is somehow chosen. An example is the Machine Learning Library (MLC++) [2], which is designed to provide researchers with a wide variety of tools that can accelerate algorithm development. MLC increase the software reliability and also provide comparisons among different algorithms. This is achieved through a library of C++ classes and functions implementing the most common algorithms based on object-oriented methodology. In addition, the array of tools provided by MLC++ gives the user a good starting basis for implementing new algorithms. Clementine [3] is an another example which is an integrated tool that implements data mining algorithms of two knowledge discovery paradigms, namely rule induction and neural networks. Rule induction includes the wellknown algorithm ID3 [4] over C is for building decision tree. With respect to neural networks, Clementine includes the back propagation algorithm [5], extended with a “pruning” method mainly for classification tasks and a Kohonen network [6] for clustering tasks. Advances in spatial databases have allowed for the collection of huge amounts of data in various GIS applications ranging from remote sensing and satellite telemetry systems, to computer cartography and environmental planning. A sub field of data mining that deals with the extraction of implicit knowledge and spatial relationships not explicitly stored in spatial databases is called spatial data mining. However, it appears that no GIS system with significant spatial data mining functionality is currently available. There
414
has been some spatial data mining software development, but most systems are primarily based on minor modifications of the previous non-spatial data mining systems. The GeoMiner system [7] is a spatial extension of the relational data mining system DBMiner [S], which has been developed for interactive mining of multiple-level knowledge in large relational databases and data warehouses. The DBMiner system implements a wide spectrum of data mining functions, including characterization, comparison, association, classification, prediction and clustering. By incorporating several interesting data mining techniques, including OLAP (On-line Analytical Processing) and attribute-oriented induction, the system provides a userfriendly, interactive data mining environment with good performance. GeoMiner uses the SAND (Spatial and Nonspatial Data) architecture for the modeling of spatial databases and includes the spatial data cube construction module, spatial on-line analytical processing (OLAP) module, and spatial data mining modules. In addition, different data mining algorithms for spatial data may be implemented in different programming environments. To allow end-users to benefit from multiple spatial data mining approaches, there is a need for the development of a software system, which will integrate all implemented methods in a single environment and thus reduce the user’s efforts in planning their management actions. Precision agriculture is one of the applications, which may prosper from novel spatial data mining techniques. Agricultural producers are collecting large amounts of spatial data using global positioning systems to geo reference sensor readings and sampling locations. It is hoped that these data will result in improved within-field management and lead to greater economic returns and environmental stewardship. However, as it is known, standard data mining methods are insufficient for precision agriculture, because of the spatial dimension of data. Therefore, for precision agriculture and other applications mentioned above, spatial data mining techniques are necessary in order to successfully perform data analysis and modeling. Furthermore, precision agriculture data are inherently distributed at multiple farms and cannot be localized on any one machine for a variety of practical reasons including physically dispersed data sets over many different geographic locations, security services and competitive reasons. With the growth of networks this is often seen in other domains. In such situations, it is advantageous to have a distributed data mining system that can learn from large databases located at multiple data sites. The JAM system [9], intended for learning from such databases, is a distributed, scalable and Portable agent-based data mining software package that employs a general approach to scaling data mining applications. JAM provides a set of
415
learning programs that compute models from data stored locally at a site, and a set of methods for combining multiple models learned at different sites. However, the JAM software system doesn’t provide any tools for spatial data analysis. Therefore, our software system attempts to support flexible spatial data mining in centralized or distributed scenarios. In addition to providing an integrated tool for more systematic experimentation to data mining professionals, our project aims to offer an easy-to-use data mining software system for non-technical people, usually experts in their fields but with little knowledge of data analysis and intelligent data mining techniques. Our main goal was to construct a test environment for both standard and spatial data mining algorithms, that could quickly generate performance statistics ( e g prediction accuracy), compare various algorithms on multiple data sets, implement hybrid algorithms (e.g. boosting, non-linear regression trees) and graphically display intermediate results, learned structure and final prediction results. To efficiently achieve this goal, we introduced a RSSDAM software system that executes programs developed in different environments (C, C++, MATLAB) through a unified control and a simple Graphical User Interface (GUI). A detailed description of software organization, architecture and functionalities are described in the next Sections. 11. Software Organization and Architecture
Software Organization The organization of the SDAM software system, shown in Figure 1, represents an integration of data mining algorithms in different programming environments under a unique GUI.
Figure 1. An organization of RSSDAM software system under unified GUI
416
The interface allows a user to easily select data mining algorithms and methods. This interface is implemented using the Visual Development Studio environment. The majority of the algorithms have been developed in the MATLAB programming environment [lo], but some of them have been implemented using C and C++. Many of The implemented algorithms represent our research activities in the past few years. Since MATLAB is an interpreter and cannot generate executable code, we used Visual MATCOM software [l I] and ActiveX controls to incorporate algorithms developed in MATLAB into our system. This allowed us to fully utilize h c t i o n s that could be more quickly developed in MATLAB than in a language such as C/C++. Visual MATCOM software compiles MATLAB functions into corresponding C++ or DLL (Dynamic Link Library) procedures. These C++ procedures as well as original C and C++ implementations of data mining algorithms were then compiled into executable programs or DLL procedures (see Figure 1) which can be easily invoked fiom our software system. Thus, the software system avoids running the slow MATLAB interpreter and uses fast DLL procedures. Using different optimization and configuration options, computation speed can be 1.5 to 18 times faster than using MATLAB [ 1 13. Not all MATLAB procedures can be processed through Visual MATCOM. For these procedures, we established an inter-program connection between SDAM and MATLAB using ActiveX controls. This requires that the MATLAB package is available on a machine running our software. Each ActiveX control object supports one or more named interfaces. An interface is a logically related collection of methods, properties and events. Methods are similar to function calls in that they are a request for the object to perform some action. Properties are state variables maintained by the ActiveX object, and the events are notifications that the control objects forwards back to the main application. Therefore, the software system simply creates a MATLAB object, sends a request to it to perform some function and waits for a notification relating to the performed function. The RSSDAM software system can be run fiom a local machine, or remotely through connection software (e.g. VNC [12] in our case) from any machine in a Local Area Network (LAN) or from any Internet connected machine (Figure 1). At the present stage of development only one user at a time can remotely control the RSSDAM software System on a remote machine. This user can use data from the remote machine and from the user’s local machine (local data). Since the user’s data may be confidential, security services are implemented through the password,
417
which the user must enter at the beginning of a session. A challenge-response password scheme is used to make the initial connection: the server sends a random series of bytes, which are encrypted using the typed in password, and then returned to the server, which checks them against the ‘right‘ answer. After that the data is decrypted and could, in theory, be watched by other malicious users, though it is a bit harder to snoop this kind of session than other standard protocols. The user can remotely use learning algorithms to build prediction models for each remote data set. These models can be combined later into a new “synthesized” model in order to use the knowledge from all available data sets with the aim of achieving higher prediction accuracy than from using local prediction models built on individual sites. A more advanced distributed SDAM software system includes model and data management over multiple distributed sites under central GUI (Figure 2).
Figure 2. The organization of the distributed RSSDAM software system
In this scenario, each distributed site has its own local data, the SDAM package, file transfer and remote connection software. The user is able to perform spatial data mining operations at distributed data sites from the central GUI machine to build local models without moving raw data through slow network connections. The central GUI allows transferring learned models among sites in order to apply them at other locations or to integrate them to achieve better global prediction accuracy. In general, there are several ways for combining predictions by exchanging models. In first approach, each user i, i = 1,. ..N (Figure 2) uses some learning algorithm on one or more local spatial databases DBi, to produce a local classifier Ci. Now, all local classifiers can be sent to a central repository, where these classifiers can be combined into a new global classifier GC using majority or weighted majority principle. This
418
classifier GC is now sent to all the individual users to use it as a possible method for improving local classifiers. Another Possibility is that each user i sends to every other user the local classifier Ci. Now, these classifiers Ci can be combined at local sites using the same methods as before. More complex methods for combining classifiers include boosting over very large distributed spatial data sets. One approach is for each boosting iteration to select a small random sample of data at each distributed site. When it is possible we transfer these data sets to a central repository site to build a global classifier. However, this is not possible or desirable for some applications and is inefficient in general. For real distributed learning over many sites, more sophisticated methods for exchanging boosting parameters among dispersed sites is required [ 131, and this is one of our current research focuses. Software Architecture
Due to the complex nature of spatial data analysis and modeling, the implemented algorithms are subdivided to six process steps: data generation and manipulation, data inspection, data preprocessing, data partitioning, modeling and model integration (Figure 3). Since not all spatial data analysis steps are necessary in the spatial data mining process, the data flow arrows in Figure 3 show which preprocessing steps can be skipped. The Figure also outlines how the modules are connected among themselves, how they use the original data, and how they manipulate the data with intermediate results and constructed models. An important issue in our software design is an internal file organization to document the results of SDAM processes. Two types of process are documented: pre-modeling and model construction. To save pre-modeling information, the following files are saved: 1) An operation history file, which contains the information about the data file from which the resulting file is constructed, the performed operation, the name with its parameters, and also the eventual resulting parameters of the performed operation. 2) The resulting file containing the data generated by the performed operation to document the model construction process, two files are saved for every model: I) A model parameters file with sufficient information for saving or transforming the model to a different site. 2) A model information file contains all information necessary to describe this model to the user.
419
Figure 3. Internal architecture of RSSDAMSS
111. Software Functionalities
The SDAM software system is designed to support the whole knowledge discovery process. Although SDAM includes numerous functions useful for non-spatial data, the system is intended primarily for spatial data mining, and so in this section we focus on spatial aspects of data analysis and modeling. Description of the RSSDAMSS Functions The functions of RSSDAMSS are illustrated in figure 4. Graphic maps acts as a basic GUI of RSSDAMSS, through which user can perform most of manipulations including all the engineering functions [ 141. The distribution database system (DDBMS) not only maintains the distribution database but also serves the requirements fiom the GUI. At this stage it also include the function of the following sub tasks Data generation and manipulation Data inspection Data preprocessing Data Normalization Feature selection and extraction Data partitioning
420
User authority management provides multiuser support. Users can customized and extend RSSDAMSS by data dictionary management. It also includes the error handler and diagnosis subsystem for robustness.
Figure 4. Functions of RSSDAM Software System
IV. Conclusion and Future Work
This paper introduces a distributed software system for remotely sensed spatial data analysis and management in an attempt at providing an integrated software package to researchers and users both in data mining and spatial domain applications. From the perspective of data analysis professionals, numerous spatial data mining algorithms and extensions of non-spatial algorithms are supported under a unified control and a flexible user interface. We have
42 1
mentioned several problems researchers in data mining currently face when analyzing huge spatial data, and we believe that the RSSDAM software system can help address these. On the other side, RSSDAMSS methods for spatial data analysis and management are available to domain experts for real-life spatial data analysis needed to understand the impact and importance of driving attributes and to predict appropriate management actions. The most important advantage of the RSSDAM software system is that it preserves the benefits of an easy to design and use Windows-based Graphical User Interface (GUI), quick programming in MATLAB and fast execution of C and C++ compiled code as appropriate for data mining purposes. Support for the remote control of a centralized RSSDAM software system through LAN and World Wide Web is useful when data are located at a distant location (e.g. a farm in precision agriculture), while a distributed RSSDAMSS allows knowledge integration from data located at multiple sites. The RSSDAM software system provides an open interface that is easily extendible to include additional data mining algorithms. Hence, more data mining functionalities will be incrementally added into the system according to our research and development plan. Furthermore, more advanced distributed aspects of the RSSDAM software system will be fbrther developed. Namely, simultaneous multi-user connections and real time knowledge exchange among learning models in a distributed system are some of our important coming tasks. Our current experimental and development work on the RSSDAMSS addresses the enhancement of the power and efficiency of the data mining algorithms on very large databases, the discovery of more sophisticated algorithms €or remotely sensed spatial data management, and the development of effective and efficient learning algorithms for distributed environments. Nevertheless, we believe that the preliminary RSSDAM software system described in this article could already be of use to users ranging from data mining professionals and spatial data experts to students in both fields. References 1. Wayne Carr, P.E., Milsoft Integrated solutions, Inc. ‘‘ Interfacing Engineering Analysis With Automated Mapping”, Paper No. 94 A4, 1994 Conference IEEE. 2. Kohavi, R., Sommerfield D., Dougherty J., “Data Mining using MLC++, a Machine Learning Library in C++”, International Journal of Artificial Intelligence Tools, Vol. 6 , NO. 4, pp. 537-566, 1997. 3. Khabaza, T., Shearer, C., ”Data Mining with Clementine”, IE Colloquium on Knowledge Discovery in Databases”, Digest No. 1995/021(B), pp. 1/1-1/5. London, IEE, 1995.
422 4. Quinlan, J. R., “Induction of decision trees,” MachineLearning, Vol. I., pp. 81-106, 1986. 5. Werbos, P., Beyond Regression: New Tools for Predicting and Analysis in the Behavioral Sciences, Harvard University, Ph.D. Thesis, 1974. Reprinted by Wiley and Sons, 1995. 6. Kohonen, T, “The self-organizing map,” Proceedings of the IEEE, 78, pp. 14641480, 1990. 7. Han, J., Koperski, K., Stefanovic, N., “GeoMiner: A System Prototype for Spatial Data Mining”, Proc 1997 ACM-SIGMOD Int’l Con$ on Management of Data(SIGMOD’97), Tucson, Arizona, May 1997. 8. Han, J., Chiang, J., Chee, S., Chen, J., Chen, Q., Cheng, S., Gong, W., Kamber, M., Koperski, K., Liu, G., Lu, Y., Stefanovic, N., Winstone, L., Xia, B., Zaiane, 0. R., Zhang, S., Zhu, H., “DBMiner: A System for Data Mining in Relational Databases and Data Warehouses”, Proc. CASCON‘97: Meeting of Minds, Toronto, Canada, November 1997. 9. Stolfo, S.J., Prodromidis, A.L., Tselepis, S., Lee, W., Fan, D., Chan, P.K., “JAM: Java Agents for Metalearning over Distributed Databases,” Proc. KDD-97and AAAI97 Work. on AI Methods in Fraud and Risk Management, 1997. 10. MATLAB, The Language of Technical Computing, The MathWorks Inc., January 1998. 11. MIDEVA, MATCOM & Visual Matcom, User’s Guide, MathTools Ltd., October 1998. 12. Richardson, T., Stafford-Fraser, Q., Wood, K. R., Hopper, A., “Virtual Network Computing“, IEEE Internet Computing, V01.2 No.1, pp33-38, JanFeb1998. 13. Fan W., Stolfo S. and Zhang J. “The Application of AdaBoost for Distributed, Scalable and On-line Learning”, Proceedings of the Fifth ACM SIGKDD International Conference on Knowledge Discoveiy and Data Mining, San Diego, California, August 1999. 14. Whei-Min Lin, Ming-Tong Tsay and Su-Wei-Wu, “ Application of Geographic Information System to Distribution Information Support”, IEEE Transaction on Power system, Vol. 11, No. 1, Feb 1993.
DETECTION AND CORRECTION OF VERTICAL SKEW IN CHARACTERS T.VASUDEV G.HEMANTHKUMAR P.NAGAE%HUSHAN DoS in Computer Science, University of Mysore Manasagangotri, Mysore, Karnataka, India banglivasu@yahoo. com ABSTRACT In this paper, a method for detecting the vertical skew and correcting the skew for characters, specifically when subjected for recognition is presented. Character skew correction is an essential preprocessing event required during document understanding. If the skew in characters are not corrected then the readability of OCRs gets reduced. The method consists of three stages. In the first stage, the direction of skew is identified in character at a macro level with a knowledgebase. In the second stage the amount or angle of skew to its base line is detected with the support of line drawing algorithm. In the final stage, the detected skew in the character is corrected by transformation process. The method has been tested with various printed and handwritten samples and readability analysis is performed with respect to an OCR. Key words: character recognition, skew detection and correction, knowledgebase, line drawing algorithm, transformation process.
1. Introduction
Character recognition is still an open problem for research in the area of image processing [2,7,9,10]. Character recognition is an essential stage in document image analysis (DIA) for the purpose of automatic data reading or extraction from document image [8,9,10,11]. Though hundreds of algorithms are reported in literature for printed and handwritten character recognition, majority of the robust methods claim maximum recognition rate up to 97% [2,3,7]. The remaining percentage of failure is due to the variability found in handwritten characters. Hence, there is much scope to reduce the level of variability found in handwritten characters in order to increase the recognition rate. The level of variability is reduced by some extent through preprocessing techniques [ 1,7]. Preprocessing involves tasks like removal of noise, thinning, filling disconnection, skew correction, separating connected characters etc [ 1,2,3,4]. It is 423
424
experimented that in many of the methods, appropriate preprocessing on character yields better recognition rates. The character which is segmented from a document image, before it is recognized undergoes a series of different preprocessing viz., noise removal, skew correction, joining disconnections, normalization and thinning [ 1,2,3]. Skew is the orientation introduced into the character while writing. It is an inherent characteristic of many authors to write the characters with some orientation (skew), either to the left or right to the base line. Such skewed characters develop bottlenecks to the investigation of generic methods for recognition. Literature reveals that most of the recognition algorithms are developed assuming the characters are skew corrected. When skewed characters are subjected for the recognition in such algorithms, the recognition rates are found relatively low i,e., larger the skew, lower the recognition rate[2,9,10]. Hence it is required to detect the skew in characters and has to be corrected before it is subjected for recognition in order to have better efficiency. Considerable amount of work is reported in literature on skew detection and correction of document image [ 13,14,15]. Document skew detection algorithms cannot be extended to detect the skew in handwritten characters since the features considered for skew detection at document level are different from the features considered for skew detection at character level. Generally, global features of the document like finding line orientations using Hough transformations[ 131, slope between nearest-neighbor chain(NNC) obtained in the documents[ 141, horizontal projection profile of the document and its Wigner-Ville distribution for documents[ 151 etc, are considered in case of document skew detection. Where as local features are to be considered for detecting a skew in case of characters. Very few attempts have been towards detecting skew at character level, which is evident from literature. This motivated us to make an attempt to detect skew and correct the characters before recognition.
Figure(1): Samples of skewed characters
Skew in character is found in most of the languages both in printed and handwritten documents. Few samples of skewed characters are shown in figure( 1). Such skewed characters definitely reduce the efficiency of recognition
425
algorithms[2,9,10] and essentially the skew is to be corrected before recognition in order to have higher efficiency in recognition algorithm. In this paper, we have made an attempt to develop a three stages approach for skew detection and correction of printed and handwritten characters subjected for recognition which is segmented from the document image and free from noise. It is required to know the orientation of characters viz., left-oriented or rightoriented to take further necessary action. To make a macro level decision on the direction of skew, a knowledge base is to be developed which assists to find the direction of skew and same is explained in section 2. Once the direction of skew is detected, next the angle of skew is required to be found. In order to find the angle of skew in the character a line drawing algorithm is adopted, which is explained in section 3. Skew is corrected by a transformation process, in which the character is repositioned, is explained in section 4. Algorithm of the implementation is given in section 5. Experimental results and failure analysis is explained in section 6. Finally the work is concluded in section 7. 2. Knowledgebase to Determine the Direction of Skew
Knowledgebase is a repository of derived information[6]. An inference engine is used for deriving such knowledge on direction of skew. In the proposed method, small knowledgebase is built about the comer areas of the rectangular boundary enclosing the character. The comer areas are heuristically fixed by the triangle formed with sides equal to 1/5'h of width and l h t hof height respectively at each comers of the rectangle as shown in figure(2). The knowledgebase is developed using the heuristics on non skewed structure of the character. The developed knowledgebase directs to make a macro level classification whether the character is left skewed or right skewed or not skewed from the base line. 1/5$ of v(dth \
Figure(2): Corner areas heuristically fixed in the boundary enclosing character
426
Important inferences that can be derived from the handwritten characters in a document: i.
Absence of a part of character in all the four comer areas indicate the character is not skewed ii. Presence of a part of character in all the four comer areas indicate the character is not skewed iii. Presence of a part of character in any of the three comer areas and absence of a part of character in one comer area indicate the character is not skewed iv. Presence of a part of character in left top and right bottom comer areas and absence of a part of character in left bottom and right top comer areas indicate the character is skewed to left from base line v. Presence of a part of character in left bottom and right top comer areas and absence of a part of character in left top and right bottom comer areas indicate the character is skewed to right from base line With the assistance of derived inferences from the knowledgebase, a macro level classification of skew direction is made and then the character is subjected to detection of angle of skew. The angle of skew in character is determined by drawing a suitable line that discriminates the character on one side of the line and remaining area on the other side of the line.
3. Detection of Angle of Skew A digital differential analyzer (DDA) line drawing algorithm[ 121 draws a line between any two specified points. An imaginary line between two specified points with in the boundary enclosing the character helps in further processing. A series of lines are drawn based on the direction of skew as given by the algorithm in section 5. Two of such lines drawn on either side of the character act as discriminators to classify the rectangular area enclosing the character into two sub areas, one area consisting the character and the other area with out any part of character. Figure(3) shows the two lines on either side of the character drawn that act as discriminators. These two lines indicate the angle of skew in character on either side. Majority of the skewed characters show different angles on both sides. Skew correction should be made towards one of the lines that give better result. One of the two discriminating lines is decided as best fit line depending on the angle formed by the line with the boundary and that gives better correction. The character is repositioned based on the best fit line selected through transformation process.
427
Figure(3): Discriminating Lines for characters
4. Transformation Process
A best fit line is one of the two discriminating lines which results better skew correction. It also indicates the direction and amount of shift to be made to the character in order to reposition the character. Mathematically [4], transformation process can be represented as, d(XY) = Tk(XJY)I
where g is the original character image in spatial coordinates g’ is the skew corrected image in the same coordinate system and T is the point processing transformation function for skew correction and is defined as
x ’= (x-d) for skew correction towards left x ’= (x+ d) for skew correction towards right
‘d’ is the distance between a point on discriminating line and a point on boundary line towards the discriminating line with same ‘y’ ordinate. This transformation process will result in skew corrected character. The result of transformation process towards left direction and right direction is shown in figure(4).
Original Image
Transformation to left
Transformation to right
Figure(4): Result of transformation process
5. Methodology
The method used in skew detection and correction for characters is presented here as an algorithm.
428
1. Identify the direction of skew with the help of knowledgebase 2. If the character is not skewed then exit 3. If the character is left skewed then a. identify the nearest black pixel (x17yl)to the left boundary line b. identify the nearest black pixel (x2,y2) on the bottom line to the left boundary line C. draw a line L1 between the above points (xl,yl) and (x2,y2) d. repeat until the area below the line L1 is with out any black pixel (i) x 2 = x 2 -1 (ii) draw line LI between points (xl,yl) and (x2,y2) e. identify the nearest black pixel (x3,y3)to the right boundary line f. identify the nearest black pixel (xq,y4) on the top line to the right boundary line g. draw a line L2 between the points (x3,y3) and (x4,y4) h. repeat until the area above line L2 is with out any black pixels (i) x 4 = x 4 + 1 (ii) draw line L2 between (x3,y3)and (x4,y4) 1. find the angle TI formed between line LI and bottom line j. find the angle T2 formed by the line L2 and top line k. If TI > T2then select line LI and perform left-shift and exit 1. If T2> TI then select line L2 and perform right-shift and exit 4. If the character is right skewed then a. identify the nearest black pixel(xl,yl)to the left boundary line b. identify the nearest black pixel (x2,y2)on the top line to the left boundary line C. draw a line L1 between the above points (xl,yl) and (x2,y2) d. repeat until the area above the line LI is with out any black pixel (i) x2=x2- 1 (ii) draw line L1 between points (xl,yl) and (x2,y2) e. identify the nearest black pixel (x3,y3)to the right boundary line f. identify the nearest black pixel (x4,y4) on the bottom line to the right boundary line g. draw a line L2 between the points (x3,y3)and (x4,y4) h. repeat until the area below line L2 is with out any black pixels (i) xq=x4+ 1 (ii) draw line L2 between (x3,y3)and (xq,y4) 1. find the angle T1 formed between line L1 and top line j. find the angle T2 formed by the line L2 and bottom line
429
k. If TI > T2 then select line LI and perform Left-shift and exit 1. If T2 > T I then select line L2 and perform Right-shift and exit Left-shift: 1. Repeat for each point of the best fit line a. shift-dist = distance of point from the left boundary line b. move all the black pixels to the right of the point on the same row to left by an amount shift-dist Right-shift: 1. Repeat for each point of the best fit line a. shift-dist = distance of point from the right boundary line b. move all the black pixels to the left of the point on the same row to right by an amount shift-dist Result of the implemented algorithm on various input cases and analysis of result are discussed in the next section. 6. Experimental Results The developed method is tested on more than 300 printed and handwritten characters with different shapes thicknesses and sizes. Some interesting samples of the input and result of the experiment is tabulated in table(1). The method produces satisfactory results for all the input characters having skew between 82 - 50 degrees to base line i.e., 8 - 40 degrees to vertical line. The characters with smaller skew (1 - 8 degrees) are not detected in the method because of the limitations in the developed knowledgebase and characters with such small skew do not affect much on recognition. Method fails in case of characters with skew beyond 40 degrees in correction process as the height of the character is considerably reduced. It is noticed that usually characters with skew more than 40 degrees are not printed or written. Hence the method can detect and correct the usual situation of skewed characters. Experimental results reveal that the skew correction towards the direction that has larger angle gives better results in most of the cases. This can be noticed from the table(1). It is also observed that some amount of distortion is introduced in the skew corrected characters because of pixel movements depends on the points used for line drawing. This is due to the inherent limitation of any line drawing algorithm. These distortions introduced into characters do not have much impact on recognition algorithms. We have focused only on vertical skew in the characters. Internal skew in some characters like ‘T’, ‘J’, ‘7’, ‘L’ etc., are not detected due to the presence of horizontal line in the
430 Table(1): Sample results of the experiment
5 3 '.b
~
I.....
B ! ...
5
3 R ? c
Y
71.07
66.04
let
69.01
7158
,i=hr
64.06
61.07
tighr
75%
7429
let
70.01
67.01
SlZbr
55.78
5- .5-
I&
I
9 8 B B 5
5
3
3
A
A
e
f?
-
........
z 3
6a25
2
6-
Idt
60.94
69.62
let
34.86
w.6l
,i..br
7 3.93
61.61
7
7
3
3
T)
1
6
6
Table(2): Sample results of failure cases Oiignal Characrer
F h g box& Lines
[A . .:
:
L J
:
1i.
..................
B
Reason
not daecred
faillwein Lmmr-Led~bare
not daerred
presence ofholimnmlstroke
nor dEmred
presence of hoiimnral smoke
not damred
s k m less rhan 8 d q = e s
. .:
..........
L .
Diiwtion of s k demred
8
j
431
character which restricts the method. The result for such skewed character is shown in table(2). The method is tested for characters of varied thicknesses. The method is tested for characters of different languages like Kannada and Hindi. Some of the failure cases are shown in table(2). The failures are mainly due to smaller skew and presence of horizontal lines in characters. Majority of the OCRs require the characters to be fkee from skew. The efficiency of the OCRs is reduced as the skew in characters are increased. However the readability will be increased for the skew corrected text. As an experimental study, the comparison of readability before skew correction and after skew correction using our method is shown in table(3) with respect to an English OCR "Readiris Pro 9".Input for the experiment is lines of English text with skew and skew corrected text. The skew correction of text involves segmentation of each character fiom the input and each character is subjected to skew correction on left side using our approach. Skew corrected characters are then concatenated and then the concatenated text is subjected to recognition by OCR.
Text wlth skew
Skew comcted text
Recognition by OCR
Recognition by OCR
I
Readabihy
Readability
YANDLEWITHCRRE
IP..NDLRIVITHCt-.RE.
XI%
SOURCEOFRlCHNESS
-0U RtEOFRlCHNESS
11Yh
INTERIORS
IMERIORS
188%
r/ENLONSYSTEMS
VENLONSYSTEMS
wm
SPORTSCLlrB
SpoRcTCLU9
iR?4
I
432 Table(4): Analysis of readability before and after skew correction by OCR Input Text Before skew correction After skew correction
Readability range 20%-67% 70%- 100%
I I
I Average readability 55% 85%
To perform the analysis of the result on skew correction of our approach, about 100 lines of printed text with different character size, skew, style are considered. Few instances from worst case to best case are shown in the table(3). Analysis of variation in readability before and after skew correction is summarized and shown in table(4). It is evident from the table(4) that the average readability of considered OCR is around 55% when the input text is with skewed characters. Where as when the same text is skew corrected and then subjected to recognition by OCR, shows an average readability around 85%. The implemented approach enhances the readability of OCR by another 30%. The main reason for the approach to show only an average of 85% readability is due to the limitations in the skew detection and correction process. Limitations in the process are (i) small skews in the characters are ignored, (ii) knowledgebase is insufficient for classification of all possible cases, (iii) horizontal skew in character is not detected, (iv) internal skew with in character is ignored due to horizontal lines. These limitations restrict the method in resulting lower rate of skew detection and correction and consequently the readability of the OCR is enhanced proportionately. 7. Conclusion The method is developed without involving any complex mathematical model and adopts simple point processing technique in spatial domain and the computational complexity is only O(n2). For any image processing application time complexity of O(n2) is relatively considered to be less expensive. However there is some computational expense is involved in repeated line drawing process. The approach detects and corrects the skew in characters to enhance the average readability of the OCR from 55% to 85%. The developed method detects and corrects skew in printed and handwritten characters of various size and thickness which are in the 8 - 40 degree range from vertical line. The skew beyond this range is not responded properly by the method due to limitations in the knowledgebase. Transformation process introduces some distortions due to the limitations in the line drawing algorithm. In addition, the transformation process also reduces the actual height of the character to the vertical height of the boundary enclosing the character. The
433
developed algorithm is ideal for detection and correction of skew in characters that are subjected for recognition. The developed method is very much sensitive to noise. The approach considerably increases the readability of an OCR. Readability analysis is required on characters of other languages to study the behavior of the method on the characters of the languages. There is more scope to improve the knowledgebase to detect skew beyond 8 - 40 degree, reduce distortions in skew corrected characters, detect and correct horizontal skew in characters, develop method for rotation based correction instead of pixel shift correction. The method can be further enhanced to detect variable skew with in a character and then correct the same. An investigation is under process to derive a transformation function to retain the height of the character after skew correction. References [l] Gorman L, Kasturi R, “Document Image analysis”, IEEE Computer Society Publication, 1998. [2] B.N.Chatterji, “Feature Extraction Methods for Character Recognition”, in proc. National Pre-Conference Workshop on Document Processing, Mandya, India, pp 7-20, July 200 1. [3] Nagabhushan P, “Document Image Processing”, Proc. National Pre-Conf. Workshop on Document Processing, Mandya, India, 2001, pp 114. [4] Rafael C Gonzales & Richard E Woods, “Digital Image Processing”, Addison Wesley Publication. [5] Mura1i.S & Nagabhushan.P, “Recognition of Hand written English Characters Using Tangent Feature Values: novel appraoch ”, National Conf. On Systems Engineering,Thiruvannamalai,Tamilnadu,2001, pp 1 14. [6] Rich & Knight, “Artificial Intelligence ”, TMH, 1991. [7] Rejean Plamondon, Srihari N S, “On-line and Off-line handwriting recognition: a comprehensive survey”, Jrnl. PAMI, Vol. 22, No. 1 , pp. 63-84,2000 181 Stephan Bauman et al., “Message extraction from printed documents”. Proc. ICDAR, 1997. [9] Suen C Y, Koerich A L, Sabourine R, “Large vocabulary off-line handwriting recognition: A survey”, Jrnl. Pattern Analysis Application, Vol. 6, pp. 97-121, 2003. [ 101 Thomas Bayer et al., “Information extraction from paper documents”, Proc. Hand book of character recognition and image analysis, pp 653-677. [I 11 Yaun Y T & Liu .I,“Information acquisition and storage of forms in document processing”, Proc. ICDAR, 1997. [I 21 Donald Hearn, M.P.Baker, “Computer Graphics”, Pearson Education, Znd Edition, 2003 1131 A. Amin and S. Fischer “A Document Skew Detection Method Using the Hough Transform”, Journal of Pattern Analysis and Applications, vol 3, pp 243-253, 2000.
434 [14] Yue Lu and Chew Lim Tan, “A nearest-neighbor chain based approach to skew estimation in document images”, pattern Recognition letters, vol 24, pp 23 15-2323, 2003. [15] E. Kavallieratou, N Fakotakis and G Kokkinakis, “Skew angle estimation for printed and handwritten documents using the Wigner-Ville distribution”, Image and Vision Computing, vol20, pp 813-824,2002.
EVOLUTIONARY METAHEURISTIC APPROACHES FOR THE VEHICLE ROUTING PROBLEM WITH TIME WINDOWS SASWATI TRIPATHI, BHAWNA MINOCHA Amity School of Computer Sciences, Noida, India stripathi@ascs. amity.edu,[email protected] The Vehicle Routing Problem with Time Windows (VRPTW) is an important problem in logistics. This paper reviews the research on metaheuristic algorithms comprising Tabu Search and Evolutionary Algorithms for VRPTW. The main types of evolutionary algorithms for the VRPTW are Genetic Algorithms and Evolutionary Strategies which may also be described as Evolutionary metaheuristics to distinguish them from other metaheuristics. Along with these evolutionary metaheuristics, this paper reviews heuristic search methods that hybridize ideas of evolutionary computation with some other search technique, such as tabu search, guided local search, hierarchal tournament selection. In addition to the basic features of each method, experimental results for the 56 benchmark problem with 100 customers of Solomon (1987) are presented and analyzed.
1. Introduction Vehicle Routing Problem with Time Windows (VRPTW) is one of the most renowned problems in contemporary operations research. VRPTW is the generalization of the VRP where the service at each customer must start within an associated time windows and the vehicle must remain at the customer location during service. Soft time windows can be violated at a cost, while hard time windows do not allow for a vehicle to arrive at a customer after the latest time to begin service. If it arrives before the customer is ready to begin service, it waits. It can be described as follows. Let G= (V, E) be a connected directed graph with node set V = V N U { Vo } and arc set E, where VN= { vie V I i= 1 , 2 , . ...,n} stands for customers, each of which can be serviced only within a specified time interval and Vo stands for the central depot, where all routes start and end. Each node vi e V has an associated demand qi that can be a delivery form or a pickup for the depot and service time si with service window [ei,li]. The set E of arcs with non negative weights represents the travel distances di, between every two distinct nodes vi and v, and the corresponding travel time ti,. If the vehicle reaches the customer vi before the ei, a waiting time occurs. The routes schedule 435
436
time is the sum of the travel time, waiting time and the service time. The primary objective of VRPTW is to find the minimum numbers of tours, without violating vehicle’s capacity constraints Q and the customer’s time windows. The tours correspond to feasible routes starting and ending at the depot. A secondary objective is often to minimize the total distance traveled or to minimize total schedule time. VRPTW is NP-hard. Even finding a feasible solution to the VRPTW with a fixed vehicle size is itself an NP-complete problem. Thus techniques like exact optimization and heuristics approaches are used for solving VRPTW. Main focus in early surveys of solution techniques for the VRPTW, Fisher [ 161, Toth et al. [39], are on exact optimization techniques. Because of the complex nature of VRPTW and its wide applicability to real life situations, solution techniques like heuristic which are capable of producing high quality solutions in limited time are of prime importance. But, over the last few years Metaheursitics are the core of recent work on approximation methods for the VRPTW. Metaheuristics such as tabu search (Potvin et al. [31]), ant algorithms (Gambardella [ 17]), simulated annealing (Thangiah et al. [37]) and evolutionary algorithms (Homberger et al. [20]) are used as solution techniques for VRPTW. In this paper we surveyed and compared two metaheursitics, tabu search and evolutionary algorithms, for VRPTW. Tabu search algorithms for the VRPTW are discussed in section 2. Section 3 divides evolutionary algorithms developed for VRPTW into genetic algorithms and evolutionary strategies. Section 4, discusses hybridize ideas of evolutionary computation with some other search technique, such as tabu search. In section 5, we described computational results for the some of the described metaheuristics and Section 6 concludes the paper. 2. Tabu Search Algorithms
Tabu search uses short and long term memory to avoid cycling and to orient the search towards unexplored regions of the solution space. The initial solution is usually created with some cheapest heuristics. After creating an initial solution, an attempt is made to improve it using local search with one or more neighborhood structures and best-accept strategy. This neighborhood is created through an exchange procedure, called CROSS exchange (Taillard et al. [35]) that swaps sequences of consecutive customers between two routes. This operator generalizes both the 2-opt*(Potvin et al. [29]) and Or-opt exchanges (Or [27]), but it is a special case of the h-interchanges (Osman [28]), since it restricts the subsets of customers chosen in each route to be consecutive. Over last few years, several efficient tabu search approaches have been proposed.
437
Garcia et al. [ 181 proposed the first application of tabu search for VRPTW. Their method uses Soloman’s I1 insertion heuristics to create an initial solution and 2-0pt* and Or-opt exchanges for improvement. Taillard et al. [35] described a metahuristic based on tabu search for the VRP with soft time windows. Lim et al. [24] propose an improved Greedy Randomized Adaptive Search Procedure (GRASP) framework by techniques including multiple initialization and solution reuse. A new technique of smoothed dynamic Tabu search is embedded into the GRASP to improve the performance. Cordeau et al. [14] introduce a refinement to a previously proposed Tabu search algorithm for vehicle routing problems with time windows. This refinement yields new best known solutions on a set of benchmark instances of the multi-depot, the periodic and the site-dependent vehicle routing problems with time windows. The main features of these tabu search heuristics are summarized in Table 1. Table 1. Features of Tabu Search for VRPTW Authors
Initial solution
Neighborhood operators
Garcia etal. [ 19941
Solomon’s I1 heuristic
2-opt*, Or-opt
Taillard et al. ~9951
Solomon’s I1 heuristic
CROSS
Potvin et al. ri996i
Solomon’s I1 heuristic
2-opt*, Or-opt
Chiang et al. [1997]
Modification of Russell
1-interchanges
Brand50 et al. [ 19991
Insertion heuristic
Relocate, exchange, GENI
I
I
Route min.
Yes
I
I
INo I
I
Yes
I
INo I No
Features
Neighborhood restricted to arcs close in distance Soft time window, adaptive memory Neighborhood restricted to arcs close in distance Reactive tabu search Neighborhood restricted to arcs close in distance
3. Evolutionary Algorithms (EA) EA is characterized by maintaining asset of solution candidates that undergoes a selection process and is manipulated by genetic operators. It has definitely been among the most suitable approaches for tackling the VRPTW. They are divided into three main subclasses: genetic algorithms, evolution strategies and evolutionary programming.
438
3.1. Genetic Algorithms A genetic algorithm is a randomized search technique operating on a population of individuals (solutions). The search is guided by the fitness value of each individual. The creation of new generation primarily consists of four phases: Representation, Selection, Recombination and Mutation. Thangiah et al. [38] were the first to apply GA to VRPTW and uses bit string representation in vehicle routing context. He describes a method called GIDEON that assigns customers to vehicles by partitioning the customers into sectors by genetic algorithms and customers within each formed sector are routed using cheapest insertion method. Potvin et al. [30] propose a genetic algorithm GENEROUS that directly applies genetic operators to solutions, thus avoiding the coding issues. The main features of the genetic algorithms proposed for the VRPTW are summarized in Table 2. Table 2. Features of Genetic Algorithms for VRPTW Fitness
-119951Potvin et al.
Insertion heuristics I
I
Recombination/
Mutation
Random change of bit values I
I
No. of vehicles Reinsertion of a route + Total route or route segment into time another parent
Combinations of relocate operator to eliminate routes and Or-opt
No. of vehicles Reinsertion with + Total route modified Solomon’s time heuristics
Relocate to reduce the number of routes and nearest neighbor for within - route ordering
Braysy [1999]
Random Clustering + No. of vehicles Reinsertion with modified Solomon’s Solomon’s insertion + Total route time + waiting heuristics time
Relocate to reduce the number of routes
Tan et al. [2001]
Solomon’s insertion, Not defined h-interchanges, random
Jung et al. [2002]
+ random
Solomon’s insertion
[ 19961
Berger et al. [I9981
I Nearest neighbor
Solomon’s insertion
Total route time
PMX
Random swap of nodes
Selecting arcs based on Random splitting of routes. Or-opt, 2D image of a relocation, 2-opt* solution and nearest neighbor rule selected solution
439
3.2. Evolutionary Strategies (ES) ES manipulate population of individuals, which represent solutions of an optimization problem. Due to an integrated selection mechanism the iterative calculation of a sequence of population favors the generation of better solutions. Differences to GA exist with regard to the representation of problem and the search operators. ES dispense with the encoding of individuals and instead simulate the evolution process directly on the level of problem solutions. In contrast to GA, mutation operators are given a superior role in comparison to the recombination operators. Homberger et ul. [20] propose two evolutionary strategies for the VRPTW. The individuals of the starting population are generated by means of a stochastic approach that is based on the savings algorithm of Clark et aZ.[12]. Selection of parents is done randomly and only one offspring is created through the recombination of pair of parents. Thus, a number of 2 > p offspring is created, where p is the population size. At the end, fitness values are used to select p offspring for the next generation. The first out of the two proposed metaheursitics evolutionary strategy ES 1 skips the recombination phase. The second strategy, ES2, uses the uniform order-based crossover to modify the initially randomly created mutation codes. Mester [25] proposes that in the beginning, all customers are served by separate routes. Then a set of six initial solutions is created using cheapest reinsertions of single customers with varying insertion criteria. The best initial solution obtained is used as a starting point for the ES. The main features of the evolution strategies proposed for the VRPTW are summarized in Table 3. Table 3. Features of Evolutionary Strategies for VRPTW Author
Initial Population
Fitness
Recombination/ Crossover
Mutation
Homberger
Stochastic saving
No. of vehicles + Total route time + elimination of shortest route
Uniform orderbased to create sequence for controlling Or-opt
Or-opt, 2-opt* and h -interchanges, Or-opt for route elimination
Not defined
Not defined
Or-opt, 2-opt* and h -interchanges, GENIUS, modified
et al. [ 19991 heuristic
Mester
Cheapest insertion with varying criteria
440
4. Hybrids
In this section we review heuristic search methods that hybridize ideas of evolutionary computation with some other search technique, such as tabu search, guided local search and hierarchical tournament selection. Wee Kit et al. [40] describe a hybrid genetic algorithm, where a simple tabu search based on cross, exchange, relocate and 2-opt neighborhoods, is applied on individual solutions in the later generations to intensify the search. The GA is based on random selection of parent solutions and two crossover operators. The first operator tries to modify the order of the customers in the first parent by trying to create consecutive pairs of customers according to the second parent. The second crossover operator tries to copy common characteristics of parent solutions to offspring by modifying the seed selection procedure and cost function of an insertion heuristic Alvarenga et al. [ 11 proposes a three phase approach. Initially, a hierarchical tournament selection genetic algorithm is applied. After then, the two phase approach, the genetic and set partitioning, is applied to minimize the travel distance. The stochastic PFIH ( Push Forward Insertion Heuristic - Solomon [34]) is used to generate the initial population. Nine fitness criteria’s are defined to permit the identification and to eliminate one more route or a customer in the shortest route.. The main features of the hybrid algorithms proposed for the VRPTW are summarized in Table 4. Table 4. Features of Hybrids for VRPTW Author
Phase - I
Braysy et al. Random Insertion heuristic. Modification of LNS, reinsertion with [2000] modified Solomon’s heuristic.
Wee Kit et al. [2001]
Mester et al. [2003]
’
Phase - I1
Modified LNS, Modified CROSS exchanges, Or-opt, insertion heuristic, relocate.
Random selection, Reordering by first Use tabu search based on CROSS exchange, relocate and 2-opt* crossover operator, Modification of neighborhoods. Solomon’s insertion heuristic by second crossover operator. Cheapest insertion heuristics, Guided ’ Modified Evolution Strategies local Local Search, relocate, I-interchange, search algorithm of Mester [25]. Filling procedure of Bent et al. [2 ] is used. 2-opt* neighborhood
i
5. Analysis of Results
In this section we compared and analyzed the above described metaheuristics algorithms, using the results obtained for Solomon’s [34] well known 56
441 Table 5. Comparison of Metaheuristic Algorithms
Gambardellaetal. [ 19991
12.00 2.73 1217.73 967.57
10.00 828.38
3.00 589.86
11.63 1382.42
Taillard et al. [I9971 Brand80 et al. [ 19991
12.17 1209.35 12.58 1205 12.08 1210.14
10.00 828.38 10.00 829
3.00 589.86 3.00 591 3.00 589.86
11.50 3.38 1389.22 1 1 17.44 12.13 3.50 1371 1250 11.50 3.25 1389.78 1134.52
Cordeau [2001]
Genetic Algorithms 112.75 Thangiah 1300.25 [I9951 Potvin et al. 12.58 1296.83 [I9961 Berger et al. 12.58 [I9981 1261.58 Brayysy 12.58 [ 19991 1272.34 Tan et al. 13.17 [200 I] 1227 Jung et al. 13.25 [2002] 1179.95 Evolutionary Strategies Homberger etal. 11.92
I
[2001] [2003] [2005]
2.82 1016.58 3.18 995 2.73 969.57
I1224
410 57523 425 58562 407 57556
13.18 1124.28 3.00 1117.64 3.09 1030.01 3.09 1053.65 5.00 980 5.36 878.41
IlO.00 13.00 112.50 892.11 749.13 1474.13 12.13 10.00 3.00 838.11 590.00 1446.25 10.00 3.00 12.13 834.61 594.25 1441.35 10.00 3.00 12.13 857.64 624.31 1417.05 10.11 3.25 13.50 861 619 1427 10.00 3.00 13.00 828.38 589.86 1343.64
13.38 I429 1411.13 65074 3.38 422 1368.13 62634 3.50 424 1284.25 60539 3.38 423 1256.80 60962 5.00 478 1123 58605 6.25 486 1004.21 54779
12.73
I 10.00
13.25
I 1203.32 1951.17 1221.06
10.00 828.38
3.25 407 1129.19 57525
13.00
1833.32 1593.00
I 11.63
I406
I 1382.06
1132.79 57265
957.43
828.48
589.93
1389.89
1159.37 57952
1012
828.4
590.9
1417
1195
58912
442
benchmark problems. These problems have hundred customers, a central depot, capacity constraints, time windows on the time of delivery, and a total route time constraint. The C1 and C2 classes have customers located in clusters and in the R1 and R2 classes the customers are at random positions. The RCl and RC2 classes contain a mix of both random and clustered customers. Each class contains between 8 to 12 individual problem instances and all problems in any case have the same customer locations and the same vehicle capacities, only time window differs. In the term of time window density, the problems have 25%, 50%, 75% and 100% time windows. C1, R1, RCl problems have a short scheduling horizon, and require 9 to 19 vehicles. Short horizon problems have vehicles that have small capacities and short route times, and cannot service many customers at one time. Classes C2, R2 and RC2 are more representative of “long-haul” delivery with longer scheduling horizons and fewer 2-4 vehicles. Both travel time and distance are given by the Euclidean distance between points. The CNV/CTD indicates the cumulative number of vehicles (CNV) and cumulative total distance (CTD). In Table 5, we list computational results for the methods for which computing times have been reported in a systematic fashion. 6. Conclusion The VRP and VRPTW, belonging to the class of the NP-hard combinatorial optimization problems, require heuristic solution strategies for most real life instances. In this paper we have surveyed the various metaheuristic VRPTW methodologies. Evolutionary Strategies of Homberger et al. [ 19991 and Mester [2002] , hybridization of evolution strategies with other search techniques by Gehring et al. [2001] , Homberger et al. [2001], Berger et al. [2003] and Alvarenga [2005] seem to achieve the best performance.. Homberger et al. [1999] performs best for R1 and RC1, while Mester [2002] performs best in R2 and RC2. For C1 and C2, almost all papers report optimal solution. The quality of the solution obtained with these techniques is usually much better compared to traditional construction heuristics and local search algorithms. To summarize, it seems that it is important to include special methods for route reduction, combine several different search methods, employ some improvement heuristics, and create a high quality initial population to achieve the best robustness. References [l] Alvarenga, G.B., Silva, R.M.A., Sampaio, R.M.,”A hybrid algorithm for the Vehicle Routing Problem with Time Window”, accepted paper, 2005.
443 [2] Bent, R., Hentenryck, P., “A Two-stage Hybrid local search for the Vehicle Routing Problem with Time Windows”, to appear in Transportation Sciences, 2002 [3] Berger, J., Salois, M., Begin, R., “A Hybrid Genetic Algorithm for the Vehicle Routing Problem with Time Windows”, In Proceedings of the 12‘h Bienneal Conference of the Canadian Society for Computational Studies of Intelligence, 114127, Springer-Verlag, Berlin 1998 [4] Berger, J., Barkaoui, M., Braysy, O., ”A Route-directed Hybrid Genetic Approach for the Vehicle Routing Problem with Time Windows”, Information Systems and Operation Research 41, 179-194,2003. [5] Brandgo, J.,” Meta Heuristic for the Vehicle Routing Problem with Time Windows”. In Meta Heuristics: Advances and Trends in Local Search Paradigms for Optimization, 19-36, Kluwer, Boston, MA, 1999. [6] Br’dysy, O., “A Hybrid Genetic Algorithm for the Vehicle Routing Problem with Time Windows”, Unpublished, Vaasa University, Vaasa, Finland, 1999. [7] Braysy, O., “A New Algorithm for the Vehicle Routing Problem with Time Windows based on Hybridization of a Genetic Algorithm and Route Construction Heuristics”, Proceedings of the University of Vaasa, Research Papers 227, Vaasa, Finland, 1999. [S] Braysy, O., “Genetic Algorithms for the Vehicle Routing Problem with Time Windows”, Arpakannus1/2001~ Special issue on Bioinformatics and Genetic Algorithms, :33-38, 200 1 [9] Braysy, O., Berger, J., Barkaoui, M., “A New Hybrid Evolutionary Algorithm for the Vehicle Routing Problem with Time Windows”, Presented at the Route 2000workshop, Skodsborg, Denmark, August 2000. [lo] Carlton, W.B., “A Tabu Search approach to the General Vehicle Routing Problem”, Ph.D thesis, University of Texas at Austin, TX, 1995. [Ill Chiang, W. C., Russell, R.A., “A Reactive Tabu Search Metaheuristic for the Vehicle Routing Problem with Time Windows”, INFORMS Journal on Computing, 9:41 7-430, 1997. [I21 Clarke, G., Wright, J. V., ”Scheduling of Vehicles from the Central Depot to a numberof delivery points”, Operation Research, 12568-581, 1964. [I31 Cordeau, J.F., Laporte, G., Mercier, A., “A unified Tabu Search for Vehicle Routing Problem with Time Windows”. Technical Report CRT-00-03, Centre for Research on Transportation, Montreal, Canada, 2000. [14] Cordeau, J.F., Laporte, G., Mercier, A,, “Improved Tabu Search Algorithm for the handling of route duration constraints in Vehicle Routing Problems with Time Windows”, Journal of the Operational Research Society, 55(5):542-546,2004 [I51 Duhamel, C., Potvin, J.Y., Rousseau, J.M., ”A Tabu Search Heuristic for the Vehicle Routing Problem with Backhauls and Time Windows”, Transportation Science 3 1 : 49-59, 1999. [16] Fisher, M. L.,” Optimal Solution of Vehicle Routing Problems Using Minimum Ktrees“, Operations Research 42:626-642, 1994. [17] Gambardella, L. M., Taillard, E., Agazzi, G.,” MACS-VRPTW: A Multiple Ant Colony System for Vehicle Routing Problems with Time Windows”, New Ideas in Optimization, McGraw-Hill, 1999.
444 [I81 Garcia, B.L, Potvin, J.Y.,Rousseau, J.M, ‘‘ A Parallel Implementation of the Tabu Search Heuristic for Vehicle routing Problem with Time Window constraints”, Computers & Operations Research 2 1, 1025-1033, 1994. [I91 Gehring, H., Homberger, J., “Parallelization of a Two-Phase Metaheuritic for Routing Problem with Time Windows”, Asia-Pacific Journal of Operation Research 18,35-47, 2001. [20] Homberger, J., Gehring, H., “Two Evolutionary Meta Heuristics for the Vehicle Routing Problem with Time Windows”. INFORMS Journal on Computing, 37(3):297-3 18, 1999. [21] Homberger, J., Gehring, H., “A Two-Phase Hybrid Metaheuristic for the Vehicle Routing Problem with Time Windows”, Working Paper, Department of Economics, University of Hagen, Germany, 2001. [22] Jung, S., Moon, B. R., “ A Hybrid Genetic Algorithm for the Vehicle Routing Problem with Time Windows”, In Proceddings of Genetic and Evolutionary Computation Conference, San Franciso, Morgan Kaufmann Publishers : 1309-13 16, 2002 [23] Kohl, N., Desrosiers, J., Madsen, O.B., Solomon, M.M., Soumis, F.,” 2-Path Cuts for the Vehicle Routing Problem with Time Windows,” Transportation Science, 33: 101 -1 16,1999. [24] Lim, A,, Wang, F.,” A Smoothed Dynamic Tabu Search Embedded GRASP for mVRPTW”, ICTAI, 00: 704-708,2004, [25] Mester, D. “An Evolutionary Strategies Algorithm for Large Scale Vehicle Routing Problem with Capacity and Time Window Restrictions”, working paper, Institute of Evolution, University of Haifa, Israel, 2002. [26] Mester, D., Braysy, O.,“ Active Guided Evolution Strategies for Large Scale Vehicle Routing Problem with Time Window”, to appear in Computers & Operation Research, 2003. [27] Or, I., “Traveling Salesman-type Combinatorial Optimization Problems and their relation to the logistics of regional blood banking”, Ph.D. dissertation, Department of Industrial Engineering and Management Sciences, Northwestern University, Evanston, IL, 1976. [28] Osman, I. H., “Metastrategy Simulated Annealing and Tabu Search Algorithms for the Vehicle Routing Problem”, Annals of Operation Research, 4 1:421-45 1 , 1993 [29] Potvin, J., Rousseau, J.M.,”An Exchange Heuristic for Routing Problems with Time Window”, Journal of Operational Research Society, 46: 1433- 1446, 1995. [30] Potvin, J., Bengio. S. “The Vehicle Routing Problem with Time Windows part 11: Genetic Search. INFORMS Journal on Computing, 8(2):165-172, 1996. [3 I] Potvin, J., Kervahut, T., Garcia, B., Rousseau, J.M., “The Vehicle Routing Problem with Time Windows - Part I: Tabu Search”, INFORMS Journal on Computing, 8:158-164, 1996. [32] Russell, R.A., “Hybrid Heuristics for the Vehicle Routing Problem with Time Windows”. Transportation Science, 29: 156-166, 1995. [33] Shaw, P., “Using constraint Programming and Local Search Methods to solve Vehicle Routing Problems”, Principles and Practice of Constraint Programming, Springer-Verlag :417-431 , 1998.
445 [34] Solomon, M.M.,” Algorithms for Vehicle Routing and Scheduling Problems with Time Window [35] Constraints”, Operations Research 35,254-265, 1987. [36] Taillard, E.D., Badeau, P., Gendreau, M., Guertin, F., Potvin, J.,“ A Tabu Search Heuristics for the Vehicle Routing Problem with Soft Time Windows”. Transportation Science, 3 1 :170-186, 1997. [37] Tan, K. C., Lee, L. H., Ou, K., “Hybrid Genetic Algorithms in Solving Vehicle Routing Problems with Time Window Constraint”, Asia-Pacific Journal of Opeartion Research, 18:121-130,2001. [38] Thangiah, S., Osman, I. H.,Sun, T.,“ Hybrid Genetic Algorithm, Simulated Annealing and Tabu Search Methods for Vehicle Routing Problems with Time Windows”, Technical Report UKC/OR94/4, Institute of Mathematics and Statistics, University of Kent, Canterbury, UK, 1994. [39] Thangiah, S.,“ Vehicle Routing with Time Windows using Genetic Algorithms”, In Application Handbook of Genetic Algorithms: New Frontiers, volume 11, pp: 253277, CRC Press, Boca Raton, 1995. [40] Toth, P., Vigo, D.,“ The Vehicle Routing Problem, Monographs of Discrete Mathematics and Applications”, S.I.A.M,Philadelphia, PA, 2002. [41] Wee Kit, H., Chin, J., Lim, A,, “A hybrid Search Algorithm for the Vehicle Routing Problem with Time Windows”, International Journal on Artificial Intelligence Tools 10,43 I-449,200 I .
TRANSPARENT REMOTE EXECUTION OF PROCESSES IN CLUSTER OF HETEROGENEOUS UNIX SYSTEMS* MANISH ARYAL Department of Electronics and Computer Kathmandu Engineering College aryalmanish@gmail. corn ADESH KHADKA Department Electronics and Computer Kathmandu Engineering College adesh.khadka@gmail. corn ABSTRACT In this paper, we propose a protocol for load sharing among a cluster of heterogeneous Unix workstations. Our protocol, called the Distributed Process Management Protocol (DPMP), not only enables load sharing using nonpreemptive process migration but also seamlessly integrates the processes running on a network of machines. Remote processes can be accessed (for signalling, for example), in the same way as local processes making process migration highly transparent to the users and the applications. DPMP also has builtin mechanisms to detect and recover from node and network failures. DPMP can be implemented at either the kernel or the user level. We also describe an implementation of DPMP within the Linux kernel. Preliminary performance studies show that the performance gains obtained by using DPMP are substantial.
1. Introduction
A typical network with several personal workstations has enormous aggregate computing potential. However most of this potential is not realized since a majority of the workstations are idle at any given point in time [3]. On the other hand, some users find their own workstations inadequate for their computing requirements. Using the CPU cycles of idle or lightly loaded workstations is thus an attractive method to increase the CPU utilization as well as to satisfy the
'The authors are students at the Department of Electronics and Computer Engineering, Institute of Engineering, Pulchowk Campus, Nepal.
446
447
needs of heavy users. Process migration has been widely proposed as a mechanism to achieve load sharing among workstations. Process migration can be preemptive or non-preemptive. In nonpreemptive process migration, a job, when initiated, can be migrated to some other machine on the network where it executes to completion. Thus, in a Unix system, a process is considered for migration only when it calls the exec system call. Preemptive process migration, on the other hand, can cause the execution site of a job to change even during its execution. The main advantage of non-preemptive migration over preemptive migration is that it is simpler to implement and can accommodate heterogeneity of architectures and operating systems among the machines comprising the distributed system, while retaining most of the performance benefits of preemptive process migration. The ability to share processing load among heterogeneous machines is important since most networks today comprise machines with several different architectures and operating systems. 1.1. Related Work
The existing systems that allow process migration can be classified into the following categories: (a) systems for preemptive migration among a cluster of machines with the same architecture and running the same operating system, (b) systems for preemptive migration among a cluster of heterogeneous machines, and (c) systems for nonpreemptive process migration. A number of preemptive process migration systems for a cluster of homogeneous machines have been implemented. Some of them are based on experimental operating systems such as Charlotte [l], V [15], Sprite [3, 41, and Locus [ 111. Some systems such as Mosix [2] implement preemptive process migration by modifying existing operating systems. Some user level process migration systems have also been developed, such as Condor [7], GLUnix [6] and the systems described in References [5, 8, 101. Although user level implementations are quite portable, they cannot offer full transparency because of lack of access to kernel data structures related to a process. For example, they typically require applications to be relinked with a special library that intercepts system calls and attempts to duplicate the process state usually available only in the kernel, at the user level. The relinking is however not necessary in systems that support dynamically linked libraries. Complete Unix semantics are usually not preserved in user level implementations. For example, in Condor, a migrated process cannot create child processes, or handle signals. Also user level implementations are likely to be slower than kernel implementations. A common drawback of all these preemptive process migration systems is that
448
they do not support heterogeneity, that is, a process cannot be migrated from a machine to a machine with a different architecture. Tui [14] is a system that allows preemptive migration of a process in a heterogeneous environment. Tui uses a special compiler that inserts type information in the binary. This information is used to extract a machine independent snapshot of the process state at the time of migration. This implies that the application important since most networks today comprise machines with several different architectures and operating systems. cannot use any typeunsafe language features and thus most existing applications cannot be migrated using Tui. Systems that implement non-preemptive process migration include Solaris MC [13], OSF/l AD TNC [16] and Utopia [17]. OSF/1 AD TNC extends the OSF/l operating system for a message passing based multi-computer and is more suitable for message passing based multiprocessor systems than for a network of relatively autonomous workstations. Solaris MC adds nonpreemptive process migration and distributed process management facilities to Solaris by adding a layer of distributed objects on top of the existing Solaris code. The main drawback of Solaris MC and OSF/l AD TNC are that they assume the same operating system to be running on all machines in the cluster. Utopia is a user level implementation of remote execution. The process migration facility in Utopia is not fully transparent. For example, some applications (such as the shell) need to be rewritten to take advantage of load sharing. There are some breaches in the Unix semantics also; distributed process groups are not supported for example. Failure detection and recovery is a neglected area in most systems for process migration. For example, in many process migration systems, such as Condor, Sprite, and Mosix, a process has residual dependencies on its originating host even after it has been migrated to another machine. This is because some of the system calls made by the migrated process are forwarded to its originating machine for execution. This means that if the originating machine goes down, a process may not be able to continue to run even if it had earlier migrated to another machine. Most systems do not consider node failures and recovery from these failures at all (Locus, Solaris MC, and GLUnix are some of the exceptions). 1.2. Design Goals and Approach
Our goal was to build a non-preemptive process migration system for a network of workstations with heterogeneous architectures and running possibly different flavors of Unix, with the following features.
449
Transparency The system should be able to non-preemptively migrate processes with a high degree of transparency i.e., the process should get the same environment as it would have on its originating machine. Existing applications should be able to take advantage of migration without any changes and without recompilation. Heterogeneity The system should be able to accommodate heterogeneity in both architectures and operating systems of the workstations that share their loads. Separation of Mechanisms and Policies The mechanisms for process migration should be independent of the policies for process migration. Performance The protocol overhead should be as low as possible. Scalability The system should be able to scale up to a large number of nodes. The design should therefore avoid centralized components, broadcast messages etc. Fault Tolerance Partial failures (node and network failures) should not affect the working of the rest of the system. In particular, failure of the originating node of a job should not affect its execution if it is executing on another node. After the failed components are restored to working order, they should be able to re-integrate with the rest of the system. Our basic approach to allowing operating system heterogeneity among the nodes that share their load is to define a protocol for load sharing. We call our protocol the Distributed Process Management Protocol (DPMP). The protocol not only enables non-preemptive process migration but also allows management of processes in a distributed manner (for example, to send signals to remote processes, notifying death of a process to its parent process etc.). DPMP defines a set of messages that are exchanged by the machines in the cluster, and a set of conventions that all machines in the cluster must follow so that migrated processes can run in an environment very similar to the one that they would have found on their originating machines. DPMP also has mechanisms that aid in failure detection and recovery and allow correct operation while a part of the system is down. Since the semantics of non-Unix like operating systems such as Windows NT differ widely from those of Unix like operating systems, the protocol focuses only on Unix variants. However it does not assume any particular flavor of Unix and thus permits process migration across machines that may differ in either or both of architecture and operating system. DPMP does not address any policy issues regarding process migration. Thus it has no
450
messages that can be used to exchange load information among machines. This decision cleanly separates migration mechanisms from migration policies. Any load sharing policy and any protocol to exchange load information can thus be used in conjunction with DPMP. DPMP may be implemented either inside the kernel, or at the user level by using a library that intercepts system calls. A kernel implementation is likely to be more efficient than a user level implementation. A user level implementation would be more portable but may also entail some loss in transparency. For example, statically linked programs will need to be relinked with the system call interception library. Note that it is also possible that some machines in the cluster implement DPMP in their kernels while others implement it at a user level. Currently we have only implemented the protocol inside the Linux kernel. The chief characteristics of our approach that distinguish it from other systems for process migration are its high degree of transparency, support for architectural and operating system heterogeneity, support for detection of and recovery from failures and correct operation under partial failures. Another feature of our approach is the focus on the protocol rather than on the implementation. DPMP can be efficiently implemented at the kernel level, and can also be implemented at the user level with some loss in performance. The rest of the paper is organized as follows. In the following two sections, we describe the DPMP conventions and the DPMP messages respectively. Section 4 describes the DPMP mechanisms for failure detection and recovery. In Section 5, we describe the implementation of DPMP within the Linux kernel. Section 6 describes the performance evaluation of the implementation. Section 7 concludes the paper. 2. DPMP Conventions
In order that a migrated process sees approximately the same environment on the machine where it finally executes as the one it would have got on its originating host, DPMP requires all hosts in a load sharing cluster to adhere to certain conventions. In this section, we describe these conventions. 2.1. Uniform File System View Clearly a uniform file system view is important for process migration to work transparently. We use the standard NFS distributed file system [ 121 to achieve this view. However we do not insist that the file system view be absolutely identical on all machines. We believe that for most applications that would potentially benefit from process migration (for example, long running CPU
451
and/or memory intensive applications, and parallel applications), it is enough that the user areas be accessible via the same paths on all the machines in the cluster. This has the added advantage that the heavily used files (such as system binaries, libraries, temporary areas etc.) can be local on each machine. An issue related to maintaining a uniform file system view is to also ensure that all the users and user groups have the same user and group identifiers all the machines in the cluster. The Network Information Service (NIS) [9], available on most Unix platforms, can be used to achieve this. 2.2. Process Identifiers In order to provide transparency to users, a process should retain its process identifier (pid) when it migrates. Thus processes should have pids that are unique within the cluster. We use a scheme similar to Locus and Sprite to achieve this. Each machine in the cluster is required to assign pids to processes in accordance with the following convention. The pid of a process has three parts - a cluster wide unique machine identifier (each machine in the cluster is given a unique machine identifier), a process identifier unique within the machine, and an epoch number that is incremented every time that the machine is rebooted. The epoch number is used to implement recovery after a node failure and its role is described later in Section 4. 3. DPMPMessages
DPMP is a UDP based request-reply protocol. Timeouts and retransmissions are used to handle lost messages. Authentication is currently done just by verifying that the sender node id included in the message is known to have the same IP address as the one from which this message has been sent and that the source port number is a privileged port. Support for more secure, encryption based, authentication mechanisms will be considered in future versions of the protocol. DPMP defines several messages for managing remote processes. In Section 3.1, we summarize the important DPMP messages. Proper handling of open files during process migration is important and involves tricky issues. We discuss these issues and our solutions separately in Section 3.2. 3.1. Message Types
The TRANSFER message is used to migrate a process that has just called exec to another machine. The state information for the process, such as information about open files, signal disposition, priority etc., are included in the message. DPMP allows a process to migrate at most once during its lifetime even if calls
452
the exec system calls multiple times. This assumption considerably simplifies the protocol; for example, it is easy to locate the process given its pid since the id of the originating node can be extracted from the pid and the originating node always correctly knows the current execution site of the process. This decision does not significantly reduce the opportunities for load sharing since most Unix processes call exec at most once. The message LOCATE can be sent to the originating node of a process to determine its current execution site. The current execution site of a process can be queried for information about the process by sending it the PROC INFO message. A SIG PROC request is used to send a signal to a remote process while the SIG CHILD message is used to notify a remote parent process of the death of a child process. The CHANGE PARENT message is used to make a process change its parent. This is typically used when the parent process of a process exits and the process is inherited by the init process on its current execution site. Some other messages relate to obtaining and changing process group and session related information. The information about a process group is distributed among the originating site of the group leader process of the process group (this site is called the storage site for the group) and other hosts that have some processes in the group. The storage site of a group maintains the list of local processes belonging to the group and the list of other hosts that have some processes in the group. Other hosts just store the list of local processes belonging to the group. The GROUP INFO message can be sent to the storage site of a group to obtain information about its group members. The CHANGE PROCESS GROUP message is used to change the group of a remote process or to update the group information stored in the originating site of the group leader. The SIG PROC message can also be used to send a signal to all processes belonging to a specified group on a host. A special INIT message is used for failure detection and recovery. The INIT message and the issues related to failures are discussed in Section 4. To overcome the barrier of differences among various flavors of Unix, DPMP makes certain standardizations. For example, the same signal may have different numbers on different variants of Unix (as an example the ‘Stop’ signal is number 19 in Linux and number 17 in BSD4.4). Similarly, the range of process priorities is typically different in the various Unix flavors. To accommodate these differences, DPMP defines a standard set of signals and a standard priority range. While sending a signal, using the SIG PROC message, the sending host is required to
453
convert the local signal number for the specified signal to the corresponding one defmed by DPMP. The receiving host converts this DPMP defined number to its own corresponding number for the same signal. Note that this does not require the native numbering of signals to change on any platform. Indeed doing that will break any existing applications that send or handle signals. Similarly, when a process is migrated, its base priority value is scaled before being sent to the destination host which scales it back to its own native priority range.
3.2. Transferring Open File Information When a process calls exec, it may already have some devices, files, sockets etc., open. These remain open after the process starts executing the new program. Thus if the process is to be migrated when it calls exec, information about its open file descriptors must also be sent to the destination host where the files should be reopened. Currently we can only migrate those processes that have only regular files open at the time of exec. To allow the process to reopen the files on its destination host, the information about open file descriptors, the names of files that they correspond to, the modes of opening and the offsets, is included as part of the TRANSFER message. The path of the current directory is also sent. For efficiency, before actually attempting to migrate a process a host may check that the process does not have any files open that will not be accessible on the destination machine (for example, files belonging to a local file system that is not exported through NFS). It is possible, that a file that is open in a process may be deleted by the same or some other process. In such a scenario, the process can continue to access the file. However, the migration of such a process will fail since the required file cannot be opened on the destination machine. The open file information may also, optionally, include the NFS file handle of the file, the root file handle of the file system to which the file belongs, and the IP address of the file server for each open file. This information can be used by the destination site to ensure that the reopened file is indeed the one that was opened by the process before migration, and not one, for example that was later created with the same name after the original was deleted. Another issue related to migration of open files is the possible sharing of the file offset by a parent and its child process. If the two processes are executing on different machines, this sharing is not possible to implement without significantly changing the NFS protocol. Fortunately, hardly any applications actually seem to use this feature of Unix file semantics and thus we ignore this issue altogether.
454
4. Failure Detection and Recovery
Correct execution in the case of partial failures and recovery from failures was an important design goal of DPMP. In this section, we discuss the DPMP mechanisms that help in detecting and recovering from failures. These mechanisms ensure that (a) network failures are by and large transparent to users, and (b) in the case of node failures, the processes that were running on a failed node appear to the rest of the system as if they were killed. Since DPMP is a UDP based protocol, timeouts and retransmissions are used to take care of lost messages and transient network failures. Since retransmissions can cause the same request to be executed twice on the server and this is unacceptable for non-idempotent requests (for example, for-the TRANSFER request), the server is required to store the previously sent replies and can send the same reply without actually re-executing the request on receiving a duplicate request packet. This can be done efficiently since the recovery protocol employed on a host reboot (described below) ensures that the reply store does not need to survive host crashes, and thus need not be stored on permanent storage. Sequence numbers included in all request messages are used to detect duplicate requests. When a host fails, the processes that were running on it obviously fail. Also, the host loses its references to processes that originated on it but had migrated to other hosts before the crash. Similarly, it loses the membership information for the process groups and sessions for which it was the storage site. These groups and sessions might very well have included remote processes. Thus while the host is down, these processes, groups and sessions are inaccessible to the rest of the cluster i.e., the current execution sites of such processes and the list of members for such groups and sessions cannot be determined from their ids. After the host recovers from failure (i.e., when it reboots), it should attempt to recover this information. The INIT message is used to aid this recovery. DPMP requires that after booting, a host must first send an INIT message to another node, before sending or accepting any other DPMP request to/from that node. The receipt of an INIT message indicates that the sending host had failed and has now come up again. In response to the INIT message, a host sends information information about the global system state that is relevant to the recovering host. Let us assume that a host B receives an INIT message from host A. The reply of this message includes the list of those processes running on B that had originated on A. Host A uses this information to rebuild references for these processes. The reply also includes the list of groups that had originated on A and have some group
455
members executing on B. Host A uses this information to rebuild its group tables. Apart from sending this reply, host B also assumes that those processes that had originated on B but had migrated to A have been killed and removes process references for such processes and notifies their parent processes. If a recovering host is not able to send the INIT message to all the other hosts in the cluster (due to temporary network failures) immediately after rebooting, it may resume its normal operation with an incomplete picture of the global system state. In particular, it may not be aware of processes that had earlier originated on it, had migrated to other hosts and are still running. It may thus allocate the pid of such a process to a new process, causing two processes with the same pids to exist in the system. To avoid this problem, epoch numbers are used. Each host maintains its epoch number which is simply a counter that is incremented on each reboot. The epoch number is included in all newly generated pids. This avoids the assignment of the pid of a process that is already running somewhere in the cluster to a new process. 5. A Kernel Implementation of DPMP
In this section, we describe our implementation of DPMP. We have currently implemented DPMP inside the Linux 2.2.9 kernel. The implementation architecture attempts to minimize changes to the existing kernel and adds modules on top of the existing kernel code. These modules are: the Globalization layer, the DPMP client, the DPMP server, and the Policy module. Each of the modules exports a well defined interface to the other modules. The modules use the existing Linux kernel, to which some well defined modifications are made, for accessing and manipulating local processes. We next describe these modules briefly. The Globalization Layer provides a DPMP aware implementation of the process related system calls. For such system calls, the corresponding hnction in the globalization layer determines whether a remote or a local process is involved. In the former case, it invokes a function in the DPMP client module to perform the operation on the remote process, otherwise it invokes a function of the old kernel code (typically a system call entry point in the old kernel) to perform the operation on a local process. The DPMP server receives DPMP requests from the other hosts in the cluster and performs the requested operations. As mentioned earlier, it also maintains a store of previously sent replies so that duplicate requests can be replied to without re-executing the requested operation.
456
The DPMP client module exports functions to perform various operations on remote processes. The functions in this module thus hide the protocol level details of accessing remote processes from the globalization layer. Finally the policy module is intended to make policy decisions regarding whether and where a process should be migrated, and whether an incoming process should be accepted or not. In the current implementation, the migration policy is to simply execute an eligible process to a randomly chosen host. 6. Conclusion In this paper, we have proposed a protocol based approach for load sharing among heterogeneous UNIX machines using non-preemptive process migration. The proposed Distributed Process Management Protocol allows non-preemptive migration of processes to machines with possibly different architecture and running different flavors of UNIX. The migration is transparent to the application programs and the migrated processes can be accessed just like local processes. DPMP also incorporates mechanisms to detect and recover from network and node failures. DPMP can be implemented either at kernel or at the user level. We have also described the current implementation of DPMP inside the Linux kernel. Performance measurements show that reasonable speedups can be achieved even with the current unoptimized implementation. The DPMP project is still in a relatively early stage. Currently we are working on the design of a protocol for exchanging load information and using it to implement more realistic load sharing policies. Ways to improve the efficiency of DPMP and its implementation are also being studied. We are also exploring extending NFS to allow transparent access to remote devices so that processes with open devices can also be migrated. DPMP extensions to allow migration of processes with open pipes are also being considered. In the near future, we also plan to develop a portable, user-level implementation of DPMP. References [I] Y. Astsy and R. Finkel. "Designing a process migration facility: the Charlotte experience". IEEE Computer, 22(9):47-56, September 1989. [2] A. Barak and 0. La'adan. "The MOSIX multicomputer operating system for high performance cluster computing". Journal of Future generation Computer Systems, 13(4-5):361-372, March 1998. [3] Douglis. Transparent Process Migration in the Sprite Operating System. Ph.D. dissertation, Computer Science Division, Dept. of Electrical Engg. and Computer Sciences, University of California, Berkeley, Sept. 1990.
457 [4] F. Douglis and J. Ousterhout. “Transparent process migration: design alternatives and the Sprite implementation”. Software: Practice & Experience, 2 1(8):757-785, August 1991. [5] D. Freedman. “Experience building a process migration subsystem for UNIX’. In Usenix Technical Conference Proceedings, pages 349-356, Dallas, TX, January 1991. [6] D. P. Ghormley, D. Petrou, S. H. Rodrigues, A. M. Vahdat, and T. E. Anderson. Glunix: A global layer unix for a network of workstations. Technical report, Computer Science Division, University of California, Berkeley, August 1997. [7] M. Litzkow, M. Livny, and M. Mutka. “Condor - a hunter f idle workstations”. In Proc. 8th International Conference on Distributed Computer Systems, 1988. [8] K. I. Mandelberg and V. S. Sunderam. “Process migration in UNIX networks”. In Usenix Technical Conference Proceedings, pages 357-363, Dallas, TX, February 1988. [9] Sun microsystems : Network configuration manual. [lo] S. Petri and H. Langend’orfer. “Load balancing and fault tolerane in workstation clusters migrating groups of communicating processes”. Operating Systems Review, 29(4):25-36, October 1995. [ l 11 G. J. Popek and B. J. Walker. The LOCUS Distributed System Architecture. Computer Systems Series, The MIT Press,1985. [12] R. Sandberg, D. Goldberg, S. Klliman, D. Walsh, and B. Lyon. “Design and implementation of the Sun network filesystem”. In Usenix Technical Conference Proceedings, pages1 19-131, June 1985. [ 131 K. Shirriff. “Building distributed process management on anobject-oriented framework”. In Usenix Technical Conference Proceedings, pages 119-13 1, Anaheim, CA, January 1997. [14] P. Smith and N. C. Hutchinson. “Heterogeneous process migration: The Tui system”. Sofhvare: Practice & Experience, 28(6):611439, May 1998. [15] M. Theimer, K. Lantz, and D. Cheriton. “Preemptive remote execution facilities for the V system”. In Proc. 1 Oth ACM Symp. on Operating System Principles, pages 212, December 1985. [16] R. Zajcew, P. Roy, D. Black, C. Peak, P. Guedes, B. Kemp, J. LoVerso, M. Lebensperger, M. Barnett, F. Rabii, and D. Netterwala. “An OSFil Unix for Massively Parallel Multicomputer”. In Usenix Technical Conference Proceedings, pages 449468, San Diego, CA, 1993. [17] S. Zhou, X. Zheng, J. Wang, and P. Delisle. “Utopia: a load sharing facility for large, heterogenous distributed computer systems”. Software: Practice & Experience, 23( 12):1305-1336, December 1993. in UNIX networks”. In Usenix Technical Conference Proceedings, pages 357-363, Dallas, TX, February 1
DISTRIBUTED DYNAMIC SCHEDULING -AN EXPERIMENT WITH PVM Dr S Ramachandram [email protected] Jayesh Aurangabadkar [email protected] Dept of CSE, University College of Engg,Osmania University,Hyderabad-7 Abstract The communication technology has made possible the cluster and grid computing. PVM (Parallel virtual Machine) a layer on linux operating system, provides cluster computing environment in a Local Area network. The scheduling used by PVM does not make use of any state information of individual participating nodes and as a result its performance is sub-optimal. The work envisages devising a dynamic scheduling strategy that improves the performance in terms of turnaround time and speedup. The influence of various static and dynamic parameters is studied through experiments and a goodness value is derived to measure the load at the participating nodes. The goodness value computed is used to schedule the tasks on the nodes. The performance measured in terms of turnaround time and speedup is compared with the existing PVM scheduler. 1. Introduction Parallel Programming uses multiple computers, or computers with multiple internal processors, to solve a problem at a greater computational speed than using a single computer. It also offers the opportunity to tackle larger problems; that is, problems with high computation or large memory requirements.. The computers must be interconnected by a network and a software environment must be present for inter computer message passing 2. PVM Computing model PVM is a software system that enables a collection of heterogeneous computers to be used as a coherent and flexible concurrent computational resource. The overall objective of the PVM system is to enable collection of computers to be used cooperatively for concurrent or parallel computation. The individual computers may be shared or local-memory multiprocessors, vector supercomputers, specialized graphics engines, or scalar workstations that may be interconnected by a variety of networks, such as Ethernet, FDDI. The PVM computing model is based on the notion that an application consists of several tasks. Each task is responsible for part of the application's computational workload. 3 Limitations of Parallel Virtual Machine The message passing mechanism of PVM is not optimized for any particular architecture/ operating system and use of sub-optimal mechanisms leads to considerable degradation of system performance. PVM daemons are user processes from the viewpoint of the underlying operating system, there is a possibility that the PVM daemon might crash due to the lack of memory. Even when two communicating process are executing on the same machine process communication is through the uses of sockets, which can be replaced with more efficient mechanism.. There is no support for scheduling of users process in the PVM systems. This lack of a scheduling policy makes it impossible to achieve time 458
459
parallelism among PVM tasks, thereby decreasing the performance of a parallel application running in the Virtual machine.. 4. Dynamic Load Distribution Load distribution seeks to improve the performance of distributed system usually in terms of response time or resource availability, by allocating workload among a set of co-operating hosts. The division of system load can take place statically or dynamically. Load distribution algorithms can be broadly characterized as: Static, Dynamic, and Adaptive Dynamic load distribution algorithms use system state information at least in part to make load distribution decisions, while static algorithms make no use of such information. Adaptive load distribution algorithms are a special case of dynamic load distribution algorithms, in that they adapt their activities by dynamically changing the parameters of the algorithm to suit the system changing state.. Load distribution schemes are divided into policies and mechanisms. Policy is the set of choices that are made to dstribute the load. Mechanism carries out the physical distribution of load and provides any information required by policies. The components of a dynamic load distribution algorithm are: Participation policy, Location Selection policy, and Candidate Selection policy. The mechanisms that are required to implement a dynamic load distribution algorithm are: Load Metric mechanism, Load Information mechanism, and Transfer mechanism 5. Enhanced PVM scheduler We intend to implement a scheduler which considers the static and dynamic factors which could effect the scheduling decision. The key components of the scheduler as described in section 4 have been implemented as follows. Participation Po1icy:All nodes which satisfy the task requirements as indicated by the flags parameter are selected. Apart from this the nodes whose load exceed a threshold value are excluded from the scheduling algorithm. Location Po1icy:This is ignored as the existing PVM system has well defined mechanisms to handle heterogeneity, and explicit location selection. Candidate Po1icy:This policy is also present in the exiting system. All task-spawn requests which do not have explicit choices as of the host on which they have to be spawned, become “candidates” for distribution in the load distribution algorithm. Load Metric mechanism:The load metric mechanism will be discussed in detail in the following section. Load Communication Mechanism:Load communication is achieved in the following manner. Load information collected at a node as determined by the “load metric policy” is to be distributed to every other node in the system. On receiving load from a remote node, a node may choose to update its estimate of the load on the remote machine in one of the three following ways. i) Use a history factor to update the average load info about the remote node. ii)Accept the load information as it is, ( same as (i) with history factor 0 )
460
iii) Reject load information as receiver has better estimate. ( e.g. immediately after spawning a task to a remote node, the load info received from that node could be inconsistent. ) The value to be assigned to the “history factor” of a node would depend on the kind of activities the node is utilized for. Transfer Mechanism:The existing mechanism is used with slight modifications to include additional task parameters. The Load Metric Mechanism:The aim of the load metric mechanism is to find an workload descriptor which is representative of the processing power of a given node. It should be noted that the objective of the scheduling algorithm is to minimize the turnaround time of an application using the PVM system and not to achieve load balancing across the system. The assumptions made are: No priori knowledge about the resource requirement of incoming tasks. 0 Turnaround time of the task as the performance criteria. A goodness value is assigned to each node which reflects the number of tasks that can be scheduled on the node to minimize the turnaround time of the application. This goodness value is in fact a combination of the static processing power of the load as well as the dynamic workload on it. The effects of the following factors that could influence the ‘goodness’ value on a load was analyzed. Static factors: CPU clock speed, Size of Random Accesses Memory (RAM), MIPS Rating of the node ( Performance of FPU), Number of CPUs per node. Dynamic Factors: Number of running processes., Priorities of running processes, Amount of free RAM However, effects of some important factors which were ignored are:Speed of various IIO channels,Cache size and processor cache coupling. CPU clock speed :The results obtained below as shown in fig 1, indicate that CPU clock speed could be used as a measure of system performance provided all other factors are similar. mu .I
~
r
n
.
I
.
I
r
n
.
[Fig 1. CPU Speed vs. turn-around time] [Fig 2. No of running processes vs Execution time] Number of running processes: The effect of number of processes in run state (run queue length) having same priority as the benchmarking program is found is shown in fig 2. Our results show that run-queue length linearly effects the turn around time of an application on the node. Processor Utilization (Level of Idleness): The effect of the idleness on job execution time is shown below in Figure 3. Our results show that the turn around
461
time of an application on a given node varies almost linearly with processor utilization (or inversely with the idle ~ s ugfawu-nul~;.-mcmim~ l process execution). m
v=
Fig 3. [Level of CPU Idleness Vs Execution time1
f-
!= Em
N u ~ b e rof CPUs per node: We have assumed that the numbers of CPUs result in a linear speedup, because we expect CPU bound processes with very limited UO to form the bulk of the job mix input to the scheduler. As a result of our study we boil down to CPU ME'S rating, number of processor on the node, run queue length, priorities of the processes in the run queue as factors, which determine the goodness value of the node. Each of the factors would be assigned weights in order to predict the turn around time of the node at given load cond :When the free FL4M of the system falls below a certain Size experiences high sapping activity which effects the turn thres around time of the benchmark. Hence we consider the effect of RAM only when the he system fall below a certain threshold value. free 6. T ler Algorithm The algorithm is incorporated into existing PVM by adding dynamic scheduling component. The scheduler component is structured as client server, the master PVM acting as client and the participating nodes as the servers. infor~ationmechanism -Data $tructures used LoadInfo // Free RAMon the node Integer FreeRam Integer MPSrating // Mips rating determined by whetstone test // 1 min load maintained by Linux kernel Integer AvgLoad Integer noCPUs // No. of CPUs on the node Integer RunQueueLength // No Of running processes on the node // Priorities of running processes Integer Priorities(] Load information mechanism OperaEions 0 ~eE~oadInfo Called by SERVER in the inJinite loop when CLIENT connects. INPUT: None OUPUT: Nodevalue,RunQueLength , noCPUs , MPSrating BEGIN Constants used Integer RamThresh //threshold value of EreeRam lnteger LoadThresh //threshold value for excess load //Avg loadper host itz system Float AvgLoad Float RamFactor //NodeVal inhibitor when Ram threshold Valueis reached //Integer no CPUs this can be obtainedfrom /proc/cpuinfo$le
H-
"4
Mdubep
-
462
~ E ~ I N Call S y ~ n s o ~ Call GetNoRunning~ Call ~ e t C P ~ I d l e ~ Float Nodevalue // Initial~zation Nodevalue = noCPUs ~ ~ P S r a t i n g I . 0 // Init~alizationends rocess in Run~ueueLength ity o s ~ n n ~process ng
r +weight(prio, temp) DONE odev value
= Nodevalue
/factor ; m ~ r e s h//Free ) ram less than threshold devalue /RamFactor //decrement n ode value byfactor
ENDIF >Avgload ~ L o a d ~ h r e s h ) / / ~>o savg t sys load by threshold 0 //exclude h o s t ~ o m partic~~tion ENDI~ END The above firnction implements the load metric and participation policies of scheduler. The function weig i o r i ~ x) , makes use of the constants to return the factor by which the No of the node has to be decremented for each ority x. e: Indicates how the maxirnum number of processes that are allowed to run on a node more than the average system load. Each node has its o reshold value. This value has no significance for the slower nodes of the system. t for the most powerful nodes should have values which indicate their relative average load in the system.^ ~ d superiori~( in ~ a r o time) in the system.A high threshold low value of threshold -1 .O ensure g power exceeds the average value has to be used for nodes processing power of the system by a large margin.The enhanced distributed scheduler was tested using a parallel matrix multiplication program developed for *~ l ~ p l i the ~ ~ purpose. " Fig4
Fig5
i 0
IW
2M
3w
4w
sm sw 7w am am
Order of the matrix
463
Performance of enhanced scheduler: To measure the performance of the enhanced scheduler the following method was used. Background processes of varying priorities were made to run on the nodes of the cluster, following which the matrix multiplication program was run with 4 sub tasks to be spawned. Turnaround Time: The turnaround time of the application for one to three nodes in the cluster is shown in fig 4. Speedup: Speedup=T(M)/T(WS), where T(WS) is the turn around time obtained using the weighted scheduling and T(RR) is the turnaround time obtained using the round robin scheduler. The fig 5 , clearly indicates that the speed up is evident when the order of the matrix is grater than 200. For smaller sizes the greater communication overhead in sending and receiving load information by the daemons, inhibits any performance benefits achieved due to the load distribution. 7. Conclusions The Enhanced PVM scheduler using a weighted round-robin mechanism have shown improvement over the static scheduling mechanisms under high loads for the case of non interactive computational -intensive (CPU bound) parallel applications involving very limited YO. At lower loads, how ever the overhead of communicating load information across the cluster outweighs the performance gain.The scheduling mechanism could be extended to take into account I/O bound applications, as large number of current distributed applications involves database accesses at least to a certain extent. System parameters such as disk and device latencies, VO bandwidth, etc., will have to be studied to incorporate this facility. References [l] Geist , Beguelin, Dongarra, Jiang, Manchek, Sunderam, “A Users guide to PVM: Parallel Virtual Machine”. 1994. MIT Press. [2] David Browning, “EmbarrassinglyParallel Benchmark under PVM”, Computer Science Corp., NASA Ames Research Labs. [3] J.Dongara et a1 “ PVM- experiences, current status and Future Directions”, ORNL- Tenessee. [4] David HM Spector, “BuildingLinux Clusters” - 0-Reilly [5] Adam Beguelin et al, “PVMexperiences, current status and Future Direction ”, ORNL. [6] Dror G. Feiltson, “Scheduling Parallel Jobs On Clusters”, Institute of Computer Science, The Hebrew University of Jerusalem [7] Russel W Clarke, Benjamin TB Lee,” Cluster Operating System”, Monash University. [ 8 ] Thomas Kunz, “ The influence of different workload descriptions on a heuristic load balancing scheme”, Technical University Damstadh. [9] Singhal M., Shivaratri N.G, “Advanced concepts in Operating Systems”, McGraw-Hill,1994.