Log on:
Powered by Elgg

Jan Mangs :: Blog

July 08, 2008

This post is a demonstration of the client I created recently that utilizes the work I've done in lower level libraries to connect to a Globus server. Unlike before, the user had to know explicitly know what arguments to pass to a job and change every property manually. For RFT, they had to know the file locations by heart and type out the path using the phone's keypad (not fun) - so I created a user friendly interface that allows the phone to access a space (as decided by the server) which allows it to submit jobs saved remotely and transfer files using a file browser-like UI. I will demonstrate what I can below using screenshots of my client in action.

The first thing you will see after the title is the server selection screen. Here you can add/delete Globus servers and select which one you would like to connect to. You can connect to multiple servers and switch between their views but I'm not going to demonstrate this since it would take far too long when using screenshots (uploading files here or posting to this blog makes me go crazy, it's very user unfriendly! I won't even get started on how much it fills me with Finnish rage when I have to use it! Arghhhh!)

Server screen (with our single server, which we select of course): 


Once you connect to at least one server you will see the main menu screen (this menu pops up if you select options from the main menu, there's just that text on the screen behind it and an exit button on the right):

From here, I will demonstrate the remote file browsing on the shared space of my Globus server that is running inside my FC9 virtual machine. Since you can't see me browse, I will go directly into this folder called text/:

This is the contents of the folder:

From here, I want to see the contents of file named 'readme.txt':

And here is what the file contains (it's a readme file for a CSL toolchain (GCCE) for Symbian C++):

I'll click back to the root shared space. I'm going to show remote job submission using remote job descriptions here by submitting the file called 'simple-stage-job.rsl'. It's very simple, it just echoes a string to a file using the "echo" command and pipes it into a file on my Linux desktop:

... and here I click "Submit Job":

It successfully creates a managed job resource and displays the information in relation to it such as the address and job/resource ID:

Now, I'll go back to the main menu and select "View Jobs" - this screen lets me view what jobs I have submitted through the client. Note the ID of the job in this screen is the same as the resource ID the server provided with us. It's not the best way to identify jobs but there's no mechanism for naming jobs in Globus as far as I know (maybe you can define a resource ID as a string but it's not a good idea when dealing with possible collissions)

I want to see the status of this job:

... and this is the result. Job state is "Done", exit code is 0, local user ID is 'jmangs', and the subjectname is my phone's certificate, and the holding state is false.

I can then delete the job from the server and my phone using the same screen. Next, I'm going to transfer a file locally:

We're going to copy blankfile, so we mark it as source:

And since we're only doing a local copy, I want to use the folder called text/ (remote works too, I'm not showing it here, it simply involves setting the destination after switching views to a different server):

We mark the directory text/ as our destination:

... and transfer our files:

If the transfer is correct and starts, the phone will inform us of this:

This is the view of text/ after RFT does its stuff (it's somewhat slow inside my VM for some reason):

I haven't demonstrated everything that I'm able to do from a mobile phone here but it gives a good idea of what is possible. Basically the client above is a higher level implementation where the user doesn't need to know anything about writing SOAP stubs, client code, or dealing with negotiating a TLS connection (aside from a user certificate). Other features I have are multiple servers, switching between views, and the ability to delete files. I may consider adding the ability to save files to the phone locally if it proves useful; most of the libraries I have created in the previous weeks let me do this fairly quickly. Also what is shown above is not the limit of what you can do with the libraries I've created; it just demonstrates a user friendly (more user friendly I guess) way of using the mobile phone. In another client I had the capability to explicitly define what executable to run and what arguments to pass it while here I just allow the user to take a remote file and submit it as a job. I may also add further options to RFT as needed; here they are just using the defaults (ie, not defined -> server uses defaults)

Hopefully that gives a good, initial idea of what my work here entails. The client shown is fairly easy to understand in relation to the underlying concepts you have to deal with when working with a Grid. The documentation provided by Globus is sub-par at best and some of it is even plain wrong/contradictory in some cases. It's been fun, I'm going to spend this week to try to accurately document my source code in case it's ever used again. I don't think anyone has successfully created a mobile client that can interact with Globus. I'm fairly sure someone attempted to implement WS-ResourceProperties in Java ME before but gave up; and that was about 2 years ago. I managed to get that implemented in a week and a half so it wasn't too bad. Now I've basically implemented the WS-ResourceProperties standards and most of the others like WS-Trust, WS-Addressing, WS-ResourceLifetime, and so on.

Anyways, enough blabbering about. I'm going to get some more work done before I have to enjoy my amazing 19 hour journey back home!

Keywords: Beijing, Research

Posted by Jan Mangs | 0 comment(s)

June 29, 2008

Got back earlier this evening from camping and hiking on the Great Wall. Took a lot of cool pictures and saw some really cool stuff. It was pretty rainy most of the weekend so I didn't manage to get as many landscape pictures as I would have liked to but the whole trip was awesome. I think we're all a bit worn out now but it was well worth it. I'll post a research update tomorrow; unfortunately I managed to get some sort of cough/cold last week and I didn't have the will to post my latest research work.... also I think Tariq has the same thing as I did unfortunately. The air is pretty killer here, I really wonder if foreign athletes will be able to compete for the Olympics with the poor air quality.

Keywords: Beijing, Great Wall

Posted by Jan Mangs | 0 comment(s)

June 22, 2008

We went to the Temple of Heaven today and some science museum and the Beijing Zoo yesterday. My camera ran out of batteries before we got to the zoo so I don't have any pictures from there. It was ridiculously hot yesterday but the zoo was pretty fun. It's huge and there's animals from every part of the world. They even had flamingos. Kinda funny to watch Chinese people at the zoo. Some people were throwing trash at an orangutan for some reason. I don't really understand how a decent human being could think it's a good idea but I'll keep my opinion on that to myself. There's a lot of "No feeding" signs but pretty much everywhere we went someone was feeding them bread or other things.

The Temple of Heaven was pretty neat as well. It wasn't as hot but there was also less shade in most places. Took a lot of photos and saw some interesting architecture. The area in which the Temple of Heaven is enormous as well. It was funny to see all the old Chinese people playing chess, instruments, and kicking around this object that is similar to a hacky sack.


Keywords: Beijing, Beijing Zoo, Temple of Heaven

Posted by Jan Mangs | 0 comment(s)

June 16, 2008

The internet monthly subscription ran out yesterday and even though I renewed it in the evening, I wasn't able to access this site for some reason. Anyways, on Sunday we went up to some mountains called the Fragrant Mountains. It was fun; it's challenging to go up neverending flights of stairs (I hate stairs) but in the end we made it. Got a lot of exercise which is always good. Also took some neat pictures:

Posted by Jan Mangs | 0 comment(s)

June 13, 2008

Haven't posted in a while. I've been keeping busy with the research work and managed to make a lot of progress this week. In addition to creating a gateway job submission Globus service for non-secure containers, I've also managed to figure out how to connect to a secure container and authenticate a mobile client using a user certificate I imported into the Nokia emulator. I can submit jobs that execute on the Globus WS-GRAM server and I'm working on implementing job management (which I can then reapply to other areas like file transfers and such).

In detail:

I had some problems with using the Sun Wireless Toolkit emulator so I had to switch back to the Nokia S60 emulator. The libraries provided by Sun are somewhat basic and they did not support client-side authentication through certificates. I looked at the source code for the library and the developer who had been working on it simply made it throw an exception when it came to receiving a CertRequest message from the server. Figures.

This involved some more work as well since the Nokia emulator only works inside Windows and the Globus container runs inside FC9 (which is inside a virtual machine running in Windows, whee!) - It took some work but I managed to install VMware Tools to the Linux distro and connect from Windows into FC9. Even better, Nokia has a full TLS implementation and not some pathetic attempt to claim to implement TLS and then not do it like Sun. But, it is Nokia after all, so I expected it to be implemented. The only reason I was using Sun's SWT emulator to that point was to keep working in one operating system. Oh well, Nokia's support is much better for JavaME (even if they prefer Symbian C++ even more)

So, in short, I simply connected to the server running in FC9 and the Nokia S60 emulator downloads the certificate and asks if I wish to add it to the phone's certificate store (unlike Sun's which involves much pain) - it then prompts the user to select a client certificate (which you have to install on the phone) and it does the rest. This means I could keep concentrating on dealing with job submission, job management, and file transfers instead of having to implement TLS. I'm able to submit a single job completely and I have to do some more work on multijobs. They're submitting fully, but not executing for some reason. Since I've already implemented WS-ResourceProperties on the mobile client, I can use the libraries to access the RPs exposed by the job submission services. Whee.

Also included two random pics for the hell of it. One is of the building next to ours and the other is a pic of only some of the many, many bikes that are on campus.... 


Keywords: Beijing, Susi

Posted by Jan Mangs | 0 comment(s)

May 31, 2008

Research is going along fairly well. I've implemented three stanards: WS-ResourceProperties, WS-ResourceLifetime, and WS-Addressing minus some of the specific fault messages. The basic web services container works correctly for all those methods. The next step will be to get WS GRAM running and submit jobs through the mobile enviroment to make sure that the phone can actually connect to WS GRAM. From there I'll move towards creating a more specific application involving something like grid resource management maybe.

In the non-research domain, we've been busy too. Been to a bunch of places. Been trying food at different places like near Tianamen Square and went to a Chinese opera. This weekend Chris, Paula, and I went to a Chinese cooking class. After spending an hour wandering the hutongs, we finally met the girl who Chris had been talking to about arranging the lesson. Overall, it was pretty cool. We got to do a lot of the stuff ourselves and learned some of the basics about cooking Chinese food. Paula is probably the best out of us three. We wandered around the area near where we had our lesson. It was pretty nice. It's a more authentic "China" there - where we are it's mostly an urban area with offices, the universities, and research park. It was a lot of walking but it was worth it.



Keywords: Beijing, Cooking, Hutong

Posted by Jan Mangs | 0 comment(s)

May 19, 2008

We went to Tienanmen Square on Sunday. Jia showed us the subway stop near Tsinghua and the other basics like buying a ticket. It's really cheap since it only costs 2 yuan to ride and you can go pretty much anywhere. It's crowded but everything's on a fixed path and you just have to know where to transfer. Lotta walking too. I'm going to be a speed walker by the time I'm done here.

Also met with the students and Dr. Cao at the lab. Everyone is nice and the lab is excellent. I also got help from Wen Zhang and another students whose name I don't know to spell (doh) to purchase a cellphone (since I don't know any Chinese... heh) - I'll get this Chinese down one day... maybe. :P



Keywords: Beijing, Tienanmen Square, Tsinghua

Posted by Jan Mangs | 0 comment(s)

May 17, 2008

We went to the Summer Palace yesterday with help from Jia Shang, one of the students of the professors here at Tsinghua. It was a really interesting trip. I'd like to thank Jia Shang again for everything she did for us since we have basically no skill in Mandarin; without her we wouldn't have been able to take this trip most likely. The Summer Palace can more accurately be described as a huge estate - I think we spent several hours walking and we still didn't see everything that was there. I took a lot of pictures but I'm not going to bother posting all of them. Anyways, it was a very rewarding experience.

As for coping with the changes with being in a foreign country, I think we're doing fairly well. It probably would have been smarter to take a semester or two of language courses so we wouldn't be so dependent on people who are bilingual in English and Chinese. Getting around is interesting as well. The campus alone here at Tsinghua is much larger than the campus at FAU. We're still trying to find some cheap bikes to use so we don't have to walk everywhere. Our student IDs won't be done until next week so we can't take the shuttle bus yet. Still also need to get a dining card so I can eat at more places on campus. Hopefully I can get fully settled down sooner or later, filing out paperwork for 2 days is kind of tedious after a while, heh. :]


Posted by Jan Mangs | 0 comment(s)

March 13, 2008

Student Name: Mr. Jan Christian Mangs

Supervisor’s Name and Title at FIU/FAU:
Dr. Shihong Huang
Assistant Professor
Dept. of Computer Science & Engineering
Atlantic University

Name of the PIRE International Partner’s Institution:
Research Institute for Information Technology

Supervisor’s Name and Title at the PIRE International Partner’s Institution:
Dr. Junwei Cao
Professor and Assistant Dean

Project Title:
A Model Driven Engineering Framework for Migrating Web Applications to Mobile Devices

Problem Statement: Briefly explain (in one paragraph) the research problem that you are going to address in this project.

Many applications have been developed for the Web in recent years. Users typically interact with these applications through a Web browser running on a personal computer. However, computing technologies have moved beyond personal computers to everyday devices with embedded technology. Mobile devices in particular, such as cell phones, PDAs, and portable handheld game consoles, have become ubiquitous in almost every sector of life. In fact, the rapid advance in computing power available in cell phones has made it the most commonly used computing platform in the world. It would be advantageous to be able to seamlessly run applications that are developed for the Web on these mobile devices. Unfortunately, their unique characteristics, such as special operation systems, significant memory limitations, power consumption concerns, and wireless network connectivity, provide challenges for migrating Web applications to such mobile devices. There is a need for a systematic methodology and framework to provide general guidelines for migrating Web applications to mobile devices.

Motivation and Impact: Provide a brief explanation (in one paragraph) of the motivation of this work and its significance.

The motivation of this work is to better utilize the advanced computing power and sophisticated infrastructure that mobile devices have today, so that desktop computers and mobile devices can fulfill separate but complementary needs. By applying the software engineering approach known as model driven engineering to this software evolution problem, this research will provide a systematic methodology and framework as a general guideline for migrating Web applications to mobile devices. The impact of the work in the long run is to utilize existing software applications on a new platform and to break the barriers that limit the applications on mobile devices.

Current Status: Provide a brief overview of the current status of the project. If this is an ongoing work, please describe preliminary results. In either case, what related work is going on in this area at FIU/FAU, the partner institution, or elsewhere?

The student who is in the project has been working on the related research for the past year during his graduate study.His work involves software maintenance & evolution, and model driven engineering. For the past semester, he has been intensively studied the computing issues related to mobile devices.As a result of his work, a paper on a samplecase study in migrating a software application to mobile device was published in the 2nd IEEE Systems Conference 2008.

Our partner institute, Research Institute for Information Technology in Tsinghua University China, has a strong research group and facility in Distributed Software Systems, Web, and Software Technology R&D Center. Dr. Junwei Cao is a world-renowned scholar in parallel and distributed computing. He will be a great  asset and advisor during the student’s visit in China.

Research Roadmap: Provide an itemized list that shows your research roadmap/timeline and that lists expected outcomes of your research including a paper to be published, etc.

  • Identify special issues related to mobile computing applications
  • Study related work on migrating applications to mobile devices
  • Study applicability of model driven engineering in software migration
  • Design framework for migrating Web application to mobile devices
  • Validate the framework through a case study on selected mobile devices, such as the Apple iPhone and Microsoft Windows Mobile

The results and findings from this research will be published in peer-reviewed academic journal and conferences, such as Web Site Evolution (WSE 2008), IEEE International Conference on Software Maintenance (ICSM 2008).

Relation to PIRE Core Research Projects: Briefly explain how the project fits into the PIRE theme of Cyberinfrastructure enablement. Which box in the table (our “9 box” figure at http://pire.fiu.edu/research.php) does your research fit into and why? If this project is not directly related to any of the boxes in the table, then provide a rationale on how this project is related to Cyberinfrastructure enablement.

Currently, this project doesn’t fit into any of these nine boxes listed in the PIRE cyberinfrastructure enablement. Since mobile devices have become ubiquitous in the cyber space and in people’s daily life, the ability to be able to seamlessly run Web applications on mobile devices will provide a critical role of the whole cyberinfrastructure, and further advance cyberinfrastructure enablement.

Keywords: China, PIRE, proposal, Tsinghua

Posted by Jan Mangs | 0 comment(s)