Server Program Analysis Based on HTTP Protocol Min CHE1 Ming Fu TUO1 1College of Science, Air Force Engineering University 710051 Xi’An, China

Total Page:16

File Type:pdf, Size:1020Kb

Server Program Analysis Based on HTTP Protocol Min CHE1 Ming Fu TUO1 1College of Science, Air Force Engineering University 710051 Xi’An, China MATEC Web of Conferences 63, 05023 (2016) DOI: 10.1051/matecconf/20166305023 MMME 2016 Server Program Analysis Based on HTTP Protocol Min CHE1 Ming Fu TUO1 1College of Science, Air Force Engineering University 710051 Xi’an, China Abstract—The overwhelming majority of Web developments are built based on Web application of HTTP protocol. To analyze the server program based on the HTTP protocol and the process of interaction between the browser and server, a simple HTTP-based server program is taken as an example to describe how to use the theories of multi- threading and asynchronous operationˈand the core section of HTTP-based server program is gradually resolved with Winsock programming. This method can achieve the purpose to avoid blocking the calling threadˈand improve the responsiveness of a server program. Keywords- HTTP; HTTP protocol; Server; WinSock 1 INTRODUCTION 2.2. HTTP response consists of three components namely the status line,message header,and response body . Hypertext Transfer Protocol (HTTP) is the protocol of web’s application layer. It is the web's core issue. HTTP can be The format of status line is: HTTP-Version Status-Code Rea- realized in the web client’s program or server’s program. The son-Phrase CRLF. HTTP-Version indicates the version of programs running on different end systems of client and server HTTP protocol used in web server; Status-Code indicates the can exchange with each other through exchanging HTTP status code of a response sent back from web server; Reason- message. Web Page is also called document composed of Phrase indicates the text description of status code. The status various objects. Object is a document which is only single code is made up of three digits. The first digit defines the URL addressable. It might be an HTML file, or JPG image, or categories and there are five possible values: GIF image, or JAVA applets, or voice clip, etc. Usually, most 1xx: Indication Information It indicates that the request web pages consist of one basic HIML file and a number of the has been received and processing was continued; referenced objects. HTTP protocol defines how to request a web page from the client (web browser) and how to transfer the 2xx: Success It indicates that the request has been web pages to client from web server. successfully received, understood, and accepted; 3xx: Redirection It indicates that further operating is 2 HTTP PROTOCOL needed to complete the request; HTTP is a protocol of application layer basing on stateless, 4xx: Client Error It indicates that the request has a syntax request and response model. Usually it is based on TCP error or cannot be achieved; connections. The vast majority of web developers are the web applications on the basis of HTTP protocol. A lightweight web 5xx: Server Error It indicates that the server failed to server is accomplished via the program in this study [1]. achieve a legitimate request 2.1. HTTP request consists of three parts namely consumer Common status code, status description, explanation:[3] request, line interest header, and request body. 200 OK //successful client requests Request line begins with a method symbol separated by a 400 Bad Request//Syntax error in the client request. It space, then followed by the Request-URI and the version of HTTP. The form is defined as follows: Method Request-URI cannot be understood by the server HTTP-Version CRLF. Method represents request method; HTTP message is composed of requests from the client to the Request-URI is a uniform resource identifier; HTTP-Version server and responses from server to client. Request and indicates the request version of HTTP protocol; CRLF response messages consist of start line (For request message, represents carriage return and line feed. Except the CRLF at the the start line is the request line; For response message, the start end, CRLF cannot be separated into CR or LF characters in line is the status line), message header (optional), blank lines other part [2]. (only CRLF line), and message body (optional). © The Authors, published by EDP Sciences. This is an open access article distributed under the terms of the Creative Commons Attribution License 4.0 (http://creativecommons.org/licenses/by/4.0/). MATEC Web of Conferences 63, 05023 (2016) DOI: 10.1051/matecconf/20166305023 MMME 2016 3 HTTPSVR PROGRAM ANALYSIS HTTPSVR is a simple web server with a graphical interface, you can specify the port and the main directory of web page.You can generate web accessing log. It is constituted by an endless loop: Receive the request from client, parse and process the request according to the HTTP protocol, then sent the response back to the client. 3.1. HTTPSVR main work flow chart HTTPSVR is a powerful software with rich graphical interface. The main workflow is shown in Figure 1. Firstly ClistenSocket: OnAccept (int nError-Code) function generates CRequestSocket class. When monitoring the connection requests, Accept function creates a new socket pRequest and returns to the handle of sentence. AsyncSelect function monitors two events of FD_READ and FD_ CLOSE in port 80. When an incoming event is FD_READ, the receiver is prepared and OnReceive ( ) function is triggered. When an incoming event is FD_WRIT, OnSend( )function will be triggered and the data is sent. Void Crequest Socket::On Receive (int nError Code) function of ReqSock.cpp will be executed when data arrive. The code int nBytes = Receive (m_buf, GetData (), m_buf, GetSize()) store the data packets uploaded from tcp layer in the m_buf buffers of request and response. Next, use the switch statement to process three kinds of request status (REQ_REQUEST, REQ_HEADER, and REQ_BODY). When requested state of m_reqStatus == Figure 1. The main workflow of HTTPSVR REQ_DONE, call Star-tResponse ( ) to began constructing the response message. 3.2. Asynchronous non-blocking CAsyncSocke Create () function of CasyncSocket In addition to creating When the response message constructing with Start Response a Socket, WSAAsyncSelect ( ) is used to associate this socket ( ) is finished, Async Select (FD_WRITE | FD_CLOSE) is with the window object so that the object can handle the events used. The void Crequest Socket :: OnSend (int nError Code) (message) from the socket. However, after CSocketWnd function is called to send the data in buffer m_buf [4]. receives the event of Socket, it just calls back the virtual functions such as Casync Socket:: On Receive () Casync Socket :: On Send (), CasyncSocket :: OnAccept (), Casync Socket :: On Connect (), etc. So CAsyncSocket derived class only needs to add code or send code in these virtual functions. When using CasyncSocket, all networks IO are asynchronous operation if you use Create to create socket by default. The network data transfer needs the following functions: OnAccept, OnClose, OnConnect, OnOut-OfBandData, OnReceive, OnSen [5]. 3.3. HTTPSVR KEY CATEGORY ANALYSIS Void CListenSocket:: OnAccept (int nErrorCode) Create a new CRequestSocket and monitor port 80. Return to a socket when requests arrive. Through AsyncSelect (FD_READ | FD_CLOSE), the void CRequestSocket :: OnReceive (int nErrorCode) function is called to receive data. 2 MATEC Web of Conferences 63, 05023 (2016) DOI: 10.1051/matecconf/20166305023 MMME 2016 Void CrequestSocket :: OnReceive (int nError-Code) All the browser by BOOL CRequestSocket :: StartResponse major features of httpsvr are achieved including accepting (void). request from web browser, analyzing the request packet according to http protocol, constructing the response message, and sending the processed data packets back to the browser. +773659352*5$0((;&87,21352&(66 Receive (m_buf, GetData ( ), m_buf, GetSize ( )) function receives the request packet from browser. Switch statement 4.1. Run Function processes it depending on the state. When the browse's request Program is started to be executed by the _tWinMain function status m_reqStatus is REQ_REQUEST, process with a while of APPMODULE.CPP file in MFC. The function of return loop. Process Line ( ) function parses the each line of received AfxWinMain is executed. packets and then initialize m_pRequest class. After the swich statement is finished, StartResponse ( ) is called according to 4.2. Link Server the parsing results of m_pRequest to construct the response A worker thread pThread is created by the int AFXAPI packet. Finally, the function AsyncSelect (FD_WRITE | AfxWinMain function in WINMAIN.CPP file and initialize htt FD_CLOSE) recalls the function OnSend to sent. psvr. The BOOL CHttpSvrApp :: InitInstance method in void CRequestSocket :: OnSend ( int nErrorCode) call int HttpSvr.cpp file is called to initialize the HTTP server and then nBytes = Send (m_buf. GetData ( ), m_cbOut ) function to run the main function of thread. Finally, int CWinThread :: send the data in the cache and process the possible errors by Run function is run in THRD-CORE.CPP file. The loop of closing or re-transmitting. server begins to run. void CRequestSocket :: ProcessLine (void) conducts Within loops, the void CLis-tenSocket OnAccept method in processing according to different states of m_reqStatus to Listen.cpp is called to generate CRequestSocket, which is set complete the initialization of CRequest * m_pRequest. for monitoring port 8080. The port is set as 8080, the address of web service file is directed to the address of root. Now, the BOOL CRequestSocket :: StartResponse (void) [6] This result is displayed as shown in Figure 2. function is used to construct the response message. It saves the constructed response packet in the cach of m_buf and sends m_buf using void CRequestSocket :: OnSend (int nErrorCode). It can construct different response packet according to different Method (GET, HEAD, POST). For example, when the Method is GET, it indicates that the browser needs to browse the web page. The FindTarget (strFile) is started to search in the default directory. If it exists, the packet is open and the http protocol requiring head is constructed using StuffHeading ( ). Then Figure 2. Link the server. using StartTargetStuff, the contents of opened web page is put into m_buf and waiting to be sent.
Recommended publications
  • Active Server Pages (ASP)
    Active Server Pages (ASP) Outline 11.1 Introduction 11.2 How Active Server Pages Work 11.3 Client-side Scripting versus Server-side Scripting 11.4 Using Personal Web Server or Internet Information Server 11.5 A Simple ASP Example 11.6 Server-side ActiveX Components 11.7 File System Objects 11.8 Session Tracking and Cookies 11.9 Accessing a Database from an Active Server Page 11.10 Case Study: A Product Catalog 11.1 Introduction • Active Server Pages (ASP) – Processed in response to client request – ASP file contains HTML and scripting code – VBScript de facto language for ASP scripting • Other languages can be used – JavaScript – .asp file extension – Microsoft-developed technology – Send dynamic Web content • HTML • DHTML • ActiveX controls • Client-side scripts • Java applets 11.2 How Active Server Pages Work • Client sends request – Server receives request and directs it to ASP – ASP processes, then returns result to client • HTTP request types – Request methods • GET – Gets (retrieves) information from server – Retrieve HTML document or image • POST – Posts (sends) data to server – Send info from HTML form » Client-entered data » Info to search Internet » Query for a database » Authentication info 11.2 How Active Server Pages Work (II) • Browsers often cache Web pages – Cache: save on disk – Typically do not cache POST response • Next POST request may not return same result • Client requests ASP file – Parsed (top to bottom) by ActiveX component asp.dll • ActiveX component: server-side ActiveX control that usually does not have GUI
    [Show full text]
  • Asynchronous Web Requests As Service
    Asynchronous Web Requests As Service Manual and dodecahedral Royal ratified almost half-yearly, though Maxim licensing his refutation Wainwrightredates. Wallache paralysing stared closely leadenly? and tyrannises Godfree often her Pete. stages inoffensively when psycholinguistic Many kinds of business processes have these features. Professional Services Engineer at elastic. About Attaching Policies to Callback Clients. The new mapper, as a site is asynchronous web requests service as mechanisms for? Web Service improve response? When using the synchronous execution mode, the application must wait for the request to confess and clamp the results. Sets DOMReady to luggage and assigns a ready function to settings. An error occurred and moment were unable to loathe your request. There mat be gaps or spaces in between characters. Gaps between programs and add too many more asynchronous result will all asynchronous web service is this example? Scripting on pay page enhances content navigation, but does task change their content that any way. Specify whether the asynchronous as instances in? How google webmaster central time, magento creates an interface at what can add support asynchronous communications at ultra low by travel, service requests as asynchronous web url is an order. To monitor the SOAP messages, insert the software listener between heat flow by the service. Understanding the address the trading application as asynchronous web requests service port types of performance, the operation of hazardous material is a really exist? Younger students have clarity on your free to code execution first, the asynchronous web requests as service? To do surprise you gave use an asynchronous generator that yields bytes.
    [Show full text]
  • Web Services: Usage and Challenges in Mobile Phones (Computers) W3C
    Web Services: Usage and challenges in mobile phones (computers) W3C Seminar - Monday 6 March 2006 - Paris, France Timo Skyttä Director, Web Services Nokia Technology Platforms 1 © 2005 Nokia Topics • Web Services & presentation scope defined • Web Services - business ? ¡Si, habla Web Services! • Challenges in general, and some mobile specific.... • Nokia Web Services • Application Examples 2 © 2005 Nokia The Web and Web Services Web Services connect The Web connects computer applications people to information to each other on a global scale on a global scale (GARTNER, Oct 2005) 3 © 2005 Nokia Two models of mobilising service access Presentation Browser Application Presentation and Service Logic Service Logic HTTP server Scope of this Web Services interfaces presentation Enterprise Service Oriented Application Architecture (SOA) Integration (EAI) 4 © 2005 Nokia Web Services - business ? 5 © 2005 Nokia Why Web Services The deployment of Web Services technology aims to enhance existing services and to create new and innovative services. • Web Services are being widely deployed; Service/Consumer• to facilitate interoperability across runtime different hardware independence and software ! implementations, machine architectures and application programming interfaces (APIs). • to offer near-term benefits by enabling quicker and cheaper integration of existing Interoperabilityservices. ! • to define an environment where applications can be created by combining multiple services in a single workflow (a.k.a. mashups). This will make it easy to adjust Automaticapplication functionality, code because generation services can be added (WSDL or removed + from tools) the ! application workflow. • In addition, interoperability will allow application designers to replace one service implementation with another for technical or business reasons. This vision of Service-Oriented Architectures (SOAs) is rapidly becoming a reality through the standardization and deployment of Web Services technology.
    [Show full text]
  • Just Another Perl Hack Neil Bowers1 Canon Research Centre Europe
    Weblint: Just Another Perl Hack Neil Bowers1 Canon Research Centre Europe Abstract Weblint is a utility for checking the syntax and style of HTML pages. It was inspired by lint [15], which performs a similar function for C and C++ programmers. Weblint does not aspire to be a strict SGML validator, but to provide helpful comments for humans. The importance of quality assurance for web sites is introduced, and one particular area, validation of HTML, is described in more detail. The bulk of the paper is devoted to weblint: what it is, how it is used, and the design and implementation of the current development version. 1. Introduction The conclusion opens with a summary of the information and opinions given in this paper. A Web sites are becoming an increasingly critical part of selection of the lessons learned over the last four years how many companies do business. For many companies is given, followed by plans for the future, and related web sites are their business. It is therefore critical that ideas. owners of web sites perform regular testing and analysis, to ensure quality of service. 2. Web Site Quality Assurance There are many different checks and analyses which The following are some of the questions you should be you can run on a site. For example, how usable is your asking yourself if you have a web presence. I have site when accessed via a modem? An incomplete list of limited the list to those points which are relevant to similar analyses are given at the start of Section 2.
    [Show full text]
  • HTML5 and the Open Web Platform
    HTML5 and the Open Web Platform Stuttgart 28 May 2013 Dave Raggett <[email protected]> The Open Web Platform What is the W3C? ● International community where Members, a full-time staff and the public collaborate to develop Web standards ● Led by Web inventor Tim Berners-Lee and CEO Jeff Jaffe ● Hosted by MIT, ERCIM, Keio and Beihang ● Community Groups open to all at no fee ● Business Groups get more staff support ● Technical Working Groups ● Develop specs into W3C Recommendations ● Participants from W3C Members and invited experts ● W3C Patent process for royalty free specifications 3 Who's involved ● W3C has 377 Members as of 11 May 2013 ● To name just a few ● ACCESS, Adobe, Akamai, Apple, Baidu, BBC, Blackberry (RIM), BT, Canon, Deutsche Telekom, eBay, Facebook, France Telecom, Fujitsu, Google, Hitachi, HP, Huawei, IBM, Intel, LG, Microsoft, Mozilla, NASA, NEC, NTT DoCoMo, Nuance, Opera Software, Oracle, Panasonic, Samsung, Siemens, Sony, Telefonica, Tencent, Vodafone, Yandex, … ● Full list at ● http://www.w3.org/Consortium/Member/List 4 The Open Web Platform 5 Open Web Platform ● Communicate with HTTP, Web Sockets, XML and JSON ● Markup with HTML5 ● Style sheets with CSS ● Rich graphics ● JPEG, PNG, GIF ● Canvas and SVG ● Audio and Video ● Scripting with JavaScript ● Expanding range of APIs ● Designed for the World's languages ● Accessibility with support for assistive technology 6 Hosted and Packaged Apps ● Hosted Web apps can be directly loaded from a website ● Packaged Web apps can be locally installed on a device and run without the need for access to a web server ● Zipped file containing all the necessary resources ● Manifest file with app meta-data – Old work on XML based manifests (Web Widgets) – New work on JSON based manifests ● http://w3c.github.io/manifest/ ● Pointer to app's cache manifest ● List of required features and permissions needed to run correctly ● Runtime and security model for web apps ● Privileged apps must be signed by installation origin's private key 7 HTML5 Markup ● Extensive range of features ● Structural, e.g.
    [Show full text]
  • Downloaded (Just Like an EXE File) and Executed from Local File System
    HTML - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/HTML HTML From Wikipedia, the free encyclopedia HyperText Markup Language ( HTML ) is the main HTML markup language for displaying web pages and other (HyperText Markup Language) information that can be displayed in a web browser. Filename .html, .htm HTML is written in the form of HTML elements extension consisting of tags enclosed in angle brackets (like <html> ), within the web page content. HTML tags most Internet text/html commonly come in pairs like <h1> and </h1> , although media type some tags, known as empty elements , are unpaired, for Type code TEXT example <img> . The first tag in a pair is the start tag , the second tag is the end tag (they are also called opening Uniform Type public.html tags and closing tags ). In between these tags web Identifier designers can add text, tags, comments and other types of Developed by World Wide Web Consortium & text-based content. WHATWG The purpose of a web browser is to read HTML Type of Markup language documents and compose them into visible or audible web format pages. The browser does not display the HTML tags, but Extended SGML uses the tags to interpret the content of the page. from HTML elements form the building blocks of all websites. Extended to XHTML HTML allows images and objects to be embedded and Standard(s) can be used to create interactive forms. It provides a ISO/IEC 15445 means to create structured documents by denoting W3C HTML 4.01 structural semantics for text such as headings, paragraphs, (http://www.w3.org/TR/1999 lists, links, quotes and other items.
    [Show full text]
  • Active Server Pages Architecture
    Active Server Pages Architecture Li Yi South Bank University Contents 1. Introduction ...................................................................................................................................... 2 1.1 Host-based databases ............................................................................................................... 2 1.2 Client/server databases ............................................................................................................ 2 1.3 Web databases........................................................................................................................... 3 2. Active Server Pages ........................................................................................................................ 5 2.1 ASP Components ...................................................................................................................... 6 2.2 ADO and Database................................................................................................................... 7 2.3 The steps of executing a query ............................................................................................. 11 3 ASP Attributes ................................................................................................................................ 12 References:.......................................................................................................................................... 13 1 1. Introduction The development of databases always comes
    [Show full text]
  • Ts 124 623 V9.3.0 (2011-10)
    ETSI TS 124 623 V9.3.0 (2011-10) Technical Specification Digital cellular telecommunications system (Phase 2+); Universal Mobile Telecommunications System (UMTS); LTE; Extensible Markup Language (XML) Configuration Access Protocol (XCAP) over the Ut interface for Manipulating Supplementary Services (3GPP TS 24.623 version 9.3.0 Release 9) 3GPP TS 24.623 version 9.3.0 Release 9 1 ETSI TS 124 623 V9.3.0 (2011-10) Reference RTS/TSGC-0124623v930 Keywords GSM,LTE,UMTS ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N° 348 623 562 00017 - NAF 742 C Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88 Important notice Individual copies of the present document can be downloaded from: http://www.etsi.org The present document may be made available in more than one electronic version or in print. In any case of existing or perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF). In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at http://portal.etsi.org/tb/status/status.asp If you find errors in the present document, please send your comment to one of the following services: http://portal.etsi.org/chaircor/ETSI_support.asp Copyright Notification No part may be reproduced except as authorized by written permission.
    [Show full text]
  • Implementing OGC Web Map Service Client Applications Using JSP, JSTL and XMLC
    Implementing OGC Web Map Service Client Applications Using JSP, JSTL and XMLC Hao Ding , Richard Pascoe & Neville Churcher Department of Computer Science University of Canterbury. Christchurch, New Zealand Phone: +64 3 364-2362 Fax: +64 3 364-2569 Email: [email protected] , {richard, neville}@cosc.canterbury.ac.nz Presented at SIRC 2002 – The 14th Annual Colloquium of the Spatial Information Research Centre University of Otago, Dunedin, New Zealand th December 3-5 2002 ABSTRACT Java technologies are widely used in web application development. In this paper are described three approaches to developing Java-based web applications and our experiences with applying each to the development of client that interact with servers implementing the OGC (Open GIS Consortium) Web Map Service (WMS) specification. Also described is the installation and configuration of open source software that implements the WMS specification. The paper is concluded with some preliminary insights into when one of the three approaches to WMS client implementation is more suited to another. Keywords and phrases: WMS, JSP, JSTL, XMLC, map layer, web map server 1.0 INTRODUCTION Of the many technologies, such as Common Gateway Interface (CGI), Active Server Pages (ASP), JavaServer Pages (JSP), that are used to develop web applications, three are of particular interest to the research presented here. These three technologies or approaches to developing clients that utilise web services are JavaServer Pages (JSP), JSP with the use of tags from the JSP Standard Tag Library (JSTL), and the eXtensible Markup Language Compiler (XMLC). JSP is a more convenient way to write Java servlets, and allows the insertion of Java code directly into static HTML (Hypertext Markup Language) pages.
    [Show full text]
  • Attacking AJAX Web Applications Vulns 2.0 for Web 2.0
    Attacking AJAX Web Applications Vulns 2.0 for Web 2.0 Alex Stamos Zane Lackey [email protected] [email protected] Blackhat Japan October 5, 2006 Information Security Partners, LLC iSECPartners.com Information Security Partners, LLC www.isecpartners.com Agenda • Introduction – Who are we? – Why care about AJAX? • How does AJAX change Web Attacks? • AJAX Background and Technologies • Attacks Against AJAX – Discovery and Method Manipulation – XSS – Cross-Site Request Forgery • Security of Popular Frameworks – Microsoft ATLAS – Google GWT –Java DWR • Q&A 2 Information Security Partners, LLC www.isecpartners.com Introduction • Who are we? – Consultants for iSEC Partners – Application security consultants and researchers – Based in San Francisco • Why listen to this talk? – New technologies are making web app security much more complicated • This is obvious to anybody who reads the paper – MySpace – Yahoo – Worming of XSS – Our Goals for what you should walk away with: • Basic understanding of AJAX and different AJAX technologies • Knowledge of how AJAX changes web attacks • In-depth knowledge on XSS and XSRF in AJAX • An opinion on whether you can trust your AJAX framework to “take care of security” 3 Information Security Partners, LLC www.isecpartners.com Shameless Plug Slide • Special Thanks to: – Scott Stender, Jesse Burns, and Brad Hill of iSEC Partners – Amit Klein and Jeremiah Grossman for doing great work in this area – Rich Cannings at Google • Books by iSECer Himanshu Dwivedi – Securing Storage – Hackers’ Challenge 3 • We are
    [Show full text]
  • Knowledge Extraction for Hybrid Question Answering
    KNOWLEDGEEXTRACTIONFORHYBRID QUESTIONANSWERING Von der Fakultät für Mathematik und Informatik der Universität Leipzig angenommene DISSERTATION zur Erlangung des akademischen Grades Doctor rerum naturalium (Dr. rer. nat.) im Fachgebiet Informatik vorgelegt von Ricardo Usbeck, M.Sc. geboren am 01.04.1988 in Halle (Saale), Deutschland Die Annahme der Dissertation wurde empfohlen von: 1. Professor Dr. Klaus-Peter Fähnrich (Leipzig) 2. Professor Dr. Philipp Cimiano (Bielefeld) Die Verleihung des akademischen Grades erfolgt mit Bestehen der Verteidigung am 17. Mai 2017 mit dem Gesamtprädikat magna cum laude. Leipzig, den 17. Mai 2017 bibliographic data title: Knowledge Extraction for Hybrid Question Answering author: Ricardo Usbeck statistical information: 10 chapters, 169 pages, 28 figures, 32 tables, 8 listings, 5 algorithms, 178 literature references, 1 appendix part supervisors: Prof. Dr.-Ing. habil. Klaus-Peter Fähnrich Dr. Axel-Cyrille Ngonga Ngomo institution: Leipzig University, Faculty for Mathematics and Computer Science time frame: January 2013 - March 2016 ABSTRACT Over the last decades, several billion Web pages have been made available on the Web. The growing amount of Web data provides the world’s largest collection of knowledge.1 Most of this full-text data like blogs, news or encyclopaedic informa- tion is textual in nature. However, the increasing amount of structured respectively semantic data2 available on the Web fosters new search paradigms. These novel paradigms ease the development of natural language interfaces which enable end- users to easily access and benefit from large amounts of data without the need to understand the underlying structures or algorithms. Building a natural language Question Answering (QA) system over heteroge- neous, Web-based knowledge sources requires various building blocks.
    [Show full text]
  • Tool Support for Computer Role-Playing Game Programming: Foundations, Guidelines and Applications
    Tampereen teknillinen yliopisto. Julkaisu 1237 Tampere University of Technology. Publication 1237 Juha-Matti Vanhatupa Tool Support for Computer Role-Playing Game Programming: Foundations, Guidelines and Applications Thesis for the degree of Doctor of Science in Technology to be presented with due permission for public examination and criticism in Tietotalo Building, Auditorium TB222, at Tampere University of Technology, on the 17th of October 2014, at 12 noon. Tampereen teknillinen yliopisto - Tampere University of Technology Tampere 2014 ISBN 978-952-15-3341-9 (printed) ISBN 978-952-15-3393-8 (PDF) ISSN 1459-2045 Abstract Computer role-playing games (CRPGs) are a genre of computer games, which aim at providing similar player experience than their ancestors, paper-and- pen role-playing games. For a type of digital games, their evolution is already rather long, as the first ones were created in 1980s. Typically CRPGs em- phasize character development and to support this huge fantasy worlds and sophisticated storylines are also present. CRPG development has unique challenges, which derive from these typical features. Content creation is a continuous issue, since huge virtual worlds and long storylines must be filled with content. Personalization is also an important issue, because all fun of creating personalized character is lost if it has no effect into the game. Low starting threshold is important for successful game. It is becoming essential that the player can start playing quickly and she is not required to spent time waiting the installation to be completed. This can be achieved by web-based approach, since web-based games do not require installations.
    [Show full text]