Source: http://patents.com/us-9864628.html
Timestamp: 2019-01-23 07:36:44
Document Index: 587899393

Matched Legal Cases: ['Application No. 1900', 'Application No. 1900', 'Application No. 2', 'Application No. 2', 'Application No. 2', 'Application No. 2', 'Application No. 2', 'Application No. 2', 'Application No. 08']

US Patent # 9,864,628. Method and system for transferring an application state from a first electronic device to a second electronic device - Patents.com
United States Patent 9,864,628
Wormald January 9, 2018
The present invention provides a method for transferring an application state, of a first application being executed on a first electronic device, from the first electronic device to a second electronic device that is coupled to communicate with the first electronic device. The method comprises transmitting at least one application state element to the second electronic device and executing a second application on the second electronic device according to the application state elements.
Wormald; Christopher R. (Kitchener, CA)
Wormald; Christopher R.
Family ID: 1000003051700
11/208,732
US 20070054627 A1 Mar 8, 2007
Current CPC Class: G06F 9/4856 (20130101); G06F 9/461 (20130101)
Current International Class: H04B 1/00 (20060101); H04B 7/00 (20060101); G06F 9/46 (20060101); G06F 9/48 (20060101)
5996073 November 1999 Lee et al.
7277947 October 2007 Van De Sluis et al.
7315747 January 2008 Klassen et al.
2003/0220121 November 2003 Konishi et al.
2004/0171396 September 2004 Carey et al.
2004/0236974 November 2004 Brown et al.
2005/0022113 January 2005 Hanlon
2005/0038933 February 2005 Himmel et al.
2005/0261062 November 2005 Lewin et al.
2006/0111099 May 2006 Abdel-Kader
2006/0153198 July 2006 Chadha
1062598 Oct 2003 EP
WO 00/34891 Jun 2000 WO
2004030384 Apr 2004 WO
1 420 388 May 2004 WO
Apple Comp Inc: "Apple--iTunes--Sync with iPod" Discover iTunes, Aug. 2004 (Aug. 2004), XP002360243 * the whole document *. cited by applicant .
Wikipedia: "ITunes" Wikipedia, May 10, 2005 (May 10, 2005), XP002327815 * the whole document *. cited by applicant .
Intellectual Property Office India, Office Communication dated Apr. 15, 2011, issued in respect of Indian Patent Application No. 1900/DEL/2006. cited by applicant .
Anand and Anand, Response to Office Communication, filed Jun. 1, 2011, in respect of Indian Patent Application No. 1900/DEL/2006. cited by applicant .
Wang, Wei, Canadian Intellectual Property Office, Examiner's Requisition, Dec. 20, 2010, Canada. cited by applicant .
Canadian Intellectual Property Office, Examiner's Requisition dated Jan. 26, 2010, issued in respect of Canadian Patent Application No. 2,557,030. cited by applicant .
Ogilvy Renault, Response to Examiner's Requisition dated Jul. 21, 2010, filed in respect of in respect of Canadian Patent Application No. 2,557,030. cited by applicant .
Norton Rose, Response to Examiner's Requisition dated Jun. 3, 2011, filed in respect of in respect of Canadian Patent Application No. 2,557,030. cited by applicant .
Canadian Intellectual Property Office, Examiner's Requisition dated Jan. 18, 2012, issued in respect of Canadian Patent Application No. 2,557,030. cited by applicant .
Norton Rose, Response to Examination Report dated Jul. 18, 2012, filed in Canadian Patent Application No. 2,557,030. cited by applicant .
Canadian Intellectual Property Office, Examiner's Requisition dated Dec. 23, 2013, issued in Canadian Patent Application No. 2,557,030. cited by applicant .
European Patent Office, "Communication Pursuant to Article 94(3) EPC" for corresponding European Patent Application No. 08 165 116.8 dated Aug. 24, 2015. cited by applicant.
1. A method for managing an application state by an instant messaging application server coupled to a first electronic device and a second electronic device for communication therewith, device, the method comprising: maintaining by the instant messaging application server an application state associated with an instant messaging account logged into from a first instance of an instant messaging application executing on the first electronic device, wherein the application state is defined application state elements comprising a conversation log, an open conversation and an online status; detecting by the instant messaging application server that communication with the first electronic device has been lost; and automatically transferring the application state from the instant messaging application server to the second electronic device in response to detecting that the communication with the first electronic device has been lost, the automatically transferring including transmitting the application state elements from the instant messaging application server to the second electronic device, causing the logging out of the instant messaging account at the instant messaging application server, causing a second instance of the instant messaging application to be executed on the second electronic device, causing logging into the instant messaging account at the instant messaging application server from the second electronic device after the automatically transferring is performed, and wherein the instant messaging application server maintains the online status of the instant messaging account while automatically transferring the application state to the second electronic device.
2. The method of claim 1, wherein instant messages addressed to a user of the instant messaging account are stored by the instant messaging application server and sent after logging into the instant messaging application from the second electronic device.
3. The method of claim 1, wherein the application state elements include authentication information for transferring the application state to the second electronic device.
4. The method of claim 1, wherein the first electronic device is directly coupled to communicate with the second electronic device via a direct connection between respective ports on the first and second electronic devices and the transferring is performed via the direct connection.
5. The method of claim 4, wherein the first electronic device is additionally adapted to be coupled to the second electronic device via a wireless communication network and the transferring is performed via the wireless communication network.
6. The method of claim 1, wherein the first electronic device is adapted to be coupled to the second electronic device via a wireless communication network and the transferring is performed via the wireless communication network.
7. An instant messaging application server, the instant messaging application server coupled to a first electronic device and a second electronic device for communication therewith, comprising: a processor; a memory coupled to the processor, the memory storing executable instructions that, when executed by the processor, cause the instant messaging application server to: maintain an application state associated with an instant messaging account logged into from a first instance of an instant messaging application executing on the first electronic device, wherein the application state is defined application state elements comprising a conversation log, an open conversation and an online status; detect that communication with the first electronic device has been lost; and automatically transfer the application state from the instant messaging application server to the second electronic device in response to the detecting that the communication with the first electronic device is lost, the automatically transferring including transmitting the application state elements from the instant messaging application server to the second electronic device, causing the logging out of the instant messaging account at the instant messaging application server, causing a second instance of the instant messaging application to be executed on the second electronic device, causing logging into the instant messaging account at the instant messaging application server from the second electronic device after the automatically transferring is performed, and wherein the instant messaging application server maintains the online status of the instant messaging account while automatically transferring the application state from the first electronic device to the second electronic device.
8. The instant messaging application server of claim 7, wherein the processor is configured to execute instructions to further cause the instant messaging application server to store instant messages addressed to a user of the instant messaging account and send the stored instant messages after the second electronic device is logged into the instant messaging application.
9. The instant messaging application server of claim 7, wherein the application state elements include authentication information for transferring the application state to the second electronic device.
10. The instant messaging application server of claim 7, wherein the first electronic device is directly coupled to communicate with the second electronic device via a direct connection between respective ports on the first and second electronic devices and the transfer is performed via the direct connection.
11. The instant messaging application server of claim 10, wherein the first electronic device is additionally adapted to be coupled to the second electronic device via a wireless communication network and the transfer is performed via the wireless communication network.
12. The instant messaging application server of claim 7, wherein the first electronic device is adapted to be coupled to the second electronic device via a wireless communication network and the transfer is performed via the wireless communication network.
13. A non-transitory machine readable medium having tangibly encoded thereon executable instructions that, when executed by a processor of an instant messaging application server, the instant messaging application server coupled to a first electronic device and a second electronic device for communication therewith, cause the instant messaging application server to: maintain an application state associated with an instant messaging account logged into from a first instance of an instant messaging application executing on the first electronic device, wherein the application state is defined application state elements comprising a conversation log, an open conversation and an online status; detect that communication with the first electronic device has been lost; and automatically transfer the application state from the instant messaging application server to the second electronic device in response to the detecting that communication with the first electronic device is lost, the automatically transferring including transmitting the application state elements from the instant messaging application server to the second electronic device, causing the logging out of the instant messaging account at the instant messaging application server, causing a second instance of the instant messaging application to be executed on the second electronic device, causing logging into the instant messaging account at the instant messaging application server from the second electronic device after the automatically transferring is performed, and wherein the instant messaging application server maintains the online status of the instant messaging account while automatically transferring the application state from the first electronic device to the second electronic device.
14. The non-transitory machine readable medium of claim 13, wherein the instructions further cause the instant messaging application server to store instant messages addressed to a user of the instant messaging account and send the stored instant messages after the second electronic device is logged into the instant messaging application.
15. The non-transitory machine readable medium of claim 13, wherein the application state include authentication information for transferring the application state to the second electronic device.
16. The non-transitory machine readable medium of claim 13, wherein the first electronic device is directly coupled to communicate with the second electronic device via a direct connection between respective ports on the first and second electronic devices and the transfer is performed via the direct connection.
17. The non-transitory machine readable medium of claim 16, wherein the first electronic device is additionally adapted to be coupled to the second electronic device via a wireless communication network and the transfer is performed via the wireless communication network.
18. The non-transitory machine readable medium of claim 13, wherein the first electronic device is adapted to be coupled to the second electronic device via a wireless communication network and the transfer is performed via the wireless communication network.
This invention relates to the field of software applications and specifically to transferring an application state from a first electronic device to a second electronic device.
Mobile electronic devices are becoming more and more ubiquitous because they help users manage their busy schedules and communicate with the world, as well as provide users with entertainment. For example, portable computers, such as notebook or laptop computers, personal data assistants (PDAs) and mobile telephones are becoming necessities for many. Notebook or laptop computers are very popular because they are extremely lightweight personal computers that can easily fit in a briefcase for the mobile businessperson. A PDA is a handheld mobile device that allows users to access information, keep track of their busy schedules, and communicate with others. A typical PDA can function as a mobile or cellular phone, fax sender, and personal organizer. Furthermore, many PDAs are capable of wireless connectivity and executing any number of software applications. It is very important for today's mobile professional to be able to access information from anywhere in the world. Similar to the portable computer, PDAs are very popular because they are designed to be highly portable. Some mobile electronic devices have entertainment functions and include MP3 players, such as the Apple iPod.TM. and handheld game consoles such as the Nintendo Gameboy.TM. line of products or Sony PlayStation Portable.TM..
A common feature of portable devices, such as a PDA, is the ability for the mobile device to communicate with another electronic device, such as a desktop computer, laptop or another PDA, for the purposes of synchronizing various data. Typically, the PDA is coupled to communicate with the desktop computer, either wirelessly or through a serial port. When instruction from a user to synchronizing the devices is received, data such as contacts, e-mail, calendar items, memo items are synchronized by replacing old data with newer data. There are numerous computer software designed to synch two electronic devices and ensure that the newer data is retained and not overwritten by older data.
Synching two electronic devices is typically limited only to the data elements described above. As a result, if a user decides to leave a first device, such as a desktop, while running a particular application and desires to continue working from a second device such as a PDA, that user will typically start the application from the PDA and start over again. For example, if the user is browsing the World Wide Web and wishes to continue browsing on a PDA, the user would start the browser on the PDA and enter the URL and start over.
Methods for providing improved functionality between multiple devices is desired.
According to one broad aspect of the invention, there is provided a method for transferring an application state, of a first application being executed on a first electronic device, from the first electronic device to a second electronic device that is coupled to communicate with the first electronic device. The method comprises transmitting at least one application state element to the second electronic device and commencing execution of a second application on the second electronic device according to the application state elements.
Depending on the specific application and situation, it may be preferable to terminate the first application being executed by the first electronic device.
Advantageously, the methods of the present invention provide for the transfer of an application state from a first device to a second device so that a user may continue his or her electronic activities in a more seamless manner.
According to another aspect of the invention, there is provided a computer readable memory storing statements and instructions for use in the execution in a computer of the methods of the present invention. Preferably, the computer readable memory is in a mobile electronic device.
FIG. 1 is a flowchart illustrating operations for transferring an application state of an application from a first electronic device to a second electronic device according to a first embodiment of the invention;
FIG. 2 is a flowchart illustrating operations for transferring an application state of an application from a first electronic device to a second electronic device according to a second embodiment of the invention;
FIG. 3 is a schematic showing a system for transferring an application state of an application from a first electronic device to a second electronic device according to the second embodiment of the invention; and
FIG. 4 shows a mobile electronic device storing instructions which when executed causes the performance of the methods of the present invention.
Generally, in accordance with an aspect of the invention, there is provided methods for transferring an application state, of a first application being executed on a first electronic device, from the first electronic device to a second electronic device. The second device is coupled to communicate with the first device. It will be understood by a person skilled in the art that coupled communication may be a direct connection through USB or similar ports between the first and second device, wirelessly or a combination thereof. It will be further understood that the two devices may be coupled to communicate indirectly through a network, preferably wirelessly. The first and second devices may be any electronic device capable of executing an application such as a personal computer, laptop or PDA, but is not limited to devices capable of running multiple applications. The first and second devices may therefore also include, without limitation, mp3 players, portable media players, gaming consoles or electronic book readers.
Referring to FIG. 1, a flowchart illustrating operations 100 according to a first embodiment of the invention is provided. A decision at step 110 is made by a user to transfer the application state from a first device to a second device. At step 120, at least one application state element is transmitted to the second device. At step 130 a second application is executed on the second device according to the application state elements. At step 140, the first application on the first device is terminated.
Example 1--Media
A user is listening to music media, such as a song, in mp3 format using a media player, such as Windows Media Player.TM. or Apple's iTunes.TM., executed from a desktop personal computer. The user also has a mobile mp3 player, such as an Apple iPod.TM. or Diamond RIO.TM., that is connected to the desktop computer. Alternatively, a user may have a PDA with a media player application capable of playing mp3s. Upon the user indicating a desire to switch to the mobile device by choosing "Switch to PDA", application state elements regarding the media player's application state are transmitted from the desktop computer to the mp3 player. Application state elements in this example include, but are not limited to, any of a song file being played, an elapsed time on the song, a playlist and a shuffle order. The media player application on the mp3 player would be then be executed according to the application state elements and the original media player on the desktop terminated. As a result, the same song which was originally playing on the user's desktop will begin playing on the mp3 player from the same moment. Further, the media player's playlist and shuffle order would also be preserved. Advantageously, this provides a more seamless transition from a first device (desktop) to a second device (mp3 player).
Although the first application executed from the first device is preferably the same application as the second application executed from the second device, it is possible to use different applications to transfer the same task. For example, the user may be using Windows Media Player.TM. to listen to an mp3 on the first device but using Winamp.TM. to listen to the mp3 on the second device. Further, it is also known to use middleware to resolve potential incompatibility issues between the first and second applications on the first and second devices respectively.
In another embodiment of the invention, the first and second devices are both portable media players and application state elements are transferred there between. This allows two portable media players to be synchronized so that two individuals may listen to the same songs at the same time and in the same order. For example, A first mobile mp3 player is coupled to communicate with a second mobile mp3 player. At the direction of a user to "Transfer State", application state elements from the first mp3 player are transferred to the second mp3 player. The media player application on the second mp3 player would then be executed according to the application state elements. Thus, the first and second mobile mp3 players would be playing the same media in the same order at the same time. As a result, respective first and second users would be provided with a synchronized experience.
The methods of the present invention are equally applicable to streaming media. In this instance, as a media file is streamed from a remote location, application state elements for the streaming media would additionally include the URL or location of the media file sufficient to enable the second device to start the streaming of the media file to the second device. As with non-streaming media, other application state elements, such as elapsed play time, would be provided to the second device to facilitate a more seamless transfer of application state. It will also be understood that any of the streaming media or data regarding the elapsed playtime may involve instructing a remote third device to stream the media to the second device starting at the elapsed playtime.
In some embodiments of the invention, when the second application on the second device has been executed according to the application state elements, that is, the same media is playing from the same point in time, there is a pause for a predetermined period of time before terminating the first application. Thus, for this predetermined period of time, the media is played simultaneously from both devices. Advantageously, this prevents the user from missing any media after the transfer but before using the second device, for example, by putting on headphones. In the case of media that is streamed from a server, the server authenticates both devices and facilities the transfer of application state by multicasting to both devices for the predetermined period of time. In another embodiment, the first application will continue indefinitely until the user terminates it manually.
It will be understood by a person skilled in the art that application state elements may include any authentication information required to transfer the application state from the first device to the second device. For example, streaming media may only be available following authentication of a user. Further, if application level synching of streaming media is not available, it will be understood that middleware, of a type known in the art, may be employed to synch the elapsed playtime of the media on the first device with the media on the second device.
Example 2--Web Browsing
A user is browsing the World Wide Web from a PDA, such as a BlackBerry.TM., available from Research in Motion Ltd. (RIM), using the BlackBerry's.TM. native web browser and has arrived at a desktop work station and wishes to transfer the application state to the desktop. The user couples the PDA to communicate with the desktop personal computer and chooses to "Switch to PC". All application state elements required to transfer the application state of the web browser from the PDA to the PC is transmitted from the PDA to the PC, such as the URL and any required cookies. Preferably, the application state elements include the actual location on the web page. The personal computer then executes a web browser, such as Microsoft's Internet Explorer.TM. or Mozilla's Firefox.TM. according to the transmitted application state elements. The web browser on the personal computer therefore opens the same URL at the same place facilitating a continuous experience with the user's current activity--reading, enabling a transaction or playing an online game for example.
Example 3--Electronic Books
A user is reading an electronic book (e-book) on a desktop computer and wishes to transfer the application state to a PDA. The user couples the PDA to communicate with the desktop personal computer and chooses "Switch to PDA". All application state elements required to transfer the application state of the electronic book is transmitted from the PDA to the PC, such as the entire or the relevant portion of an electronic book file or a link to it and the last location within the e-book which was displayed. The personal computer then executes an appropriate application capable of reading the e-book file according to the transmitted application state elements. The user can then continue reading from the same location in the e-book on the PDA.
Referring to FIG. 2, operations 200 for transferring an application state from a first device to a second device according to a second embodiment of the invention are shown. Some applications are coordinated through, and may require a user to log into, an application server. Operations 200 contain additional steps 210 and 220. At step 210, a user is logged off the first application from the first device. At step 220, the user is logged on the second application from the second device. Referring to FIG. 3, instructions representing operations 200 can be stored and executed on one of any of a desktop computer 310, a personal data assistant 320 and an application server 330, alone or in combination, in system 300. In system 300, each of desktop computer 310, personal data assistant 320 and application server 330 are coupled to communicate with each other.
Example 4--Instant Messaging
Instant Messaging ("IM") typically requires a user to be logged in to an application server. A user is logged in to an instant messaging system from a desktop computer and instant messaging several contacts. Upon deciding to leave the desktop computer and switch the application over to a PDA, which is coupled to communicate with the desktop, the user chooses a "Switch to PDA" option. Application state elements relating to the instant messenger are transmitted from the desktop to the PDA. Application state elements in this embodiment of the invention may include conversation logs, open conversations and log-in status. The instant messenger application is then executed from the PDA according the transmitted application state elements. The instant messenger on the PDA will therefore show open conversations with the same contacts with the same conversation histories. Further, the user will have the same log-in status such as, for example, any one of "online", "offline", "invisible", "away", "busy" and "do not disturb". The user is then logged off of the instant messenger application from the desktop computer and logged in to the instant messenger application from the PDA. A user therefore experiences a transition of application state from the desktop to the PDA while continuing to instant message his/her contacts.
It will be understood that depending on the instant messenger application, some application state elements may not be implemented until after the user has logged in from the second device. In these instances, application state elements will be implemented by the second device following logging into the application server.
Although the application state elements are described as being transmitted from the desktop computer to the PDA, it will be understood that with respect to applications that involve a separate application server, it is also possible for application state elements, that are resident on the application server, to be downloaded therefrom.
In one embodiment of the invention, a user's IM contacts or "buddies" do not see a change in the user's online status. A person skilled in the art would understand that this could be achieved by various means. For example, once the "Switch to PDA" option has been selected, in addition to the transfer of application state elements described above, the application server maintains the online status of the user despite the user being temporarily disconnected. Any messages directed to the user during this time may be temporarily stored in a memory and then sent to the second device once the second device has logged in the application server.
In another embodiment of the invention, the IM application server is disposed to automatically attempt to "Switch to PDA" if connection to the user's personal computer is lost, for example, as a result of the user logging off or shutting down the personal computer.
Although the methods of the invention have been described with respect to only one application state being transferred from a first device to a second device. A person skilled in the art would understand that the states of multiple applications may be transmitted from the first device to a second device. For example, application state elements regarding both web browsing and a media player could be transferred and the user would be able to seamlessly continue web browsing and listening to the same song from a second device.
The methods of the present invention have been described with reference to particular examples of types of software applications but are not limited thereto. The methods may be employed to transfer the application state of any application from a first electronic device to a second electronic device. For example, operations 100, or operations 200 if connection to a remote game server is required, would allow the transfer of a game from a first electronic device, such as a desktop, to a second electronic device, such as a PDA or a handheld game console.
Referring to FIG. 4, a mobile electronic device 402 capable of executing instructions representing the methods of the present invention is shown. The mobile electronic device 402 is preferably a two-way communication device having at least voice and advanced data communication capabilities, including the capability to communicate with other computer systems. Depending on the functionality provided by mobile electronic device 402, it may be referred to as a data messaging device, a two-way pager, a cellular telephone with data messaging capabilities, a wireless Internet appliance, or a data communication device (with or without telephony capabilities). Mobile electronic device 402 may communicate via a network 400, in this embodiment, any one of a plurality of fixed transceiver stations within its geographic coverage area.
Network access is associated with a subscriber or user of mobile electronic device 402 and therefore mobile electronic device 402 requires a Subscriber Identity Module or "SIM" card 462 to be inserted in a SIM IF 464 in order to operate in the network. Mobile electronic device 202 is a battery-powered device so it also includes a battery IF 454 for receiving one or more rechargeable batteries 456. Such a battery 456 provides electrical power to most if not all electrical circuitry in mobile electronic device 402, and battery IF 454 provides for a mechanical and electrical connection for it. The battery IF 454 is coupled to a regulator (not shown) which provides power V+ to all of the circuitry.
Mobile electronic device 402 includes a controller such as a microprocessor 438 which controls overall operation of mobile electronic device 402. Communication functions, including at least data and voice communications, are performed through communication subsystem 411. Microprocessor 438 also interacts with additional device subsystems such as a display 422, a backlight 423 for illuminating display 422, a flash memory 424, a random access memory (RAM) 426, auxiliary input/output (I/O) subsystems 428, a serial port 430, a keyboard 432, a speaker 434, a microphone 436, a short-range communications subsystem 440, and any other device subsystems generally designated at 442. Microprocessor is also capable of adjusting the intensity of backlight 420 according to a state of at least one light condition affecting ambient light at the global position of the device. Some of the subsystems shown in FIG. 4 perform communication-related functions, whereas other subsystems may provide "resident" or on-device functions. Notably, some subsystems, such as keyboard 432 and display 422, for example, may be used for both communication-related functions, such as entering a text message for transmission over a communication network, and device-resident functions such as a calculator or task list. Operating system software used by microprocessor 438 is preferably stored in a persistent store such as flash memory 424, which may alternatively be a read-only memory (ROM) or similar storage element (not shown). Those skilled in the art will appreciate that the operating system, specific device applications, or parts thereof, may be temporarily loaded into a volatile store such as RAM 426.
Short-range communications subsystem 440 of FIG. 4 is an additional optional component which provides for communication between mobile electronic device 402 and different systems or devices, which need not necessarily be similar devices. For example, subsystem 240 may include an infrared device and associated circuits and components, or a Bluetooth.TM. communication module to provide for communication with similarly-enabled systems and devices. Bluetooth.TM. is a registered trademark of Bluetooth SIG, Inc.
Some or all the instructions representing the methods of the present invention may be stored in any of the memory stores described above and executed by microprocessor 438. Mobile electronic device 402 may act as either the first or second device of the present invention and it will be clear to a person skilled in the art that transmission of the application state elements can be accomplished by push to or pull from the other device. Similarly, instructions relating terminating the first application on the first device or conversely, executing the second application on the second device may both originate from microprocessor 438 on mobile electronic device 402 and cause further execution by a microprocessor on the other device.
Previous Patent US 9,864,627 | Next Patent US 9,864,629