August 31, 2009 at 10:53 am
· Filed under Mozilla Talks, Ph.D Project, Technologies (Mobicents, Mozilla, Pandaboard e.t.c.)
A lot of work has been done to implement the proxy for the proposed hybrid-based architectural scheme for HTTP Session Mobility. I blogged about the proxy some weeks ago. Here are the blog posts on the proxy [1, 2]. I referred to the services the proxy offers as control services. The services include Web forwarding and Web blocking. Today, I am pleased to introduce the proxy User Interface (UI). Below is a screenshot of the proxy UI.

The TransferHTTP Proxy Interface
The TransferHTTP proxy interface shows the SIP URIs of two Web browsers interacting with each other. In addition, It indicates the SIP Method in use, the time of the interaction, the status or action taken by the proxy and the referred URL.The interaction refers to a content sharing or session handoff between any two Web browsers. It could also be a multimedia session between the two Web browsers. The referred URL is the Web address the initiator of the content sharing or session handoff wants the other person to visit. The status or action taken by the proxy could be forbidden(i.e. blocked) or proxied (i.e. sent). When the status is “proxied,” it means that a message is sent to the intended destination as specified by the initiator or a message is forwarded to another Personal Computer (PC) as specified by the intended recipient.
Currently, the proxy blocks requests from sip:blocked-sender@127.0.0.1 and sip:blocked-sender@testdomain.com. On the other hand, it forwards requests meant for sip:receiver@127.0.0.1/sip:receiver@testdomain.com to sip:forward-receiver@127.0.0.1/sip:forward-receiver@testdomain.com. All other requests are proxied to their intended destinations. Requests, here, refer to SIP MESSAGE and SIP INVITE methods from a Web browser that has the TransferHTTP extension installed.While content sharing and session handoff in the extension use the SIP MESSAGE method to transfer session, make a call in the extension uses the SIP INVITE method to set up a multimedia session.
The Web address of the proxy is http://137.158.125.245:8080/session-blocking-app/. I am currently working on the Web session pick-up feature.With the pick-up feature, a registered user would be able to view all interactions and could reload URL(s) on his PC. The feature comes handy when a user wants to reload a URL that was sent to him in the past. In addition, the feature will be useful when a request is sent to a PC, but the PC is off at that time. With the proxy being able to report all delivery errors, a user would be able to pick-up a session transfer request from a number of requests when he switches on his PC and logs in to the proxy.
Permalink
August 12, 2009 at 5:03 pm
· Filed under Mozilla Talks, Ph.D Project, Research Ideas, Uncategorized
Here is a link to my presentation at the last CoE-Telkom Industry Seminar, which took place here at the University of Cape Town. It was at the presentation that I was asked about the Google Wave, which I blogged on some days ago.
Permalink
August 7, 2009 at 3:23 pm
· Filed under Mozilla Talks, Ph.D Project, Research Ideas
Below is an excerpt of my recent paper. I was asked about The Google Wave during an Industry seminar here at the UCT. I checked it out and found it related to my work [1, 2], so I decided to write a paper on it. I never knew that Google was also thinking in the same direction – improving the online experience through user-generated services or converged services.
The Excerpt:
Table 1 shows the comparison of our work with the Google Wave. Google Wave, which is currently under development, is a new tool for communication and collaboration on the web. It uses an open protocol [1, 2], so anyone can build their own wave system. The Google Wave API allows developers to use and enhance Google Wave through two primary types of development, namely Extensions and Embed.

Comparison of Google Wave and TransferHTTP
The extensions (also called the Robots API) can be developed using the Java Client Library, Python Client Library, or Gadgets API, while the embed, which is embedded into a Web application, is always written in JavaScript.
The Google Wave and TransferHTTP provide the same services, though over different architectures. While Google Wave API is used to develop applications that reside on a Web server, TransferHTTP APIs are used to develop applications that reside at the client end. For example, the Click-to-dial in Google wave [3] requires the server to set up a call session, while in TransferHTTP, the client sets up the call session. In Google Wave, the robot in the Web server is responsible for the signalling, while in TransferHTTP, the SIP stack in the Web browser does the signalling.
The Extensible Messaging and Presence Protocol (XMPP) stack [4] in the Google Wave resides at the server, and its APIs are written for third-parties to help them develop converged applications. The Google team has separated the signalling (HTTP and XMPP) in a bid to maintain the current Web architecture. Hence, it could be referred to as a server-based architectural framework for service creation. In our work, a SIP stack is integrated into a Web browser to provide similar services. It was found out that the integration of a SIP stack into a Web browser does not impede its performance [5], thereby making our work a viable approach to create converged services. We provide a hybrid-based architectural framework in which services could be rendered from the client using our API. In addition, a number of services could be rendered from the proxy. These services could be called control services based on what they do. While the proxy services could be developed using the Mobicents SIP Servlets and JAIN SLEE APIs, the client services could be developed using our TransferHTTP extension API.
In summary, irrespective of the technologies or programming languages used in the Google Wave and TransferHTTP, the difference between them is that the Google Wave only has a stack (an XMPP stack) in its server, thereby making it a server-based architectural framework for service creation, while TransferHTTP has a stack (a SIP stack) both in its client and proxy, thereby making it a hybrid-based architectural framework for service creation.
References:
- The Wave Protocol, http://www.waveprotocol.org, July 5, 2009.
- The Google Wave Project, http://wave.google.com, July 5, 2009.
- The Google Wave Click-to-dial, http://googlewavedev.blogspot.com/2009/06/twiliobot-bringing-phone-conversations.html, July 31, 2009.
- P. Saint-Andre, Ed., “Extensible Messaging and Presence Protocol (XMPP): Core,” IETF RFC 3920, October 2004.
- Michael Adeyeye (2008), A SIP Integrated Web Browser for HTTP Session Mobility and Multimedia Services, Unpublished Master’s thesis, University of Cape Town, South Africa.
Permalink