accessing to the private database and the document on the Internet.
&&AFW(no): fetch the ASCII text from the noth web page. That is, the tags and the script language statements of the fetched document will be cut out.
Only the pure text will be kept, and returned to the user’s mailbox.
&&AFWDB(no): almost the same as &&AFW(no), except this command will partition the results and store them into the database. That is, the results will be partitioned into several pages. Every page will be stored into the database of blackboard system. The commands will return the contents of second page and the reference id to the user’s mailbox for future referencing. The page size is the user’s preference, and it can be retrieved from user’s profile
database.
&&AFWIDP(id, pno): the command provides the user to fetch the sliced web pages which were stored in the database in the previous fetching process.
Where the pno is the page number and the id is the identification for the fetching process.
&&AGL(no): listing all the links of the noth web page.
&&AGLDB(no): listing all the links of the noth web page, and store those links into database of blackboard system. After the system has finished the storing process, it will return an id to the user’s mailbox for future querying.
&&AQUERYC(no,keyword): searching the keyword on the noth search engine through the Internet, and return all the contents of the search pages. If the specified search engine is a meta-search engine and providing some kind of SQL-like querying language, the keyword can also be SQL-like querying language string.
&&AQUERYL(no,keyword): searching the keyword on the noth search engine through the Internet, and return all the links of the search pages.
&&ARE(no, arg1, arg2, …, argn): to execute the noth services provided by the system. This command also can specify the arguments for the demand of the service’s execution. The service number can be got by the command
&&SAP. For example, if a user wants to quote the current price of her stock on the stock market. We assume the service number for quoting stock is no. 2.
Obviously, the argument of this service is the stock id. In such example, the command line can be encoded as ‘&&ARE(2, 2303)’, and this line has to be settled as the subject of the operational e-mail.
&&AREP(arg1, arg2, …, argn ): this command provides the mobile user to write a program in the body of the operational mail. After the system has received the mail with this command, it will first extract the program, and packs into an executable file, and put it into the temporary directory of the execution sever. For the distributed running model, the output of that program will not be captured by system. Thus, returning the results to the user is the responsibility of this program. Combine with the blackboard messaging mechanism, this command let the user has the ability to write the operational e-mail based mobile agent, and traverse across the e-Mare servers on the
network. The code will be transported by e-mail, and the temporary data, messages, and results can be exchanged by blackboard mechanism.
&&PASSWORD(password): this command is used to transfer the user’s account and password to the system. The system will obtain the user’s right, and user’s profile according to the user’s e-mail account and password. If the user does not provide her password for verification by this command, the user’s right will be very restricted.
&&ACS(target, time): the user can utilize this command periodically active transferring the client’s information to the system. In most cases, the context-aware procedure will automatically find the best way to adjust the format of context for the client’s mobile device, but finally the user’s opinion has the first priority that the system has to obey. So the system provides this command to let the user specify the client’s display type. Of course, the type is also a number settled by the system. The user can obtain these numbers by command &&SCS too. In our design, the client’s display type can also set on the web site through the Web browser on the Desktop PC. Beside, the argument time is the specified response time.
&&ACSD(target_name, width, height, color_depth): this command lets the user to detailed specify the characteristics of the client’s devices. This is required if the user want to adjust the displaying arguments for her mobile device more accurately.
&&APE(no): this command provides the user to specify the parallelism for program execution. If the user specifies this command, the following no number of commands will be executed in parallel. The following commands are all independent, the execution result will be sent to the user respectively.
&&APES(no): this command is the same as the &&APE(no), except the result return mode. Different to the previous command, the results for different command will be collected to one single result, and then send it to the mobile user’s mailbox.
&&SYS(command): this command provide the user to directly execute the system commands of the operating system of e-MARE. In general, the commands which can be launched are dependent to the kind of operating system which the e-MARE used. The executing results which were outputted
to standard I/O will be directly transmitted to the user’s mailbox through the e-mail protocol. In general, the commands always are applied to the cases which the user wants to know the status of the operating system of e-MARE server.
&&RDON(no): activating the specified number of remote displaying site.
The system will check the specified site if it is registered or not. If the specified site has not been registered, the system will register the site for the mobile user, and allow the user to access the information on the Public Display
Point.
&&RDC(id, siteno, no): fetching the document of on the web page of specified site of Public Display Point. The id is an identification number for verification between the mobile user and the system. It is generated while the mobile user has registered to the system. The siteno is the number of PDP among all the available remote display points, and the no is the number of the URL item which is listed on the web page of specified site.
&&RDL(id, siteno, no): almost the same as the &&RDC command, except the return results of the command is the filtered links rather than the original document itself.
There are some accounts for the specific usage for e-MARE, they are also listed as follows:
1. [email protected]: The main entry of the e-MARE. It is the public
account for registered and unregistered user. All the operational e-mails have to be sent to this account. There is a Perl program called managerAgent.pl which will be initiated when a legal operational e-mail has arrived.2. [email protected]: If the operational e-mail specifies some works which have to be executed in parallel, the ManagerAgent will dispatch those works to worker1, worker2, and worker3 respectively. It also has two parallel mechanism choices. The one is letting the workers reply the results to the user directly. The other is letting the workers reply the results back to the ManagerAgent, and then, the ManagerAgent can get the opportunity to collect and analyze all the results from the workers. This mechanism can optimize the quality of the results for the user’s requests.
3. [email protected]: In this account, all the built-in stationary agents and mobile agents are settled. The user can get the directory of these agents by the simple commands provided by e-MARE. Then the user can just specify the number of the lists that he wishes to execute. The only work that the user has to do is just to compose a well-format operational e-mail, and provide the appropriate data for the agent’s execution.
4. [email protected]: In this account, we provide the user has the ability and flexibility to install the user-defined agents. In our design, we provide a WWW interface for the user to install his programs (mobile agents or applications) into the directory of this account. These agents can be called by the user soon or later.
The screen snapshot of WWW interface will be shown in Figure 6.8 and Figure 6.9.
Chapter 6
Experiments and Examples
In this chapter, we present many practical and useful examples for the mobile users to access the information on the private network and the Internet via the e-MARE framework.
In e-MARE, to access the information via the mobile devices, the network connection between mobile devices and e-MARE server has to be created while the operational e-mail is transmitting. The network connections can be traditional GSM/Internet networking, GPRS, IrDA, or BlueTooth. As we can see the examples in this chapter, through e-MARE framework, the user’s mobile devices will be leveraged into a mobile information provider which may provide the user’s desired information anytime anywhere.
6.1 Software and hardware details
To demonstrate the feasibility of e-MARE, many experimental demonstrations are described in this chapter. The client platforms which were tested all these demonstrations are Ericsson T65, SonyEricsson T230, Siemens 6618, and Nokia 3650 cellular phones, TRG pro and Acer n10 PDA. Of course, the MS Outlook of MS Windows XP can also be the appropriate platform of these demonstrations. T65 has a simple built-in e-mail application.
Siemens 6618 provides a simple but feasible WAP browser. Nokia 3650 is a typical advanced mobile phone which is equipped a powerful operating system (Symbian Series 60) and comprehensive e-mail sending/receiving client. We select TRG Pro as the example of Palm OS, and Acer n10 as the example of PocketPC. Because e-MARE is an e-mail based framework, in general, any platform with e-mail sending/receiving application can also be the appropriate client. That is, for those cellular phones which are not equipped e-mail application, they also can send and receive the e-mail by STK (SIM Tool Kit) or WAP browser, which are provided by the GSM network provider.
In our experiments, the mail server of e-MARE is a Linux server, which is Intel Pentium II running at 450MHz (Compaq Proliant 800). The agent execution server is the same Linux
running at 700 MHz (Compaq Proliant DL380). The major e-mail service on the mail server is sendmail. The HTTP service on database server is provided by Apache, and the database which is executed at Linux server is MySQL. To provide the HTTP/CGI facility, we programmed some PHP files with Apache web server. The client mobile device can connect to the mail server of e-MARE through the GPRS via GSM network. These servers of e-MARE are all connected via TPC/IP with 100Mb Ethernet.
To receive the incoming message from the mobile users, the default public service e-mail account has been constructed in the mail server, which is [email protected]. That is, the mobile user has to write an operational e-mail to this account if she wants to obtain some services from e-MARE.
6.2 The measurements for composing the operational e-mail
To demonstrate how long the composing time is for a typical operational e-mail, in this section, we show some measurements for composing an operational e-mail by several different mobile devices. In this experiment, we assume the user wants to obtain a list about all of the available search engines of e-MARE framework. Typically, the user has to compose an operational e-mail with subject titled ‘&&SASE;’, and send it to
‘[email protected]’. We test several devices with different services and applications to accomplish the query purpose. The measurements are shown as Table 6.1.