The Design and Implementation of a Mobile Distributed Web Server System
全文
(2) named Web Content Requesting Imbalance. designed for redirecting all client requests. To. (WCRI). There are some popular web contents,. solve this problem, we propose a system call. including HTML pages, files, etc. For example,. mobile distributed web server system. In our. if web content is up-to-date, it will be very. system, no software or hardware modification. popular for a period of time. The web site that. need and this system can provide flexibility. contains news web pages is another example,. since it is a pure software system. This will. since the latest news will be request frequently. also reduce the cost since it can be constructed. by users. The problem describe previously is. by existing systems. And this system can make. more serious for large (popular) web site.. use of on-line PCs around the world.. In order to solve these problems,. In this paper, we describe our system the. researchers had proposes a distributed web. as follows: Section 2 we describe our system. server system. Basically, this idea uses. architecture. In section 3, we discuss the. multiple web servers to share client requests.. redirecting algorithm in this system. We. However, load balancing is another important. describe some important system issues in. issue. Many approaches have been proposed. section 4. We discuss our implementation in. [5,6]. Generally speaking, there are four kinds. section 5.and we conclude our system in. of dynamic load balancing methods on web. Section 6.. server. system,. including. Client-based. approach, DNS (Domain Name Service)-based. 2.. System architecture. approach, Dispatcher-based approach, and. There are five components of our system:. Server-based approach .[5] these approaches. host server, mobile server, database server,. use hardware or software redirection method. communication. to share web client requests to web servers.. tools.Figure 1 give a basic architecture of. These. problem about flexibility. All approaches are. 1,we can see there are two sides of servers in. not compatible to current systems (i.e. DNS,. mobile distributed web server system.One is. web browser, web server, etc) due to the. host server side; the other is mobile server side.. modification of software or hardware. This. There are three kinds of server in host server. will lead to high constructing cost, low. side, host server, communication server, and. generality, low popularity, and most important. database server. On the other hand, there are. of. these. only mobile servers in mobile server side. All. approaches lack flexibility, they don’t work. servers in host server side are on the Local Area. well in some situations. For example, if we. Network (LAN). Mobile servers are connected. want to deal with Web Content Requesting. on Wide Area Network (WAN) with host server. Imbalance (WCRI), these approaches are not. side. Mobile servers are connected each other on. suitable. If we want to redirect client requests. LAN or WAN. In the following section, we will. that request popular web contents instead of all. discuss each server in detail. Then we will. client requests, but these approaches are. discuss the message model in this system.. flexibility.. the. management. mobile distributed web server system. In figure. low. have. and. same. all,. approaches. server,. Because.
(3) Figure1.System Architecture . 2.1. Host server: Host server is basically a web server with. Service program. We use service program to perform the following tasks:. ability to access database server via server script. . Monitor host server status. pages, for architecture transparency [5], all. . Access database server. client must connect to host server first before. . Receive/send control messages. redirection to other mobile servers, and if the. . Receive/send. web. contents. client send next request (i.e.: click a hyperlink on HTML pages), it will be link to host server. specialized. . Specialized. web. content. (i.e.. files,. for redirection. This process will continue until. HTML pages ,etc) distributed to all. client exits this website. We monitor host server. mobile servers. status and store this information in database. Our distributed mobile web server system. server. We monitor host server’s CPU, memory,. implementation uses some specialized web. and network utilization.Host server consists of. content. Because we need redirecting every. the following components:. client’s request, all web pages in our system are. . Web server with supporting server. server script pages. These specialized web pages. scripting language. can be modified from normal web pages easily.. Web server is an ordinary web server,. The main difference between specialized web. which can support server scripts (for example,. pages and normal web pages is the internal. ASP or JSP). We use HTTP redirection [13] to. hyperlinks in web pages. Internal hyperlinks are. perform the redirection process.. hyperlinks referred to the website which this.
(4) web pages belongs to. These internal links need. choice. The third reason is security. Since. to be modified so that they can link to a special. mobile server side doesn’t know the information. server scripting pages. We call this server script. of database server, this can avoid malicious. page as Selector. All Internal hyperlinks must. intention. link to this Selector for next possible redirection.. message-passing. Next possible redirection occurs when client. between host server side and mobile server side.. clicks hyperlink on the web pages. When users. Whenever mobile server need communicate. click these internal hyperlinks, they will be. with host server side , it can sent message to. redirecting to one mobile server that has the web. communication server and let communication. content base on redirecting algorithm in selector.. server decide next step base on the message of. The other web contents, for example: files, don’t. mobile server. This indirect message-passing. need modification since it contains no hyperlink.. way can avoid drawbacks describe above. 2.2. Mobile servers. (simplicity, transparency, and security issues).. Mobile servers are web servers, which hold. web. contents. transferred. . by. on. database. server.. approach. to. We. use. communicate. Distributed web contents (i.e. files, HTML pages etc). communication server. They can set up through. Distributed web contents are the same to. web browsers. Once setting up, they can. host server. Distributed web contents in mobile. response to client’s requests, which redirect by. servers can be partial or full mirror of website.. host server. Furthermore, remote communication. Information. server can control these mobile servers and. contents should be stored in organized form for. minimize the local maintain cost. Mobile server. efficiency querying. In our system, we store this. contain the following components:. information in database server.. . . Service program This Service program is similar to Service. about. these. distributed. web. Web server with supporting scripting language.. program of host server, except it cannot access. Web server is a general web server. But. database. There are three reasons why we don’t. this web server has to be the same to host server. let this Service program direct access database. side. There are two main reasons: first reason is. server. First reason is simplicity. We hope the. simplicity. If mobile server side’s web server is. structure of mobile server as simple as possible.. different with host server side, we must maintain. This can reduce the transfer and maintenance. several versions of web contents since the server. cost. Second reason is transparency. In this. script languages between these web servers are. approach, this Service program doesn’t need to. different. It is an inefficient choice. Second. know information about database (i.e. location,. reason is compatibility. Even we maintain. database structure, password etc). We can. several version of web contents, we still have to. modify database server without change mobile. face the compatibility problem. Since not all. server’s service program. We only need modify. web servers are compatible with each other, we. host server side software to reflect this. have two choices: design a new web server or. modification, which is an easier and cheaper. choose one web server. Clearly, the letter choice.
(5) is better in cost and stability and most important. communicating between host server and mobile. of all, compatibility.. server side. When it receives messages form. 2.3. Database server. mobile servers, and performs proper action to. In our system, we use relational database. reflect this message (i.e. update database). It can. server to ménage information.We use database. send massage to particular mobile servers (i.e.. store the following information:. check mobile server status). It has a service. . Mobile server information. program to perform operations describing above.. . Host server information. This service program should perform the. . Communication server information. following functionalities:. . Web content information. . Monitor communication server status. . Redirection information. . Access database server. . User information. . Receive/send control messages. . Other information. . Receive/send specialized web contents. Database server consists of the following components: . Database system. 3.5. Management tools: In order to manage this system, we need develop some management tools. One is. This database has no special requirements and. maintain tool that can synchronize the whole. no modification needed. This means simplicity. web contents in this system when update. and generality, which is important to developers. occurs.. and administrators of this system. In our system,. administrator can decide what web content. database has an important role since all. need updating via our tool, then it will search. redirection must query this database. This. database for every web content information. database’s loading may be relative high.. (i.e. web content location). After gathering. Database Optimization can ease this situation. information, it sends every updated content to. and this issue is beyond this paper. We take. specified mobile server and completes this. several actions in order to achieve database. process. The other tool is a report and analysis. higher performance. One of these actions is. tool. It can generate reports like usage report. keeping the database small. or statistics report to help web administrator. . Service program. make decisions (i.e. decide which content is. Besides database optimization, we need a. heavily used and it need more mobile server to. service program to monitor whole database. It. work as. follows:. first. web. share loading).. server in order to take proper response when overloading or crashing occurs.This service program has the following functionalities:. 3.. Redirecting algorithm. Since we want to select proper mobile. . Monitor database server status. server and redirect user’s request to this selected. . Receive/send control messages. server. We propose a redirecting algorithm to. 3.4 Communication server: Communication server is responsible for. perform this task. The goal of this redirecting algorithm is selecting a mobile server that.
(6) geographical location is close to web user and. country list and a number of total mobile servers. this server’s status is available. The whole. in this region. For example, the CL for Taiwan. process can be divided to two parts: determining. region can be defined as TW (2), US (5), JP (6),. user location process and selecting mobile. HK (1)… this means that there two available. server process.. mobile servers in Taiwan, five available mobile. In determine user location process, we use. servers in United States, and so on. And the. IP address mapping method. First we build two. order of CL means that we prefer the mobile. databases.. for. servers in Taiwan to serve the web users in. IP-to-country code mapping, and the other is. Taiwan, and we prefer the mobile servers in. used for storing an order country list for every. United States to serve the web users in Taiwan,. region. We call this list as Candidate List (CL).. and so on. The number of records in CSB is. We call first database as Location-Mapping. approximately hundreds of records. This size is. Database (LMB) and the second database as. so small that we even do not need to use. Candidate-Selecting Database (CSB). The main. database server to store these data.. One. database. is. used. functionality of LMB is mapping one IP address. After building LMB and CSB, we can. to one country code that this IP belongs to. We. perform selecting mobile server process. The. can use a IP-address as a key to query LMB and. redirecting algorithm runs as follows. First,. get the country code of this IP address. With. when client access homepage of our website for. properly design; the number of records in LMB. the first time, we will perform the IP-to-country. is approximately several thousands. This size is. mapping by querying LMB using the IP address. small for modern database. Small number of. of the client as a key. After querying, we can get. database records can help this system more. the country code of this client. Then query the. efficiency and ease the maintenance work. For. CSB for the Candidate List(CL) of this region.. example, if we query this database with a IP. We store this information in client side. address 163.13.127.8, we will get the country. cookies. The reason we use cookies is that we. code TW (Taiwan).. can do this process only when cookie expired. Beside LMB, we build another database,. and saving computing power of host server.. CSB. The main functionality of CSB is. There is another advantage for using cookie: we. providing web clients and host server with the. don’t need perform this process for every. location and number of mobile servers in order.. client’s request. When client send request, we. Host server can use this message for choosing a. can choose a set of closer mobile servers (for. geographically. The. example, 10% of all mobile servers) according. is. to the order of CL. We randomly select one. proportion to the geographical distance. We can. mobile server these selected mobile server. The. predefine the Candidate List (CL) for each. reason we make a random choice is that we. region around the world and dynamic adjust it. want the distribution of this algorithm can. according to network condition in client and. uniform enough to prevent the least-load. server side. The CL consists of a preferring. problem [5,6]. If the number of selected mobile. network. closer. distance. mobile. between. server.. two. points.
(7) Figure2.The redirecting algorithm server is not enough, we use host server to. (7)). The host server select a mobile server base. response this request.. on the redirecting algorithm describe above and. Figure 2 shows the flow of this redirecting. perform a HTTP redirection (step (8)). After. algorithm. Step (1) to (4) is the determining user. redirecting, client computer1 connect mobile. location process and step (5) to (10) is selecting. server1 and mobile server1 response to client. mobile server process. LMB and CSB are in. computer1 (step (9) and step (10)).. database server. In step (1), client computer1 accesses our. 4.. Important System Issues. website for the first time. When the host server. In our system, there are some issues that. receives this request, it queries LMB and CSB. need to deal with. These issues are reliability. for the IP-to-country code mapping and CL (step. (availability) issue and security issue. We will. (2) and step (3)). Then host server sends. discuss them in following sections. In reliability. IP-to-country code mapping and CL back to. issue, we discuss that how to keep client’s. client computer1 in step (4). The client. request will not redirected to an unavailable. computer 1 stores this information in its own. server. In security issue, we discuss that how to. cookies. In step (5), client computer1 sends. keep the web content of a mobile server form. another request and receive by host server. Host. being suffered from malicious action (such as. server then access the country code of client. unauthorized deletion).. computer1 and query the CSB and get the CL of. 4.1. Reliability (availability) issues. the region of client computer1 (step (6) and step.
(8) Figure 3. Passive Message-Probing Model In our system, we use HTTP redirection to. information such as mobile server’s IP address,. redirect client’s request to one of mobile servers.. hardware. information,. utilization,. and. an. In this process, we must make sure that this. availability flag. Mobile servers send this. redirecting process will not redirect client’s. information periodically in status message.. request to an unavailable server. We provide a. Communication server will gather the status. solution called Message-Probing Model base on. message. Then communication server will. Message-passing model that we described in. update database base on these status message.. previous section and replication of web contents.. We call this method as Passive Message-Probing. We can distribute multiple copies of one web. Model. Figure 3 shows this model. In figure 3,. content to many mobile servers, each mobile. mobile server1 send status message (A1). server have one copy. In our system, host server. periodically, if this message received by. has one copy of every web contents. This can. communication server, it will acknowledge this. ensure that at least one copy of every web. message (A2). Then communication server will. contents is available. In other words, all clients’. update the information of mobile server1 in. request will be responded since at least host. database server. If mobile server do not send. server can response these requests.. status message in time for some reasons,. On the other hand, System will keep. communication server will send control message. mobile servers’ status data in database server.. to this mobile server to ask it send status. This information will be kept in a database table.. message.. In. communication server will update database. this. table,. we. keep. mobile. server’s. If. still. no. response,. them.
(9) Figure 4. Active Message-Probing Model server. and. mark. this. mobile. server. as. unavailable. by. send. control. message. unavailable. Message (B1) and (B2 )in figure 3. periodically. When the service program of one. shows this scenario.. mobile server detects some abnormal condition. If one mobile server sends its status message. (for example, system reboot), it can send control. in time and its status is available, its status will. message to communication server that indicates. be set available. If one mobile server sends its. service unavailable.. status message in time and its status is. Alternatively, communication server can. overloading, then its status will be set to. send control message to some selected mobile. unavailable. If one mobile server cannot send its. servers actively to check their status. We call. status message to communication server in time. this method as Active Message-Probing Model.. for some reason (i.e. system crash or network. In this model, the communication server. failure), communication server will send control. randomly selects some mobile server (for. message actively to this mobile server. If this. example, 5% of all mobile servers) and send. mobile server response, then communication. control message to ask them reply their status. If. server will acknowledge this message to the. they. mobile server. If not, this mobile server will be. communication server update information in. determined as unavailable. There are two ways. database server and mark them as available. If. that one mobile server become available: one is. not, the communication server will send control. this mobile server send status message to. message for a few times then wait for status. communication. is. message of the mobile server. If the mobile. communication server detect mobile server is. server replies, then the communication server. server.. The. other. reply. their. status. message,. then.
(10) will update information in database server and. previously, this service program on mobile. mark them as available. If the communication. server can monitor the status of mobile servers,. server does not receive this message, the. including file status. Since web content is. communication server will update information. consisting of some related files, we can monitor. in database server and mark them as unavailable.. these files to ensure security. For example, we. Figure 4 shows this scenario. In figure 4, the. can monitor files attributes, such as last. communication server send message (A1) and. modified time, to make sure that whether this. (B1) to mobile server1 and mobile server 3.. file has be modified unauthorized. Another way. Then mobile server1 replies its status message. is monitoring user’s action. By monitor user. (A2) , then communication server update. action, we can detect user’s unauthorized action. information in database server and mark them as. such as deleting web content. We can encrypt. available. Mobile server 3 does not send its. web content if we need protect information. status message to the communication server. As. inside the web content. By combining these. describing previously, the communication server. methods, this system can provide security for. will try for a few times and wait. If mobile. web content on the mobile servers.. server 3 replies, then communication server. 5.. update information in database server and mark. Implementation. them as available. If not, then communication. In order to examine our system design, we. server update information in database server and. implement this system. As describing in. mark them as unavailable. previous sections, no software or hardware. By combine Message-Probing Model and. modification needed. We implement this system. replication, this system can ensure that most. on Microsoft windows 2000 operating system.. requests of clients will be redirect to available. We. server.. implement our system. These systems include. 4.2. Security issues. Microsoft Internet Information Server (IIS) and. integrate. many. existing. systems. to. In our system, mobile servers are not. Microsoft SQL Server. Besides of these systems,. under control of host server completely. Since. we integrate several software technologies such. these host server side does not own these mobile. as ASP (Active Server Pages), COM (Common. servers and their location is distributed globally.. Object Model)[15,16], and Windows NT service.. It is not clever that we control these mobile. In our implementation, host server uses IIS on. servers by local personnel for each mobile. windows2000 server. Communication server is. server. Besides this, security is another issue.. an NT service, database server use SQL server. For example, if web content on one mobile. on windows2000 server. Mobile server uses IIS. server is modified unauthorized, it is dangerous. on windows2000 professional or server. All. for clients that are redirected by host server. To. service programs are implemented with NT. solve this problem, we need an automatic. service.. process to reduce manpower. We use a service. implemented with ASP. All messages are passed. program on each mobile server. As described. via Windows Socket (WINSOCK) .we transfer. Our. redirecting. algorithm. is.
(11) updated web content via Trivial File Transfer. resource-consuming. web. contents. like. Protocol (TFTP)[14]. We choose TFTP instead. multimedia files. This system’s flexibility is. of FTP because we only need to transfer files. another advantage. However, some experimental. between two servers. TFTP is a simple protocol. results are needed in different redirecting. that meets our requirement. In database server,. algorithms.. we maintain several tables in database: the. Reference. IP-mapping table, the web content table, the server table, and the user table. IP-mapping table handles with IP to country-code mapping.. [1]. Redirection algorithms for load sharing in. Web content table deals with web content. distributed Web-server systems. information.. server. Cardellini, V.; Colajanni, M.; Yu, P.S.. user. Distributed Computing Systems, 1999.. information. Server and. table. user. keeps. table. keeps. information. We also use COM (ACTIVEX). Proceedings.. 19th IEEE International. technology to facilitate our mobile server. Conference on , 1999 Page(s): 528 –535. constructing process. We package all software. [2]. Dynamic load balancing on Web-server. that mobile server need and deliver them via. systems Cardellini, V.; Colajanni, M.; Yu,. ACTIVEX. Since ACTIVEX can be embedding. P.S. IEEE Internet Computing , Volume: 3. in web pages like JAVA, we can deliver our. Issue: 3 , May-June 1999 Page(s): 28 -39. mobile server software via web pages. When. [3]. Huan-Chao Keh, Timothy K. Shih, and. user clicks a hyperlink on web pages, then this. Jason. mobile server package will download to user’s. Notebook -- an Application for Distance. computer and install. After installing process,. Learning on the WWW,” in International. this computer is become a mobile server and can. Journal. response client’s request. We also use log. Oriental Languages (IJCPOL), Special. analysis. Issue on Virtual University, Vol. 13, No. 3,. tools. to. analysis. web. loading,. especially some popular web content. Log. C.. Hung,. of. “Electronic. Computer. Mobile. Processing. of. USA, 2000.. analysis tool can help us finding Web Content. [4]. Timothy K. Shih, Jiung-Yao Huang, and. Requesting Imbalance (WCRI) in a website. An. Jason C. Hung, “An Efficient Approach to. update tool is developed for updating and. Holding. synchronizing web content in all servers.. Proceeding. a. Virtual of. the. Conference,”. National. Science. Council, R.O.C. Part A: Physical Science. 6.. and Engineering, Vol. 25, No. 4, July,. Conclusion. In this paper, we propose our concept of. 2001.. mobile distributed web server system and design. [5]. Timothy K. Shih, Jiung-Yao Huang, and. a possible implementation. We convince that. Jason C. Hung, “EVCS -- A Complete. this system can solve requesting imbalance. Electronic Virtual Conference System,”. problem with low cost and efficiency. This. Accepted for publication in International. system. Journal of Software Engineering and. can. be. used. to. redirect. high. Knowledge Engineering (IJSEKE), 2001..
(12) [6]. Asia. Pacific. Network. Centre(APNIC). Information. web. site. http://www.apnic.net [7]. American Registry for Internet Numbers (ARIN) web site http://www.arin.net/ [8]. RIPE (Réseaux IP Européens) web site http://www.ripe.net/ [9]. RFC2068: Hypertext Transfer Protocol -HTTP/1.1. R. Fielding, J. Gettys,J. Mogul, H. Frystyk, T. Berners-Lee. January 1997. [10]. RFC 1350: THE Trivial File Transfer Protocol (revision 2). K. Sollins, MIT,. July 1992 [11]. MSDN. online. website:. http://. msdn.microsoft.com [12]. Microsoft http://www.microsoft.com. website:.
(13)
數據
相關文件
Binding Warning message Binding Update message AAAO: the AAA server of the old foreign network to which the OFA belongs. AAAF: the AAA server of the new foreign network to which the
1) Ensure that you have received a password from the Indicators Section. 2) Ensure that the system clock of the ESDA server is properly set up. 3) Ensure that the ESDA server
Propose eQoS, which serves as a gene ral framework for reasoning about th e energy efficiency trade-off in int eractive mobile Web applications. Demonstrate a working prototype and
Type case as pattern matching on values Type safe dynamic value (existential types).. How can we
Text messaging (SMS) allows users to send and receive short text messages on a phone or other mobile device or computer Picture messaging allows users to send pictures and
[r]
The client’s web browser sends a request to the server for a web page that runs a Java servlet.
Remote root compromise Web server defacement Guessing/cracking passwords Copying databases containing credit card numbers Viewing sensitive data without authorization Running a