[go: up one dir, main page]

WO2013036099A1 - System and method for rich internet application session transfer - Google Patents

System and method for rich internet application session transfer Download PDF

Info

Publication number
WO2013036099A1
WO2013036099A1 PCT/MY2012/000179 MY2012000179W WO2013036099A1 WO 2013036099 A1 WO2013036099 A1 WO 2013036099A1 MY 2012000179 W MY2012000179 W MY 2012000179W WO 2013036099 A1 WO2013036099 A1 WO 2013036099A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
ria
objects
transfer
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/MY2012/000179
Other languages
French (fr)
Inventor
Hwee Wong Ting
Neng Choong Khong
Suan Lee Cheng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mimos Bhd
Original Assignee
Mimos Bhd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mimos Bhd filed Critical Mimos Bhd
Publication of WO2013036099A1 publication Critical patent/WO2013036099A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms

Definitions

  • the present invention relates in general to handheld devices application and management, and more particularly a method and system to facilitate two-way push/pull transfer of Rich Internet Application session (s) between a plurality of handheld devices.
  • RIA Rich Internet Applications
  • FIG 1 shows a prior art method used to transfer web session.
  • a browser plug-in is incorporated in order to keep track of the web session for individual webpage, and subsequently send the session information to an agent which proxies it to a session server.
  • the session information stored in the session server will be retrieved by an agent residing in the handheld, being the alternative device. And then said agent instructs the local browser on how to restore the previous web sessions created in the original device.
  • the session for a web is more of capturing or snapshots of the web service or content previously accessed thus may not be interactive as provided in the original device.
  • each RIA reports its dynamic session objects to the agent and then proxies these session objects to the session server.
  • a method and system for seamless transfer of RIA session between devices wherein whenever a request on RIA session transfer is made, agent on the alternative device can easily instruct the local browser to restore each of the RIAs previously created in the original device.
  • DSMS Dynamic Session Management Server
  • SMA Session Management Agent
  • a system for facilitating transfer of Rich Internet Application (RIA) session between at least two electronic devices comprising: a session management agent for sending notifications and communicating transfer events; and a DSMS configured to be in communication with a session management agent and for monitoring the device status and synchronizing copies of RIA session between the devices.
  • a session management agent for sending notifications and communicating transfer events
  • a DSMS configured to be in communication with a session management agent and for monitoring the device status and synchronizing copies of RIA session between the devices.
  • a method for facilitating transfer of Rich Internet Application (RIA) session between at least two electronic devices comprising the steps of: providing at least one module to be configured as a session management agent for sending heartbeat messages and communicating transfer event; providing at least one DSMS for monitoring device status updated by session management agent; initializing the RIA session transfer between said devices; selecting the specific RIA session to be transferred with push or pull method; performing transfer of RIA session across said devices; and synchronizing copies of RIA session objects across devices.
  • RIA Rich Internet Application
  • FIG 1 shows a prior art system for use in transferring web session
  • FIG 2 shows the system implemented with the embodiments of the present invention
  • FIG 3 shows the overall architecture of the system and method in accordance with a preferred embodiment of the present invention
  • FIG 4 shows the overall architecture of the Session Management Agent (SMA) (100) in accordance with a preferred embodiment of the present invention
  • FIG 5 shows the overall internal architecture of the Dynamic Session Management Server (200) in accordance with the preferred embodiment of the present invention
  • FIG 6 shows the process flow involved before a potential occurrence of RIA session transfer
  • FIG 7 (a) and 7 (b) shows the overall structure of push/pull transfer in accordance with the preferred embodiment of the present invention.
  • the present invention is a system and method to facilitate RIA session (s) and more particularly involving two-way push/pull transfer of Rich Internet Application session (s) across a plurality of connected devices owned by a particular user.
  • the system comprises the Session Management Agent (SMA) which is preferably installed on every participating user device, whereby said SMA is configured to listen to the RIA session objects reported by the RIAs running on the same device. This enables the transferred RIA to restore its state till the point prior to the occurrence of a RIA session transfer.
  • the SMA also sends periodic heartbeat message to the Dynamic Session Management Server (DSMS) (which will be described shortly herein) so that the DSMS can maintain a list of user's devices available for transfer.
  • DSMS Dynamic Session Management Server
  • SMA (100) is acting as a proxy to RIAs in the communication with DSMS, where it is responsible for the exchange of data objects/information/messages between RIAs running locally and the DSMS.
  • SMA (100) is configured to execute the following tasks during operation: proxying the RIA session objects dynamically to DSMS, notifying DS S on the device status in a real-time manner, enabling two-way, i.e. push/pull, transfer of RIA session, and providing the Graphical User Interface (GUI) for seamless transfer of RIA session to occur instantaneously.
  • GUI Graphical User Interface
  • the system further comprises a Dynamic Session Management Server (DSMS) (200) configured to synchronize the RIA session objects across multiple devices so that a transfer of RIA across devices can happen instantaneously.
  • DSMS Dynamic Session Management Server
  • the primary tasks executed by DSMS (200) includes: storing and relaying real-time, dynamic copy of RIA session objects to devices, maintaining a set of user profile and device information, checking the device availability to maintain the updated list of alternative devices, and notifying devices about successful event of RIA transfer
  • the method involves a series of communication designated in between RIA and SMA, SMA and DSMS, RIA and a Web Server (300) to allow the transfer to take place.
  • FIG 3 shows the overall architecture of the system and method in accordance with a preferred embodiment of the present invention.
  • a user may own a plurality of devices, which may include but not limited to, mobile phones, smart-phones, PDAs, tablets, net-books, laptops, and desktops, that are being connected to a network which allows these devices to be in communication with both the Dynamic Session Management Server (DSMS) (200) and Web Server (300) .
  • DSMS Dynamic Session Management Server
  • a User 1 has two devices, namely the Device A and Device B.
  • Each of the devices is equipped with a browser and a Session Management Agent (SMA) (100) .
  • SMA Session Management Agent
  • the browser or any equivalent sandbox applications, is used as an environment and thus configured to support the execution of Rich Internet Applications (RIAs) , which access web services and/or content provided by the Web Server (s) (300) .
  • RIAs Rich Internet Applications
  • DSMS As the Web Server (300) is primarily intended for providing web service/content to user device, DSMS (200) is deployed to be in communication with the SMA (100) so that it can hold or preserve the RIA session objects which are important for the seamless session transfer to take place.
  • These RIA session objects, being exchanged in between DSMS (200) and SMA (100) would typically constitute not least than Uniform Resource Locator (URL) identifying the locations to access services/contents, as well as a dynamic snapshot of RIA- specific data such as session, state, history, cache, index, metadata, parameters and authentication information.
  • URL Uniform Resource Locator
  • FIG 4 shows the overall architecture of the Session Management Agent (SMA) (100) in accordance with a preferred embodiment of the present invention.
  • SMA Session Management Agent
  • the SMA (100) is activated whenever the operating system of which it is residing or installed has been initialized. Being an intermediary, it communicates locally with all the RIAs, and also remotely with the DSMS (200) .
  • the User Profile/System Configuration module (30) is used to store configuration data, which comprises all details and information related to users such as credentials, preferable browser (s), interval of heartbeat message, and many others.
  • the module (40) may further comprise of system-wide information such as type of operating system, network connection, and runtime environment for RIA, etc.
  • the DSMS Proxy (210) is responsible for the communication with DSMS (200) . It is configured to deliver configuration data as login information to DSMS (200), and notifies the DSMS (200) on the alternative devices which are available for transfer. This is done via a heartbeat message. Besides, DSMS Proxy (210) characterizes a receiver to intercept remote RIA session objects and device (s) update sent by the DSMS (210) , as well as a sender to deliver DSMS with the local RIA session objects.
  • SMA (100) is also configured to notify DSMS (200) in the event of a successful RIA session transfer, and acts as a two ways interface of which a request for transfer is being transmitted, depending on whether it is a local push request (delivered) or a remote push request (received) .
  • RIA Proxy (250) is configured to communicate with the RIAs running within the local device by way of listening to any local RIA session objects reported by active RIAs. During operation, when a transfer is performed, RIA Proxy (250) is the interface where newly transferred RIA retrieves on the remote RIA session objects previously stored in the RIA Objects Cache, so as to enable the RIA to resume on its execution.
  • the Collocator (50) acts as the center point and is configured to coordinate the internal passing of objects/data/information/message from one component to the other. It compresses the RIA session objects before dispatching them to be delivered out by DSMS Proxy (210) . Based on the kind of request received, Collocator (50) generate instruction to the action handler to carry actions such as, but not limiting to, opening the RIA in a new browser, ending a RIA whose session has been transferred to another device, etc. In addition, Collocator (50) also interacts with the RIA Objects Cache to either retrieve or store RIA session objects produced by the local device or remote device.
  • User Interface Manager Another component within the system of the present invention is the User Interface Manager (40) . Its primary role is to provide Graphical User Interface to end users, in which users can choose the alternative device (s) for which a push/pull transfer of RIA session should be performed on, and edit certain user profiles/preferences. Another responsibility of User Interface Manager (40) is to display the information dispatched by the Collocator (50) , such as the RIAs running actively and the alternative devices available. It should be noted that there is no restrictions on any particular application protocols used to implement the communication layer for both the RIA Proxy and DSMS proxy. Such application protocols may include, but not limiting to, HTTP, SIP, TLS/SSL, XMPP and various others to achieve the desired result.
  • FIG 5 shows the overall internal architecture of the Dynamic Session Management Server (200) in accordance with the preferred embodiment of the present invention.
  • the DSMS (200) comprises five main modules, these are the session transfer manager (211) , the device monitoring manager (212) , the session database (213) , session coordinator (214) and application level communication and session protocol module (215) .
  • the DSMS is preferably built upon a converged server network, which is capable of communicating with the user devices in more than one of the potential application protocols.
  • the Device Monitoring Manager (212) is the primary module within DSMS, and is assigned to monitor the availability of user devices. Further, it is configured to authenticate the login from user devices and monitors the state of these devices by processing the heartbeat messages received thereafter. Accordingly, a copy of such information is stored in the session database (213) .
  • the Session Transfer Manager (211) is configured to keep track of any RIA session objects produced by the RIAs . It is further configured to process the device request for RIA session transfer.
  • the Session Coordinator (214) is configured to monitor and coordinate activities performed by both the device ⁇ monitoring manager (212) and the session transfer manager (211) , whereby it dispatches data to both modules during operation.
  • FIG 6 shows the process flow involved before a potential occurrence of RIA session transfer. For the purpose of illustration, examples of scenario which may occur will be elaborated herein shortly. It is noted that these examples are not intended to limit the scope of the claims provided herein.
  • User 1 is equipped, with two devices, i.e. Device A and Device B. Both devices are accordingly installed with the system of the present invention .
  • the SMA (100) initiates its execution whenever the operating system (OS) is booting up. For example, when User 1 turns on or restarts Device A. Upon initiated, the SMA performs a login to its corresponding DSMS . Following that, DSMS pushes Device A with the any existing remote RIA Session objects produced by Device B, assuming if Device B has already logged in earlier than Device A and that there is at least one active RIA running inside the Device B. Otherwise, if Device B is offline or idle, not data will be pushed to Device A.
  • OS operating system
  • Device A sends periodical heartbeat message to DSMS in notifying about its availability. Once the DSMS receives on the heartbeat message, it confirms on the availability of Device A. DSMS then informs Device B on the availability of Device A, thereby updating the list of online alternative devices. In the event that DSMS fails to receive a consecutive order of few heartbeat messages from Device A, it will confirm that Device A is offline and update Device B correspondingly about this event.
  • a RIA from the browser to perform on some actions after the completion of SMA activities (OS startup service) that happen without the knowledge of User 1.
  • the RIA is requesting for the relevant services or contents from remote Web Server, which responses by first sending Device A with the application objects. Once successfully loaded, the RIA retrieves the intended RIA data objects from this Web Server.
  • the RIA sends details of any changes pertinent to the session sensitive objects to the SMA via a ' well known port/address/location.
  • the received RIA session objects are further processed by the SMA, e.g. compressing on data to conserve connection bandwidth, before sending them to the DSMS.
  • FIG 7(a) and 7(b) shows the overall structure of push/pull transfer in accordance with the preferred embodiment of the present invention.
  • push transfer is initiated when User 1 interacts with the SMA installed on Device A, instructing it to transfer a RIA currently executing in Device A to Device B.
  • Pull transfer occurs when User 1 interacts with the SMA installed on Device B, instructing it to transfer a RIA currently executing in Device A to Device B.
  • the user can choose which devices the specific RIA(s) to be transferred onto.
  • DSMS will relay the request to Device B.
  • Device B will then trigger a browser to execute on the said RIA(s) chosen to be transferred.
  • pull transfer user interacts directly with the SMA on Device B to trigger a browser to execute on the said RIA(s) chosen to be transferred.
  • the RIA running in Device B is configured to recognize the steps in restoring the execution of RIA(s) precisely to point or as a guide t where it has reached while executing in Device A. This is achieved by first calling the browser to make a request to the Web Server, where it retrieves the RIA application objects from. Once loaded, the RIA will first verify if there exist any RIA session objects previously stored by the SMA; and if found, the RIA will retrieve them as pointer in guiding the download of RIA data objects relevant to the point prior to its transfer.
  • DSMS When the RIA performs such a request, SMA infers that the session transfer is successful and hence notifies DSMS with such event. In turn, DSMS will route this as a message to Device A, letting it know that it is proper to end the transferred RIA session on Device A. As the RIA execution is exhibiting a high level of dynamicity, the RIA will constantly update SMA with the changes of its session objects, which then, will be then relayed by the SMA to DSMS. DSMS, in turn, sends these remote RIA session objects to all participating alternative devices. SMA of these alternative devices will store the remote RIA session objects within its RIA object cache for future use and thus ensuring smooth upcoming transfers.
  • RIA session objects While the RIA is running, now in Device B, it will update SMA about its RIA session objects. The SMA will then proxy these RIA session objects received from RIA to DSMS . Subsequently, DSMS relays the RIA session objects to all the alternative devices, including the Device A. The SMA of Device A stores a copy of these RIA session objects locally so that it is ready for a simultaneous transfer at any moment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

There is disclosed a system and method for use in Rich Internet Application (RIA) session transfer between at least two devices, one being the original device and another is the alternative device to which the session transfer is performed. Both devices are installed with a session management agent (100) for sending notifications and communicating event transfer and a dynamic session management server (200) for receiving said notification, monitoring device status and thus synchronizing copies of RIA session objects across devices.

Description

SYSTEM AND METHOD FOR RICH INTERNET APPLICATION SESSION TRANSFER
TECHNICAL FIELD
The present invention relates in general to handheld devices application and management, and more particularly a method and system to facilitate two-way push/pull transfer of Rich Internet Application session (s) between a plurality of handheld devices.
BACKGROUND ART
Electronic communication plays an important role for personal purposes or business of all sizes; make it small-size enterprises or multinational corporations. Wide use of such technology has contributed to a rapid growth of communication devices, whereby many of these devices are adapted for mobility or efficiency in establishing a secure connection when in use. Other than these imperative features, enhancements in terms of convenience and comfort associated to these handheld devices include the ability to retrieve information from the Internet, perform various tasks similar to a desktop computer, such as editing documents and playing online games.
In order to achieve the functionalities as discussed above, innovators of the field have developed Rich Internet Applications (RIA) which allows handheld or mobile devices users to carry out a wide variety of tasks, which originally require the execution of desktop environment, merely from a mobile browser. With such advancement, users have begun to demand for improvements associated to accessing the RIA and its content, data and/or functionalities at anytime, any place thus allowing a seamless transfer of RIA sessions across different devices which are equipped or at least adapted with communication capabilities .
Users would typically prefer a similar interface or layout of RIA as provided on a computer screen to be viewable on their mobiles, with uncompromised quality. Further, a user who is about to travel away from his workstation to instantaneously continue working on the tasks performed with a business workflow RIA previously created on his office workstation. It would be preferred that the business workflow of the RIA session must be transferred right away to a mobile device without incurring the hassle of login/logout multiple times on different devices and repetitively re-keying the same data. Clearly, for seamless transfer as raised in the aforementioned examples to proceed, the dynamic characteristic of RIA session must be handled comprehensively .
Factors which are normally considered during transferring a RIA session includes offering a selection as to which device a transfer should take place and the ability to retain the processes involved during a RIA session in the background, without affecting other activities running concurrently on the same device. FIG 1 shows a prior art method used to transfer web session. In this method, a browser plug-in is incorporated in order to keep track of the web session for individual webpage, and subsequently send the session information to an agent which proxies it to a session server. Accordingly, with this technique, whenever a request on session transfer is made, the session information stored in the session server will be retrieved by an agent residing in the handheld, being the alternative device. And then said agent instructs the local browser on how to restore the previous web sessions created in the original device.
However, it is evident nowadays that using the prior art methods and systems, the session for a web is more of capturing or snapshots of the web service or content previously accessed thus may not be interactive as provided in the original device.
Therefore, there exists a need for a system and method for providing real-time, seamless transfer of RIA across multiple device users be it handheld or desktop based devices. SUMMARY OF THE INVENTION
There is provided a method and system for providing a two-way push/pull transfer of Rich Internet Application session (s) across a plurality of devices owned by a user.
In another aspect, there is provided a method and system which characterizes the immediate communication between each RIA and the agent, where each RIA reports its dynamic session objects to the agent and then proxies these session objects to the session server.
In a further aspect of the present invention, there is provided a method and system for seamless transfer of RIA session between devices, wherein whenever a request on RIA session transfer is made, agent on the alternative device can easily instruct the local browser to restore each of the RIAs previously created in the original device.
In another aspect of the present invention, there is provided a method and system which relies on the communication between Dynamic Session Management Server (DSMS) and Session Management Agent (SMA) .
In a further aspect, there is disclosed a system for facilitating transfer of Rich Internet Application (RIA) session between at least two electronic devices comprising: a session management agent for sending notifications and communicating transfer events; and a DSMS configured to be in communication with a session management agent and for monitoring the device status and synchronizing copies of RIA session between the devices.
In another aspect, a method for facilitating transfer of Rich Internet Application (RIA) session between at least two electronic devices, wherein at least one device is an alternative device and the other is an original device, comprising the steps of: providing at least one module to be configured as a session management agent for sending heartbeat messages and communicating transfer event; providing at least one DSMS for monitoring device status updated by session management agent; initializing the RIA session transfer between said devices; selecting the specific RIA session to be transferred with push or pull method; performing transfer of RIA session across said devices; and synchronizing copies of RIA session objects across devices.
Additional advantages of the disclose subject matter will be set forth in part in the description that follows, and in part will be obvious from the description, or can be learned by practice of the aspects described below. The advantages described below will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS The present invention consists of features and a combination of parts hereinafter fully described and illustrated in the accompanying drawings, it being understood that various changes in the details may be made without departing from the scope of the invention or sacrificing any of the advantages of the present invention.
FIG 1 shows a prior art system for use in transferring web session; FIG 2 shows the system implemented with the embodiments of the present invention;
FIG 3 shows the overall architecture of the system and method in accordance with a preferred embodiment of the present invention;
FIG 4 shows the overall architecture of the Session Management Agent (SMA) (100) in accordance with a preferred embodiment of the present invention;
FIG 5 shows the overall internal architecture of the Dynamic Session Management Server (200) in accordance with the preferred embodiment of the present invention; FIG 6 shows the process flow involved before a potential occurrence of RIA session transfer;
FIG 7 (a) and 7 (b) shows the overall structure of push/pull transfer in accordance with the preferred embodiment of the present invention.
To further clarify various aspects of some embodiments of the present invention, a more particular description of the invention will be rendered by references to specific embodiments thereof, which are illustrated, in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the accompanying drawings in which:
DETAILED DESCRIPTION OF THE PREFFERED EMBODIMENTS
The present invention is a system and method to facilitate RIA session (s) and more particularly involving two-way push/pull transfer of Rich Internet Application session (s) across a plurality of connected devices owned by a particular user.
Generally, the system comprises the Session Management Agent (SMA) which is preferably installed on every participating user device, whereby said SMA is configured to listen to the RIA session objects reported by the RIAs running on the same device. This enables the transferred RIA to restore its state till the point prior to the occurrence of a RIA session transfer. The SMA also sends periodic heartbeat message to the Dynamic Session Management Server (DSMS) (which will be described shortly herein) so that the DSMS can maintain a list of user's devices available for transfer. In addition, SMA (100) is acting as a proxy to RIAs in the communication with DSMS, where it is responsible for the exchange of data objects/information/messages between RIAs running locally and the DSMS.
In accordance with a preferred embodiment of the present invention, SMA (100) is configured to execute the following tasks during operation: proxying the RIA session objects dynamically to DSMS, notifying DS S on the device status in a real-time manner, enabling two-way, i.e. push/pull, transfer of RIA session, and providing the Graphical User Interface (GUI) for seamless transfer of RIA session to occur instantaneously.
As briefly mentioned earlier, the system further comprises a Dynamic Session Management Server (DSMS) (200) configured to synchronize the RIA session objects across multiple devices so that a transfer of RIA across devices can happen instantaneously. Accordingly, the primary tasks executed by DSMS (200) includes: storing and relaying real-time, dynamic copy of RIA session objects to devices, maintaining a set of user profile and device information, checking the device availability to maintain the updated list of alternative devices, and notifying devices about successful event of RIA transfer
In the preferred embodiment, the method involves a series of communication designated in between RIA and SMA, SMA and DSMS, RIA and a Web Server (300) to allow the transfer to take place.
FIG 3 shows the overall architecture of the system and method in accordance with a preferred embodiment of the present invention. A user (10) may own a plurality of devices, which may include but not limited to, mobile phones, smart-phones, PDAs, tablets, net-books, laptops, and desktops, that are being connected to a network which allows these devices to be in communication with both the Dynamic Session Management Server (DSMS) (200) and Web Server (300) .
In an exemplary scenario as seen in FIG 3, a User 1 (10) has two devices, namely the Device A and Device B. Each of the devices, in turn, is equipped with a browser and a Session Management Agent (SMA) (100) . The browser, or any equivalent sandbox applications, is used as an environment and thus configured to support the execution of Rich Internet Applications (RIAs) , which access web services and/or content provided by the Web Server (s) (300) .
As the Web Server (300) is primarily intended for providing web service/content to user device, DSMS (200) is deployed to be in communication with the SMA (100) so that it can hold or preserve the RIA session objects which are important for the seamless session transfer to take place. These RIA session objects, being exchanged in between DSMS (200) and SMA (100) , would typically constitute not least than Uniform Resource Locator (URL) identifying the locations to access services/contents, as well as a dynamic snapshot of RIA- specific data such as session, state, history, cache, index, metadata, parameters and authentication information.
FIG 4 shows the overall architecture of the Session Management Agent (SMA) (100) in accordance with a preferred embodiment of the present invention. In effect, the SMA (100) is activated whenever the operating system of which it is residing or installed has been initialized. Being an intermediary, it communicates locally with all the RIAs, and also remotely with the DSMS (200) .
Now referring to FIG 4, the User Profile/System Configuration module (30) is used to store configuration data, which comprises all details and information related to users such as credentials, preferable browser (s), interval of heartbeat message, and many others. The module (40) may further comprise of system-wide information such as type of operating system, network connection, and runtime environment for RIA, etc.
According to the preferred embodiment of the present invention, the DSMS Proxy (210) is responsible for the communication with DSMS (200) . It is configured to deliver configuration data as login information to DSMS (200), and notifies the DSMS (200) on the alternative devices which are available for transfer. This is done via a heartbeat message. Besides, DSMS Proxy (210) characterizes a receiver to intercept remote RIA session objects and device (s) update sent by the DSMS (210) , as well as a sender to deliver DSMS with the local RIA session objects.
SMA (100) is also configured to notify DSMS (200) in the event of a successful RIA session transfer, and acts as a two ways interface of which a request for transfer is being transmitted, depending on whether it is a local push request (delivered) or a remote push request (received) . Further in accordance with a preferred embodiment of the present invention, RIA Proxy (250) is configured to communicate with the RIAs running within the local device by way of listening to any local RIA session objects reported by active RIAs. During operation, when a transfer is performed, RIA Proxy (250) is the interface where newly transferred RIA retrieves on the remote RIA session objects previously stored in the RIA Objects Cache, so as to enable the RIA to resume on its execution.
Still referring to FIG 4, the Collocator (50) acts as the center point and is configured to coordinate the internal passing of objects/data/information/message from one component to the other. It compresses the RIA session objects before dispatching them to be delivered out by DSMS Proxy (210) . Based on the kind of request received, Collocator (50) generate instruction to the action handler to carry actions such as, but not limiting to, opening the RIA in a new browser, ending a RIA whose session has been transferred to another device, etc. In addition, Collocator (50) also interacts with the RIA Objects Cache to either retrieve or store RIA session objects produced by the local device or remote device.
Another component within the system of the present invention is the User Interface Manager (40) . Its primary role is to provide Graphical User Interface to end users, in which users can choose the alternative device (s) for which a push/pull transfer of RIA session should be performed on, and edit certain user profiles/preferences. Another responsibility of User Interface Manager (40) is to display the information dispatched by the Collocator (50) , such as the RIAs running actively and the alternative devices available. It should be noted that there is no restrictions on any particular application protocols used to implement the communication layer for both the RIA Proxy and DSMS proxy. Such application protocols may include, but not limiting to, HTTP, SIP, TLS/SSL, XMPP and various others to achieve the desired result.
FIG 5 shows the overall internal architecture of the Dynamic Session Management Server (200) in accordance with the preferred embodiment of the present invention. As shown, the DSMS (200) comprises five main modules, these are the session transfer manager (211) , the device monitoring manager (212) , the session database (213) , session coordinator (214) and application level communication and session protocol module (215) . The DSMS is preferably built upon a converged server network, which is capable of communicating with the user devices in more than one of the potential application protocols.
The Device Monitoring Manager (212) is the primary module within DSMS, and is assigned to monitor the availability of user devices. Further, it is configured to authenticate the login from user devices and monitors the state of these devices by processing the heartbeat messages received thereafter. Accordingly, a copy of such information is stored in the session database (213) . The Session Transfer Manager (211) is configured to keep track of any RIA session objects produced by the RIAs . It is further configured to process the device request for RIA session transfer. The Session Coordinator (214) is configured to monitor and coordinate activities performed by both the device · monitoring manager (212) and the session transfer manager (211) , whereby it dispatches data to both modules during operation. Prior to sending the data, it is configured to filter, process, and mingle the data received from the device monitoring manager (212) and session transfer manager (211) . Upon completed these tasks, it will proceed to deliver the information necessary for transfer to be initiated to the respective user devices. FIG 6 shows the process flow involved before a potential occurrence of RIA session transfer. For the purpose of illustration, examples of scenario which may occur will be elaborated herein shortly. It is noted that these examples are not intended to limit the scope of the claims provided herein.
EXAMPLE 1
User 1 is equipped, with two devices, i.e. Device A and Device B. Both devices are accordingly installed with the system of the present invention .
The SMA (100) initiates its execution whenever the operating system (OS) is booting up. For example, when User 1 turns on or restarts Device A. Upon initiated, the SMA performs a login to its corresponding DSMS . Following that, DSMS pushes Device A with the any existing remote RIA Session objects produced by Device B, assuming if Device B has already logged in earlier than Device A and that there is at least one active RIA running inside the Device B. Otherwise, if Device B is offline or idle, not data will be pushed to Device A.
Next, Device A sends periodical heartbeat message to DSMS in notifying about its availability. Once the DSMS receives on the heartbeat message, it confirms on the availability of Device A. DSMS then informs Device B on the availability of Device A, thereby updating the list of online alternative devices. In the event that DSMS fails to receive a consecutive order of few heartbeat messages from Device A, it will confirm that Device A is offline and update Device B correspondingly about this event.
Subsequently, User 1 is indicated with using a RIA from the browser to perform on some actions after the completion of SMA activities (OS startup service) that happen without the knowledge of User 1. The RIA is requesting for the relevant services or contents from remote Web Server, which responses by first sending Device A with the application objects. Once successfully loaded, the RIA retrieves the intended RIA data objects from this Web Server. The RIA sends details of any changes pertinent to the session sensitive objects to the SMA via a ' well known port/address/location. The received RIA session objects are further processed by the SMA, e.g. compressing on data to conserve connection bandwidth, before sending them to the DSMS.
In order for the transfer of RIA session to take place in a swift manner, a real time copy of these RIA session objects are forwarded from the DSMS to the SMA of Device B. In this way, any RIA session objects received, due to the RIA activity invoked on Device A, will be continuously communicated ahead to Device B.
FIG 7(a) and 7(b) shows the overall structure of push/pull transfer in accordance with the preferred embodiment of the present invention.
According to the preferred embodiment of the present invention, push transfer is initiated when User 1 interacts with the SMA installed on Device A, instructing it to transfer a RIA currently executing in Device A to Device B. In the contrary, Pull transfer occurs when User 1 interacts with the SMA installed on Device B, instructing it to transfer a RIA currently executing in Device A to Device B. This enables user with the flexibility of choosing the specific RIA to be transferred across devices. In other words, User 1 is granted with the freedom of retaining the execution of certain RIA(s) in Device A, while transferring some other RIA(s) to Device B.
In another case scenario, when a particular user has more than two available devices, the user can choose which devices the specific RIA(s) to be transferred onto. In the case of push transfer, having to specify which active RIA(s) to be transferred from Device A to Device B, DSMS will relay the request to Device B. Device B will then trigger a browser to execute on the said RIA(s) chosen to be transferred. On the other hand, in the case of pull transfer, user interacts directly with the SMA on Device B to trigger a browser to execute on the said RIA(s) chosen to be transferred.
Based on the RIA session objects previously pushed by DSMS, the RIA running in Device B is configured to recognize the steps in restoring the execution of RIA(s) precisely to point or as a guide t where it has reached while executing in Device A. This is achieved by first calling the browser to make a request to the Web Server, where it retrieves the RIA application objects from. Once loaded, the RIA will first verify if there exist any RIA session objects previously stored by the SMA; and if found, the RIA will retrieve them as pointer in guiding the download of RIA data objects relevant to the point prior to its transfer.
When the RIA performs such a request, SMA infers that the session transfer is successful and hence notifies DSMS with such event. In turn, DSMS will route this as a message to Device A, letting it know that it is proper to end the transferred RIA session on Device A. As the RIA execution is exhibiting a high level of dynamicity, the RIA will constantly update SMA with the changes of its session objects, which then, will be then relayed by the SMA to DSMS. DSMS, in turn, sends these remote RIA session objects to all participating alternative devices. SMA of these alternative devices will store the remote RIA session objects within its RIA object cache for future use and thus ensuring smooth upcoming transfers. While the RIA is running, now in Device B, it will update SMA about its RIA session objects. The SMA will then proxy these RIA session objects received from RIA to DSMS . Subsequently, DSMS relays the RIA session objects to all the alternative devices, including the Device A. The SMA of Device A stores a copy of these RIA session objects locally so that it is ready for a simultaneous transfer at any moment.
In the foregoing specification, specific embodiments of the present invention have been described. However, one of ordinary skill in the art will appreciate that various modifications and changes can be made without departing from the scope of the present invention as set forth in the various embodiments discussed above and the claims that follow.

Claims

1. A system for facilitating transfer of Rich Internet Application (RIA) session between at least two electronic devices comprising : a session management agent (100) for sending notifications and communicating transfer events; and
a dynamic session management (200) configured to be in communication with a session management agent (100) and for monitoring the device status and synchronizing copies of RIA session between the devices.
2. The system as claimed in Claim 1 further comprising of a web server and a browser.
3. The system as claimed in Claim - 1 wherein the notifications sent by S A are in the form of heartbeat message.
The system as claimed in Claim 1 wherein the session management agent (100) comprises at least one user profile/system configuration for storing configuration data; a DSMS Proxy (210) for communicating with DSMS (200); a RIA Proxy (250) for communicating with active RIAs running on devices; a RIA object cache for storing RIA session objects and device specific information; a user interface manager (40) for providing graphical user interface for user to perform selection on the type of RIA session transfer and for editing user profiles or preferences. The system as claimed in Claim 1 wherein the DSMS (200) comprises a device monitoring manager (212) for monitoring the status of device; a session transfer manager (211) for keeping track on the active RIAs and their corresponding RIA session objects; a session database (213) for storing objects dispatched by device monitoring manager and session transfer manager; a session coordinator for coordinating the passing of objects between device monitoring manager (212) , session transfer manager (211) and session database (213), processing and compressing the received RIA session objects, and authenticating users.
A method for facilitating transfer of Rich Internet Application (RIA) session between at least two electronic devices, wherein at least one device is an alternative device and the other is an original device, comprising the steps of:
Providing at least one module to be configured as a session management agent for sending heartbeat messages and communicating transfer event;
Providing at least one dynamic session management server for monitoring device status updated by session management agent; Initializing the RIA session transfer between said devices; Selecting the specific RIA session to be transferred with push or pull method;
Performing transfer of RIA session across said devices; and
Synchronizing copies of RIA session objects across devices.
7. The method as claimed in Claim 6, wherein the steps of initializing the RIA session transfer between said devices further comprises; logging into the dynamic session management server; pushing any existing RIA session objects to the Session Management agent; sending periodical heartbeat messages to the dynamic session management server; updating the alternative device about the device availability when receiving heartbeat messages; connecting to a web server to request for web , services/content; providing a response to the browser by sending RIA application objects; loading the RIA application objects; requesting for RIA objects form the web server; sending latest RIA session objects to SMA; uploading processed RIA session objects and information related to devices to DSMS; and updating the alternative devices with remote RIA session objects .
8. The method as claimed in Claim 6, wherein the step of selecting specific RIA session to be transferred comprises the steps of: triggering a GUI on Session Management Agent of original device to select the specific RIAs for push or pull transfer; and relaying the request for push session transfer from the original device to the alternative device chosen for selection method of RIA session transfer to take place.
9. The method as claimed in Claim 6, wherein the step of performing transfer of RIA session across devices further comprising the steps of: selecting the specific RIAs to be transferred; opening a browser on alternative device and instructing browser to request for the RIA service/content currently accessed from the original device; sending the RIA application objects to the browser of alternative device; loading the RIA application objects; retrieving the remote RIA session objects previously stored by the Session Management Agent; resuming the corresponding services/contents accessed on original device by treating the remote RIA session objects as pointer; informing Dynamic Session Managemen Server about this successful session transfer; updating Session Management Agent of the original devices about the successful session transfer; triggering the browser to end the transferred RIA sessions; updating Session Management Agent with the latest RIA session objects; processing and sending RIA session objects to Dynamic Session Management Server; synchronizing the RIA session objects on every alternative devices and storing a copy of the remote RIA session objects locally.
PCT/MY2012/000179 2011-09-06 2012-06-29 System and method for rich internet application session transfer Ceased WO2013036099A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI2011004154A MY164885A (en) 2011-09-06 2011-09-06 System and method for rich internet application session transfer
MYPI2011004154 2011-09-06

Publications (1)

Publication Number Publication Date
WO2013036099A1 true WO2013036099A1 (en) 2013-03-14

Family

ID=47040768

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/MY2012/000179 Ceased WO2013036099A1 (en) 2011-09-06 2012-06-29 System and method for rich internet application session transfer

Country Status (2)

Country Link
MY (1) MY164885A (en)
WO (1) WO2013036099A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015155410A1 (en) * 2014-04-09 2015-10-15 Nokia Technologies Oy Continuous browsing across devices
CN110191165A (en) * 2019-05-20 2019-08-30 深圳前海微众银行股份有限公司 Method and device for processing code execution request
US10904243B2 (en) 2016-12-20 2021-01-26 Hewlett-Packard Development Company, L.P. Authenticate a first device based on a push message to a second device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1330098A1 (en) * 2002-01-21 2003-07-23 BRITISH TELECOMMUNICATIONS public limited company Method and communication system for data web session transfer
US20030187991A1 (en) * 2002-03-08 2003-10-02 Agile Software Corporation System and method for facilitating communication between network browsers and process instances

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1330098A1 (en) * 2002-01-21 2003-07-23 BRITISH TELECOMMUNICATIONS public limited company Method and communication system for data web session transfer
US20030187991A1 (en) * 2002-03-08 2003-10-02 Agile Software Corporation System and method for facilitating communication between network browsers and process instances

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"3rd Generation Partnership Project;Technical Specification Group Services and System Aspects;IP Multimedia Subsystem (IMS) Service Continuity;Inter-UE Transfer enhancements; Stage 2(Release 10)", 3GPP DRAFT; 23831-100, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. SA WG2, no. Brunstad; 20100903, 24 August 2010 (2010-08-24), XP050458394 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015155410A1 (en) * 2014-04-09 2015-10-15 Nokia Technologies Oy Continuous browsing across devices
US10904243B2 (en) 2016-12-20 2021-01-26 Hewlett-Packard Development Company, L.P. Authenticate a first device based on a push message to a second device
US11611551B2 (en) 2016-12-20 2023-03-21 Hewlett-Packard Development Company, L.P. Authenticate a first device based on a push message to a second device
CN110191165A (en) * 2019-05-20 2019-08-30 深圳前海微众银行股份有限公司 Method and device for processing code execution request
CN110191165B (en) * 2019-05-20 2023-05-12 深圳前海微众银行股份有限公司 Method and device for processing code execution request

Also Published As

Publication number Publication date
MY164885A (en) 2018-01-30

Similar Documents

Publication Publication Date Title
CN107431630B (en) Highly scalable, fault-tolerant remote access architecture and methods of connecting to it
US8713365B2 (en) Re-establishing push notification channels via user identifiers
US9817657B2 (en) Integrated software development and deployment architecture and high availability client-server systems generated using the architecture
JP6164747B2 (en) Method for flow control in a collaborative environment and for reliable communication
US8607233B2 (en) Web service management
US10241876B1 (en) Cooperative fault tolerance and load balancing
US20140223333A1 (en) Deferred, on-demand loading of user presence within a real-time collaborative service
CN103782541A (en) Non-invasive remote access to an application program
US20170323273A1 (en) An Online Meeting System and Method
US12495101B2 (en) Mitigating network resource contention
JP2020198636A (en) System and method for efficient call processing
US9998885B2 (en) Method of and system for processing an electronic message destined for an electronic device
US10243895B2 (en) Method of and system for processing an electronic message destined for an electronic device
WO2013036099A1 (en) System and method for rich internet application session transfer
CN110324384A (en) The method and apparatus of data-pushing
CN101551758B (en) System and method for implementing paralleling work of device management and tasks
US8200751B2 (en) System and method for maintaining stateful information
KR102198799B1 (en) Conferencing apparatus and method for sharing content thereof
CN106330953A (en) An intelligent router device, server device and data processing method thereof
CN102150151A (en) Asynchronous queued messaging for Web applications
US9608914B2 (en) Information processing apparatus and information processing method
CN111818179A (en) User request processing method and device, computing equipment and medium
JP6974568B1 (en) Information distribution device, information distribution method and information distribution program
Lomotey et al. Using a cloud-centric middleware to enable mobile hosting of Web services: mHealth use case
US20240054109A1 (en) Dynamic file based publish-subscribe method and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12773410

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12773410

Country of ref document: EP

Kind code of ref document: A1