WO2013097898A1 - Synchronisation de l'état transitoire de contenu dans une application de contrepartie - Google Patents

Synchronisation de l'état transitoire de contenu dans une application de contrepartie Download PDF

Info

Publication number
WO2013097898A1
WO2013097898A1 PCT/EP2011/074193 EP2011074193W WO2013097898A1 WO 2013097898 A1 WO2013097898 A1 WO 2013097898A1 EP 2011074193 W EP2011074193 W EP 2011074193W WO 2013097898 A1 WO2013097898 A1 WO 2013097898A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
transient state
content provided
counterpart
synchronisation
Prior art date
Application number
PCT/EP2011/074193
Other languages
English (en)
Inventor
Tanzim HUSAIN
Graham Phillip Oldfield
Simon Paul TURVEY
Original Assignee
Nokia Corporation
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 Nokia Corporation filed Critical Nokia Corporation
Priority to PCT/EP2011/074193 priority Critical patent/WO2013097898A1/fr
Priority to GB1204849.2A priority patent/GB2498229A/en
Publication of WO2013097898A1 publication Critical patent/WO2013097898A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Definitions

  • the present disclosure relates to the field of user interfaces, associated methods, computer programs and apparatus, particularly in relation of synchronising the transient state of content in a counterpart application.
  • Certain disclosed aspects/embodiments relate to portable electronic devices, for example so-called hand-portable electronic devices which may be hand-held in use (although they may be placed in a cradle in use).
  • Such hand- portable electronic devices include so-called Personal Digital Assistants (PDAs), mobile phones, smartphones and tablet computers.
  • PDAs Personal Digital Assistants
  • the portable electronic devices/apparatus may provide one or more audio/text/video communication functions (e.g. tele-communication, video-communication, and/or text transmission (Short Message Service (SMS)/ Multimedia Message Service (MMS)/emailing) functions), interactive/non- interactive viewing functions (e.g. web-browsing, navigation, TV/program viewing functions), music recording/playing functions (e.g. MP3 or other format and/or (FM/AM) radio broadcast recording/playing), downloading/sending of data functions, image capture function (e.g. using a (e.g. in-built) digital camera), and gaming functions.
  • audio/text/video communication functions e.g. tele-communication, video-communication, and/or text transmission (Short Message Service (SMS)/ Multimedia Message Service (MMS)/emailing) functions
  • interactive/non- interactive viewing functions e.g. web-browsing, navigation, TV/program viewing functions
  • music recording/playing functions e.
  • Electronic apparatus and electronic devices are often configured to run one or more applications. Applications allowing a common level of functionality may be run at the same time on one or more such apparatus/devices. In some cases a number of such apparatus/devices may be linked by, for example, each being connected to a common remote server, or by each being connected in a network. In other cases, a number of such apparatus/devices may be standalone devices which may not be connected to each other.
  • a user may be able to perform a particular task using more than one electronic apparatus/device, and/or using more than one particular application.
  • the listing or discussion of a prior-published document or any background in this specification should not necessarily be taken as an acknowledgement that the document or background is part of the state of the art or is common general knowledge.
  • One or more aspects/embodiments of the present disclosure may or may not address one or more of the background issues.
  • an apparatus comprising at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following: use a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content provided using the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • the first application may be executable on a first device; the counterpart application may be executable on a second device; and the synchronisation command may be configured to synchronise the transient state of content provided using the first application on the first device with the last instance of the transient state of the corresponding content provided using the counterpart application on the second device.
  • the apparatus may be configured to use the synchronisation command at a first device to synchronise the transient state of content provided using the first application, the first application being located/executable on the first device.
  • the synchronisation command relates to the transient state of corresponding content provided using the counterpart application on a second device, with the counterpart application being located/executable on the second device.
  • the synchronisation command may thus be used to synchronise the transient state of content provided using the first application on the first device with the last instance of the transient state of the corresponding content provided using the counterpart application on the second device.
  • the first application and the counterpart application may be executable on a first device; and the synchronisation command may be configured to synchronise the transient state of content provided using the first application on the first device with the last instance of the transient state of the corresponding content provided using the counterpart application also on the first device. That is, the apparatus may be configured to use the synchronisation command at a first device to synchronise the transient state of content provided using the first application, the first application being located/executable on the first device.
  • the synchronisation command relates to the transient state of corresponding content provided using the counterpart application also on the first device, the counterpart application being located/executable also on the first device.
  • the synchronisation command may thus be used to synchronise the transient state of content provided using the first application on the first device with the last instance of the transient state of the corresponding content provided using the counterpart application also on the first device.
  • the synchronisation command may also be configured to synchronise the persistent state of content provided using the first application with the last instance of the persistent state of the corresponding content provided using the counterpart application.
  • the synchronisation command may be configured to be used to synchronise the transient state of content provided using a plurality of first applications with the transient state of corresponding content provided using a plurality of respective counterpart applications. That is, the transient state of content of more than one application may be synchronised with the transient state of corresponding content of more than one application using the synchronisation command.
  • the synchronisation command may be configured to be used to provide for synchronisation of one or more of the plurality of first applications, and/or one or more of the plurality of counterpart applications, one or more of which are available but not open prior to use of the synchronisation command. That is, not all the applications need be open to provide for synchronisation to take place. It may be that one counterpart application is open but the corresponding first application is not yet open but is available, when the synchronisation command is generated/used. The synchronisation command can then be used, for example, when the application is opened. It can even be used to synchronise the closed application such that when opened by the user, it appears synchronised.
  • the synchronisation command may be configured to be used to cause the first application to open. That is, the first application may be available but not yet open, and upon the synchronisation command being generated/used, the first application may be opened and the transient state of contents provided using the first application are synchronised with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • the first application opened may be a default one of a plurality of available applications.
  • the first application may be one of a plurality of available applications which are suitable for use with the transient state of content.
  • the synchronisation command may be configured to be used to provide for synchronisation in respect of an open first application.
  • the first application may already be open on the first device upon the synchronisation command being generated/used.
  • the at least one memory and the computer program code may be configured to, with the at least one processor, cause the apparatus to use the synchronisation command based on one or more of:
  • predetermined time intervals for synchronisation based on one or more of use of the synchronisation command, and generation of the synchronisation command
  • the synchronisation command may be used at a predetermined time interval. This time interval may be the time interval between the generation of successive synchronisation commands, or between the use of successive synchronisation commands.
  • the synchronisation command may be used based on user activity associated with the first application. That is, upon the user providing some interaction with the first application, the synchronisation command may be used.
  • the synchronisation command may be used based on user activity associated with the counterpart application. That is, upon the user providing some interaction with the counterpart application, the synchronisation command may be used.
  • the first application and the counterpart application may be provided for use on the respective first and second devices by accessing respective one or more memories located with the first and second devices.
  • Each device may store respective applications on their respective memories.
  • the transient state of content provided using the first application and the transient state of corresponding content provided using the counterpart application may each be provided on the respective first and second devices by accessing respective one or more memories located with the first and second devices.
  • Each device may store respective applications and may store the transient state of content on their respective memories.
  • the first application and the counterpart application may be provided for use on the respective first and second devices by communication with at least one remote server.
  • the first and second devices may require communication with at least one remote server to provide for use of the respective first and the counterpart application.
  • the first and/or counterpart application can be considered to be distributed between the device and the server, with parts of the application on the respective device/server needing to be run together to perform the tasks provided by the application.
  • the first application and the counterpart application may be provided for use on the first device by accessing one or more memories located with the first device.
  • the first device may store applications, and the transient state of content provided by such applications, in a memory associated with the device.
  • the first application and the counterpart application may be configured to provide a common level of functionality.
  • Each application may have a common level of functionality, in that the same tasks may be performed using either application.
  • the first application and the counterpart application may be configured to provide equivalent functionality.
  • two word processing applications may be produced by different organisations, but may provide essentially the same functionality, that is, allow a user to perform the same tasks in a similar way (even with a different user interface) regardless of which application he chooses to use.
  • the first application and the counterpart application may be configured to each operate using different operating systems.
  • Each application may be configured to run on one or more operating systems. It may be that the first application can operate using one operating system, and the counterpart application can operate using a different operating system.
  • the first device and the second device may otherwise be independently operable to provide the respective functionality of the first application and of the counterpart application.
  • the first device may be able to provide the functionality of the first application
  • the second device may be able to provide the functionality of the counterpart application, with no communication between the first device and the second device.
  • the two devices need not be connected, e.g. via a network, in order for each device to provide an application for use.
  • the first device and the second device may be configured to independently run a plurality of applications providing respective functionalities.
  • the first device may be able to provide the functionality of several applications, and without being connected to the first device (e.g. via a network), the second device may be able to provide the functionality of several other applications, some of which may be counterparts to some applications available on the first device. That is, the two devices need not be connected in order for each device to provide a plurality of applications for use.
  • the transient state of content may comprise one or more of: a mouse pointer position, a text cursor position, a zoom factor, a location on a page, a window size, a position in an audio or video file, a window form factor, a location of a window on a display, toolbar settings, and a highlighted element.
  • the apparatus may be a portable electronic device, a laptop computer, a mobile phone, a smartphone, a tablet computer, a personal digital assistant, a digital camera, a watch, a nonportable electronic device, a desktop computer, a monitor, a server, or a module/circuitry for one or more of the same.
  • the apparatus may be the second device or a module/circuitry for one or more of the same.
  • the apparatus may be the first device or a module/circuitry for one or more of the same
  • the first device and the second device may be configured to be communicatively linked by one or more of: an infra-red connection, a Bluetooth connection, a wireless connection, a radio frequency identification (RFID) connection, a telephonic connection, a physical wired connection, a network connection, and manually.
  • RFID radio frequency identification
  • a method comprising: using a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content provided using the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • a computer readable medium comprising computer program code stored thereon, the computer readable medium and computer program code being configured to, when run on at least one processor, perform at least the following: use of a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content on the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • an apparatus comprising: means for using a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content provided using the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • an apparatus comprising: at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following: generate a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content provided using the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • a method comprising generating a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content provided using the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • a computer readable medium comprising computer program code stored thereon, the computer readable medium and computer program code being configured to, when run on at least one processor, perform at least the following: generation of a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content on the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • an apparatus comprising means for generating a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content provided using the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • the present disclosure includes one or more corresponding aspects, embodiments or features in isolation or in various combinations whether or not specifically stated (including claimed) in that combination or in isolation.
  • Corresponding means for performing one or more of the discussed functions are also within the present disclosure.
  • figure 1 illustrates an example apparatus according to the present disclosure
  • figure 2 illustrates another example apparatus according to the present disclosure
  • figure 3 illustrates a further example apparatus according to the present disclosure
  • FIGS. 4a-4c illustrate a text editing application being synchronised over three different apparatus/devices
  • FIGS. 5a-5b illustrate an application for image manipulation synchronised over two different apparatus/devices
  • FIGS. 6a-6c illustrate a spreadsheet/data handling application synchronised over two different apparatus/devices
  • FIGS. 7a-7b illustrate one device with two synchronised e-mail client applications
  • figure 8 illustrates a flowchart according to a method of the present disclosure
  • figure 9 illustrates a flowchart according to a second method of the present disclosure
  • figure 10 illustrates schematically a computer readable medium providing a program
  • figure 11 illustrates a schematic representation of one example of a synchronisation command.
  • an average person in the developed world may have a mobile phone (possibly a smart phone), a desktop computer, a laptop computer, a portable music player, and/or a tablet computer.
  • a mobile phone possibly a smart phone
  • desktop computer a laptop computer
  • portable music player and/or a tablet computer.
  • Each of these devices has its own distinct functionality, but each device may also offer some overlapping functionality with one or more other devices.
  • Each device often will be able to provide several different applications for use, whether stored on the device, stored at a remote server, or distributed over a network.
  • Some applications may share a common level of functionality, such as a text-message editing application and a word processing application allowing the creation and editing of text based content.
  • Some applications may have equivalent functionality such as two different e-mail clients allowing the same actions to be performed, but perhaps via differently organised menu systems.
  • a user at home may choose to browse the internet on their laptop, have a word document open on their desktop computer, while listening to music on their portable music player, and have their phone on standby on the desk beside them. It may be beneficial to a user of such apparatus/devices to be able to perform tasks in one application, or in different applications, using more than one apparatus/device. For example, the user may wish to, after editing a word document on their desktop computer, transfer the document file to their laptop to continue working on the document using their laptop, for example if taking a train journey later that day.
  • a user may be browsing the internet on their laptop, but wish to continue browsing using their mobile phone, for example if they are going out to meet a friend and do not want to take their laptop with them.
  • a user may be provided with data in a spreadsheet and wish to plot sophisticated graphs using that data a graph plotting application.
  • a user may receive an e-mail on his or her smartphone, and wish to reply to that e-mail using a laptop computer or a tablet computer as they may find it easier to type on a larger keyboard than that available on the smartphone.
  • a user may take a photograph using the camera built into his mobile phone, but may wish to manipulate the image using a photo editing application on his tablet computer, laptop, or desktop computer.
  • a user may also be beneficial for a user not only to be able to perform a task in more than one application on different devices, but to have an easy and intuitive way of transferring the task being performed from one application to another. This may involve closing one application and opening another application in order to continue the task being performed. However, in doing this, it may be imagined that some information is lost due to the transfer. In the example of moving a word processing task from one application/device to another application/device, such information which would be lost during the transfer may include the position of the text cursor (caret) in the text, the zoom settings, the page being viewed, the font settings enabled (e.g. bold, italic, strikethrough).
  • information lost of transferring the task from one application/device to another application/device may include the position on the webpage, the zoom factor, the resolution of the video, and the audio settings. It may provide a benefit to the user if such data were preserved between task transfers.
  • any application running (and thus open) on any given device a lot of information is made available to that application. Some of that information can be considered to be persistent, and some of it can be considered “transient”.
  • the persistent state can be thought of as the state that persists between open instances of an application.
  • the persistent state represents data that is saved and can be viewed whenever the application is opened.
  • the transient state is the data that will not ordinarily persist between instances of an application (unless saved for a recovery file for use following a critical failure of the running application).
  • two users might each use different programs on their own devices to open and edit a spreadsheet document.
  • Some of the information like the size of the spreadsheet and the contents of each cell are necessarily persistent between applications. Such information is persistent and saved by each application so that that information can be recalled next time the spreadsheet is opened.
  • Such information can be regarded as the transient state and would not normally be saved by a given application.
  • a first user is editing their spreadsheet and wishes to switch to using the second user's device with an alternative program
  • the first user would need to save and close (to avoid duplicate open instances of the same application) the spreadsheet on his device before re-opening it from the other device and thus losing all the transient information.
  • the transient state information can be provided by one spreadsheet editor application to the other, between the two devices, then the second program could be configured using the transient information from the first device so that what the user sees on the second user's device is the equivalent to what he saw on his own device.
  • the switch between using one device and another would be much smoother and save the user a lot of time getting the second editor back to the state in which the first editor was before the switch, in transferring the transient data than if the user was required to re-setup all the transient data upon opening the spreadsheet file in the second spreadsheet editor application on the second device.
  • the two spreadsheet editors could be different programs running on completely different devices with different operating systems and the programs' user interfaces might look very different, particularly if the devices have a different form factor (such as a mobile phone screen compared with a laptop screen). Provided that both programs are equipped to share transient state information, then such information could be moved between different applications on different devices.
  • the transient state needs to be shared, for example by being synchronised between the applications running on each device. There are many ways in which this can be done. In one example, this may be achieved by replicating the transient state information locally at a given device. The information may be provided if required, for example after a prompt is provided, or after a predetermined time interval.
  • aspects of the current disclosure may be considered to provide features of an apparatus which may generate/use a synchronisation command to synchronise the transient state of content provided using a first application with the transient state of corresponding content provided using a counterpart application, the synchronisation command synchronising the transient state of content provided using the first application with the last instance of the transient state of the corresponding content provided using the counterpart application.
  • Figure 1 shows an apparatus 100 comprising a processor 110, memory 120, input I and output O.
  • the apparatus 100 may be an application specific integrated circuit (ASIC) for a portable electronic device.
  • ASIC application specific integrated circuit
  • the apparatus 100 may also be a module for a device, or may be the device itself, wherein the processor 110 is a general purpose CPU and the memory 120 is general purpose memory.
  • the input I allows for receipt of signalling to the apparatus 100 from further components.
  • the output O allows for onward provision of signalling from the apparatus 100 to further components.
  • the input I and output O are part of a connection bus that allows for connection of the apparatus 100 to further components.
  • the processor 110 is a general purpose processor dedicated to executing/processing information received via the input I in accordance with instructions stored in the form of computer program code on the memory 120.
  • the output signalling generated by such operations from the processor 110 is provided onwards to further components via the output O.
  • the memory 120 (not necessarily a single memory unit) is a computer readable medium (such as solid state memory, a hard drive, ROM, RAM, Flash or other memory) that stores computer program code.
  • This computer program code stores instructions that are executable by the processor 1 10, when the program code is run on the processor 1 10.
  • the internal connections between the memory 120 and the processor 110 can be understood to provide active coupling between the processor 1 10 and the memory 120 to allow the processor 1 10 to access the computer program code stored on the memory 120.
  • the input I, output O, processor 110 and memory 120 are electrically connected internally to allow for communication between the respective components I, O, 110, 120, which in this example are located proximate to one another as an ASIC.
  • the components I, O, 1 10, 120 may be integrated in a single chip/circuit for installation in an electronic device.
  • one or more or all of the components may be located separately (for example, throughout a portable electronic device such as devices 200, 300, or through a "cloud", and/or may provide/support other functionality.
  • the apparatus 100 can be used as a component for another apparatus as in figure 2, which shows a variation of apparatus 100 incorporating the functionality of apparatus 100 over separate components.
  • the device 200 may comprise apparatus 100 as a module (shown by the optional dashed line box) for a mobile phone or PDA or audio/video player or the like.
  • a module, apparatus or device may just comprise a suitably configured memory and processor.
  • the example apparatus/device 200 comprises a display 240 such as, a Liquid Crystal Display (LCD), e-lnk, or touch-screen user interface.
  • the device 200 is configured such that it may receive, include, and/or otherwise access data.
  • device 200 comprises a communications unit 250 (such as a receiver, transmitter, and/or transceiver), in communication with an antenna 260 for connection to a wireless network and/or a port (not shown).
  • Device 200 comprises a memory 220 for storing data, which may be received via antenna 260 or user interface 230.
  • the processor 210 may receive data from the user interface 230, from the memory 220, or from the communication unit 250. Data may be output to a user of device 200 via the display device 240, and/or any other output devices provided with apparatus.
  • the processor 210 may also store the data for later user in the memory 220.
  • the device contains components connected via communications bus 280.
  • the communications unit 250 can be, for example, a receiver, transmitter, and/or transceiver, that is in communication with an antenna 260 for connecting to a wireless network and/or a port (not shown) for accepting a physical connection to a network, such that data may be received via one or more types of network.
  • the communications (or data) bus 280 may provide active coupling between the processor 210 and the memory (or storage medium) 220 to allow the processor 210 to access the computer program code stored on the memory 220.
  • the memory 220 comprises computer program code in the same way as the memory 120 of apparatus 100, but may also comprise other data.
  • the processor 210 may receive data from the user interface 230, from the memory 220, or from the communication unit 250. Regardless of the origin of the data, these data may be outputted to a user of device 200 via the display device 240, and/or any other output devices provided with apparatus.
  • the processor 210 may also store the data for later user in the memory 220.
  • Device/apparatus 300 shown in figure 3 may be an electronic device (including a tablet personal computer), a portable electronic device, a portable telecommunications device, or a module for such a device.
  • the apparatus 100 can be provided as a module for device 300, or even as a processor/memory for the device 300 or a processor/memory for a module for such a device 300.
  • the device 300 comprises a processor 385 and a storage medium 390, which are electrically connected by a data bus 380.
  • This data bus 380 can provide an active coupling between the processor 385 and the storage medium 390 to allow the processor 380 to access the computer program code.
  • the apparatus 100 in figure 3 is electrically connected to an input/output interface 370 that receives the output from the apparatus 100 and transmits this to the device 300 via data bus 380.
  • Interface 370 can be connected via the data bus 380 to a display 375 (touch-sensitive or otherwise) that provides information from the apparatus 100 to a user.
  • Display 375 can be part of the device 300 or can be separate.
  • the device 300 also comprises a processor 385 that is configured for general control of the apparatus 100 as well as the device 300 by providing signalling to, and receiving signalling from, other device components to manage their operation.
  • the storage medium 390 is configured to store computer code configured to perform, control or enable the operation of the apparatus 100.
  • the storage medium 390 may be configured to store settings for the other device components.
  • the processor 385 may access the storage medium 390 to retrieve the component settings in order to manage the operation of the other device components.
  • the storage medium 390 may be a temporary storage medium such as a volatile random access memory.
  • the storage medium 390 may also be a permanent storage medium such as a hard disk drive, a flash memory, or a non-volatile random access memory.
  • the storage medium 390 could be composed of different combinations of the same or different memory types.
  • Figures 4a-4c illustrate an example embodiment of three apparatus (devices) in use: a portable electronic device such as a tablet PC 400 on the left, a desktop or laptop computer 430 in the centre, and a smartphone/mobile phone/PDA 460 on the right. It may be imagined that a user has all three devices 400, 430, 460 on a desk in front of him/her.
  • the user is composing 466 a message 462 in an application 468 running on the rightmost device 460.
  • the text cursor 464 is positioned in the text at the place where the user is currently typing.
  • the text cursor could of course be positioned in the middle of the text, for example, if the user is editing previously entered text or adding additional text into already- written text.
  • the centre device 430 is currently showing a sub-window 434 displaying the text composed so far in the corresponding application 442 (shown in figure 4c) running on the centre device 430 by the user.
  • the text corresponds to that entered in the message currently being composed 466 on the rightmost device 460.
  • the centre device 430 is also showing a separate application 432 in the background, and a further application 436 in a sub-window in the foreground.
  • the leftmost device 400 is also displaying the text composed so far 402 in an open text-editing application 404.
  • the three devices are configured to use and generate synchronisation commands.
  • the three devices have previously synchronised the transient state of content (and synchronised any other (persistent) content) so that all the devices are currently displaying at least the same text "What shall we”.
  • the user has, since the last synchronisation, continued to compose the text message on the device 460 by adding the text "do with” so that the message displayed on device 460 currently reads "What shall we do with” 462.
  • the user wishes to synchronise the transient state of content across all three devices, and also wishes to continue to compose the message on the centre laptop/desktop computer device 430. Perhaps the user would rather type using the larger keyboard of the device 430 than the smaller keyboard of device 460.
  • Figure 4b shows that the user 438 is providing an input 440 on the (first) device 430.
  • the user input 438 is instructing the (first) device 430 to generate a synchronisation command which will be used by the other two devices 400, 460.
  • This input 438 may be considered to be user activity associated with the first application 442 (shown in figure 4c).
  • the user input 438 made on the (first) device 430 is associated with the first application 442 in that the (first) device 430 is running the first application 442, shown in a sub-window 424 in figures 4a and 4b.
  • the user application 442 is running in the background of the device 430, and correspondingly the application 442 is shown as an indicator sub-window 434 until being actively used by a user (as in figure 4c).
  • the application 442 may be running in the background of the device 430 and no indicator may be displayed on the device 430.
  • an indicator such as an item in a task bar or an icon may be displayed to indicate that the application is running in the background, but such a task bar/icon indicator may not show any details of the activity taking place in the application.
  • a synchronisation command is generated and used to synchronise the transient state of content 444, 446 provided using the first application 442 with the transient state of corresponding content 462, 464 provided using a counterpart application 468.
  • the transient state of content 444, 446 provided using the first application 442 which is running on the first device 430 includes the position of the text cursor 444, which is at the end of the message composed so far.
  • the text entered so far 464 on the device 460 has not yet been saved, and so may also be considered to be transient data.
  • the synchronisation command in this example synchronises the transient state of content 444, 446 provided using the first application 442 with the last instance of the transient state of the corresponding content 462, 464 provided using the counterpart application 468.
  • the last instance is the transient content just before the synchronisation command is generated/used; this includes the text 462 "What shall we do with” and the position of the text cursor 464 at the end of the text composed so far.
  • the first application 442 is now active and is displaying the text composed so far 446 "What shall we do with", as it appeared in the counterpart application just before the synchronisation, and the position of the text cursor 444 is also provided in the same way as in the counterpart application 468 on the second device 460 just prior to the synchronisation command being generated/used.
  • the text cursor in this example is not shown any longer in the counterpart application 468, but it is now shown 442 in the first application 444 so that the user may continue to compose his/her message using the first device 430.
  • the synchronisation command has been used on the first device 430, and on the leftmost device 400, so that the application 404 running on device 400 is also showing the synchronised text "What shall we do with” 406.
  • this device 400 (and the first device 430) displayed the previous text "What shall we” 402. Therefore the synchronisation command has been used to synchronise the transient state of content provided using a plurality of applications 404, 442, with the transient state of content provided using a counterpart application 468.
  • all three applications 404, 442, 468 are already open upon the synchronisation commands being generated/used.
  • one or more applications may not be open prior to use of the synchronisation command, but they may be available (i.e. the application(s) may be stored on a memory of a device, or may be accessed from a remote server).
  • the first and/or counterpart application(s) can be considered to be distributed between the device and the server, with parts of the application on the respective device/server needing to be run together to perform the tasks provided by the application.
  • the three applications 404, 442, 468 also all provide equivalent functionality in that they are all basic text editing applications. It may be imagined that in other examples, the three applications 404, 442, 468 may all provide a common level of functionality but not necessarily exactly the same overall functionality.
  • the device 400 may have available a text message editing application allowing for the composition and editing of relatively short text messages without any complex formatting.
  • Devices 430 and 460 may have (possibly different) more sophisticated text editing application available such as word processing applications which allow for the composition and editing of longer and/or more complex text-based documents.
  • the three applications 404, 442, 468 may operate using different operating systems.
  • the applications 404, 442, 468 in this example are also stored on respective memories located with each respective device 400, 430, 460. In other examples, the applications may be provided for use on the respective devices by communication with at least one remote server.
  • the transient state of content provided using the first application and the transient state of corresponding content provided using the counterpart applications are each provided on the respective first and other devices by accessing respective one or more memories located with the first and other devices. Thus there is a local copy of the transient state of content stored locally at each device/application.
  • the applications 404, 442, 468 may be separate instances of the same or different application(s) running on a single device (e.g. in different windows). In such cases, synchronisation of the applications' transient states of content may be performed internally within the single device. It will be appreciated that in other examples, all three devices may display both the text cursor 444 (also the transient state of content along with the non-saved text) so that the user is able to edit the text in any application 404, 442, 468.
  • the user provides user activity by providing an input to the counterpart device 460, for example to 'push' the application over to the first device 430 and cause a synchronisation command to be generated and used that way.
  • the user need not provide any input or any activity, and that the synchronisation command is generated and used at predetermined time intervals for synchronisation.
  • the apparatus may be useful for the apparatus to use a synchronisation command upon user activity with either the first application or the counterpart application if, for example, the user has one or more devices which run on battery power, such as a mobile phone, smartphone or laptop.
  • Generating and using synchronisation commands at predetermined time intervals may not be required if the user is away from their desk for a period of time, and the generation/use of such synchronisation commands may unnecessarily drain the battery power of these devices.
  • the predetermined period of time for synchronisation is 5 seconds, and the user does not use the devices/apparatus for three hours (if, say, they are away from their desk at a meeting) then no inputs or user activity will be made and require synchronisation, but the battery power will be used by the synchronisation. In this scenario, it would be more useful for a user to generate/use synchronisation commands upon user activity with an application.
  • the synchronisation may take place regularly between devices without the need for the user to provide any specific user inputs in order to cause the synchronisation command to be generated/used.
  • generating/using a synchronisation command at regular intervals may benefit the user in that the transient state of content across all applications being used will be regularly synchronised without the user having to cause the synchronisation to happen.
  • the user has the option of switching the trigger for synchronisation between occurring at predetermined time intervals for synchronisation, and between user activity triggering the synchronisation, depending on the user's current preferences.
  • the three devices 400, 430, 460 may be joined via the internet, and/or in a (private) sharing network to allow for the (e.g. secure) generation and use of synchronisation commands between them, and for the subsequent synchronisation the transient state of content provided using one application with the transient state of corresponding content provided using counterpart applications.
  • the three devices 400, 430, 460 may also be independently operable, in that they may provide the functionality of each application available to each device without the need for any communicative network between devices, nor any synchronisation between devices of the transient state of content or other data.
  • the device 430 may operate perfectly well as a desktop computer without being networked or connected to any other device.
  • Each of the three devices may also be able to independently run a plurality of applications (perhaps concurrently), each application providing its particular functionality.
  • the tablet device 400 may be able to run, several games, a music player, movie player, productivity packages, e-mail client(s), and other applications, without the need for any communication with the other two devices 430, 460.
  • Figures 5a-5b illustrate an example embodiment of two apparatus (devices) in use: a portable electronic device such as a mobile phone, smartphone or PDA 500 on the left, and a tablet computer 550 on the right. It may be imagined that a user has both devices 500, 550 to hand at the same time.
  • a portable electronic device such as a mobile phone, smartphone or PDA 500 on the left
  • a tablet computer 550 on the right. It may be imagined that a user has both devices 500, 550 to hand at the same time.
  • Device 500 has an in-built camera (not shown) and has an application available for use in taking photographs using the in-built camera.
  • Figures 5a and 5b show the photo editing application running on the device 550 which has other functionality available to the user than the application running in device 500.
  • the device 500 can be used to make telephone calls, and so properties such as the current signal strength, Bluetooth connectivity and network connectivity are indicated in a status bar 502 alongside other indicators such as the current battery power and the time.
  • Other information 504 such as the date and the weather at the current location of the device 500 are also displayed.
  • the user can see a photograph 516 that he has taken using the in-built camera, and which he has zoomed into to show a portion of the photograph 506, which includes a tree.
  • the user has decided that he is happy with the zoomed area 506 of the photo 516 but would like to apply some shading effects to the image.
  • the application running on the device 500 does not allow this functionality. Therefore the user has his tablet computer 550 available.
  • Device 550 in this example does not have an in-built camera, but it has an application available for photo editing which he wishes to use.
  • Device 550 has other available functionality, as indicated by the icons 552; for example, the user can return to the home page, compose an e-mail or other message, consult his calendar, enter a chat application to contact his friends, or refresh his screen. Other example functionality is of course possible.
  • the user has many options available as indicated by the menu system 554 and the function icons 556. These menu options and function icons are shown to illustrate that the application running on device 550 has much more functionality than the application running on device 500. Therefore the user wishes to use the camera on his mobile phone 500, but edit his photos on the application available to his tablet computer 550.
  • the synchronisation command is generated/used to synchronise the transient state of content (including the zoomed area 558) provided using a first application (on the device 550) with the transient state of corresponding content (including the zoomed area 506) provided using a counterpart application.
  • the first application is the photo editing application running on the first tablet computer device 550
  • the counterpart application is the photo application running on the second mobile phone device 500.
  • the synchronisation command has synchronised the transient state of content (the zoomed area 558 of the photograph) provided using the first application with the last instance of the transient state of the corresponding content (the zoomed area 506 of the photographs displayed on device 500) provided using the counterpart application. Therefore devices 500, 550, and the respective applications running on each are displaying the same content (both the persistent data, the photograph itself) and the same transient content (the zoomed area 506, 558) due to being synchronised.
  • the user is able to move the selected zoomed area 506 to a different area of the full photograph 516 (perhaps by dragging a zoom box indicated on the full photograph 516 to a different area on the photograph 516), and that upon the generation/use of the synchronisation command, the displayed zoomed area 558 of the photograph displayed on the first device 550 would be updated to match that selected from the full photo 516, and displayed 506 on the second device 500.
  • Figure 5b shows that the user 562 has applied a shading effect to the zoomed area of the photograph 560 using one of the options 556 available on the application running on device 550.
  • the synchronisation command is generated/used again (although in other embodiments, synchronising back to the device 500 may not occur) to synchronise the transient state of content (now including the shading effect applied, but not yet saved) provided using a first application (now on the device 500) with the transient state of corresponding content (now including the shading effect 518) provided using a counterpart application (now on the device 550).
  • the first application now is the photo application running on the mobile phone device 500, and the counterpart application is the photo editing application running on the tablet computer device 550.
  • the synchronisation command has now synchronised the transient state of content (including the shading effect on the zoomed in area of the photograph 518) provided using the first application (on device 500) with the last instance of the transient state of the corresponding content (the shaded zoomed area 560 of the photograph on device 550) provided using the counterpart application. Therefore devices 500, 550, and the respective applications running on each are displaying the same content (both the persistent data, the photograph itself) and the same transient content (the zoomed area and the not- yet-saved, applied shading effect 518, 560) due to being synchronised.
  • the zoomed-in area and the shading effect applied may be, in other examples, considered to be persistent, if the zoomed in area and the shading effect applied had been saved (to a memory, for example).
  • the user has not yet saved the changes made to the full original photograph (displayed 516 on device 500). He may wish to save any changes only after being happy with the overall zoom/effects applied so as not to lose any information captured in the original photograph 516.
  • both applications running on devices 500, 550 are already open upon the synchronisation commands being generated/used.
  • one or more applications may not be open prior to use of the synchronisation command, but they may be available (i.e.
  • the application(s) may be stored on a memory of a device, or may be accessed from a remote server).
  • the applications in this example provide a common level of functionality in that both allow some manipulation of photographs and images, but the application running on device 550 allows for more sophisticated image manipulation, whereas the application running on device 500 allows only relatively basic image manipulation.
  • the two applications may operate using different operating systems.
  • the applications in this example are also stored on respective memories located with each respective device 500, 550. In other examples, the applications may be provided for use on the respective devices by communication with at least one remote server.
  • the transient state of content provided using the first application and the corresponding transient state of content provided using the counterpart applications are each provided on the respective first and other devices by accessing respective one or more memories located with the first and other devices.
  • the transient state of content stored locally at each device/application.
  • the synchronisation command is generated and used at predetermined time intervals for synchronisation.
  • the synchronisation command may be used/generated dependent on user activity with one or other, or both, of the applications being used.
  • the two devices 500, 550 may be joined via the internet, and/or in a (private) sharing network to allow for the generation and use of synchronisation commands between them, and for the subsequent synchronisation the transient state of content provided using one application with the transient state of corresponding content provided using counterpart applications.
  • the devices 500, 550 may also be independently operable, in that they may provide the functionality of each application available to each device without the need for any communicative network between devices, nor any synchronisation between devices of the transient state of content or other data.
  • Figures 6a-6c illustrate an example embodiment of two apparatus (devices) in use: a portable electronic device such as a mobile phone, smartphone or PDA 600 on the left, and a tablet computer (which could also be a desktop or laptop computer) 650 on the right. Again, a user may have both devices 600, 650 to hand at the same time.
  • a portable electronic device such as a mobile phone, smartphone or PDA 600 on the left
  • a tablet computer which could also be a desktop or laptop computer
  • a user is using a spreadsheet application 602 on device 600, which is currently displaying a series of cells 604.
  • One cell 606 is highlighted as it is the cell currently in use.
  • a user is entering numbers into cell 606 as indicated by the position of the text cursor 608.
  • the highlighted cell 606 and text cursor position 608 are examples of transient data.
  • Device 650 currently does not have any application running which shares a common level of functionality with the spreadsheet application 602, as illustrated by the blank screen 652.
  • the user has decided that she wishes to transfer the spreadsheet data, including the transient data, over to her computer 650 on which is available a data plotting application 660 (see figure 6c).
  • the user wishes to perform some data manipulation which is not possible using the functionality of the spreadsheet application 602.
  • a synchronisation command is generated/used to synchronise the transient state of content (including the currently highlighted cell 606 and the text cursor position 608) provided using a first application 660 with the transient state of corresponding content provided using a counterpart application 602.
  • the first application is the data manipulation application running on the first tablet computer device 650
  • the counterpart application is the spreadsheet application running on the second mobile phone device 600.
  • the synchronisation command is generated/used based on user activity associated with the counterpart application (although the counterpart application is not yet open on device 650 prior to use of the synchronisation command as shown in figures 6a and 6b, it is available to that device 650).
  • the user 656 is providing a slide user input 658 to the screen of device 650 to instruct the device 650 to look for 654 a first application with at least a common level of functionality (but which may be an equivalent application) and to generate the synchronisation command.
  • the synchronisation command is therefore used to cause the first application 660 to open.
  • the application made available 660 due to the generation/use of the synchronisation command is one of a plurality of available applications.
  • the chosen application 600 has been made available as a default one of the plurality of applications available to the first device 650.
  • the device 650 may have other available applications which share a common level of functionality with that of the application 602.
  • the default application chosen 660 may be a default pre-selected by the user, it may be a default (determined by one, or other, of the devices) to be the most compatible with the data (persistent and transient state of content) being synchronised with, or it may be the last used suitable application available to the device 650. Other ways of selecting a default are possible also.
  • a synchronisation command may be generated/used based on predetermined time intervals for synchronisation.
  • the devices may synchronise their persistent and transient states of content every e.g. 5 minutes.
  • the predetermined time interval may be selectable by the user.
  • the user may be able to switch between the synchronisation command being generated/used based on either predetermined time intervals for synchronisation or user activity associated with either the first or the counterpart application.
  • the synchronisation command has synchronised the transient state of content (the cell highlighting 664 and the text cursor position 666) provided using the first application 660 with the last instance of the transient state of the corresponding content (the cell highlighting 606 and the text cursor position 608) provided using the counterpart application 602. Therefore devices 600, 650 and the respective applications 602, 660 running on each device are displaying the same content (both the persistent data, such as the number of cells and the entries they contain) and the same transient content (the cell highlighting 606, 664 and the text cursor position 608, 666) due to being synchronised.
  • Figure 6c also shows that the application 660 has additional functionality to that available in the application 602, including different menu/icon based options 668, data plotting capability 670 and a different data entry mechanism (the displayed keypad 672).
  • the two applications 602, 660 share a common level of functionality in that both can display and allow the editing of the spreadsheet 604, 662.
  • the application 602 is already running on device 600, but the application 660 is available but not open prior to the generation/use of the synchronisation command.
  • both applications may be open upon generation/use of the synchronisation command.
  • the applications 602, 660 may operate using the same, or using different operating systems.
  • Each device 600, 650 may be configured to independently run a plurality of applications providing respective functionalities.
  • Application 602 in this example is stored on memory located with the device 600, but application 660 is accessed from a remote server to be used by the device 650.
  • the application(s) may be available for use by each respective device by being distributed over a network including at least one remote server.
  • each device 600, 650 may have a corresponding memory located with it, on which is stored each application for use by that device.
  • the transient state of content provided using the first application and the corresponding transient state of content provided using the counterpart application are each provided on the respective first and other devices by accessing respective one or more memories located with the first and other devices. Thus there is a local copy of the transient state of content stored locally at each device/application.
  • the two devices 600, 650 may be joined via the internet, and/or in a (private) sharing network to allow for the generation and use of synchronisation commands between them, and for the subsequent synchronisation the transient state of content provided using one application with the transient state of corresponding content provided using counterpart applications.
  • the devices 600, 650 may also be independently operable.
  • Figures 7a-7b illustrate an example embodiment of an apparatus (one device, such as a desktop or laptop computer 700) in use.
  • the apparatus 700 has available for use at least two e-mail clients. In this example a user wishes to switch from using one e-mail client to another e-mail client during the composition of a reply e-mail.
  • Figure 7a shows one e-mail client indicated by the icon 704.
  • the e-mail client displays a number of different filing categories 702 (such as Inbox, Drafts, Deleted items, Outbox, reminders and Tasks).
  • the e-mail client 704 also shows details of items currently in the Inbox 706, such as the name and the starting portion of any e-mails stored in the Inbox.
  • the user is currently using the e-mail client 704 to compose a reply message which is displayed in a window 708.
  • This reply e-mail contains the transient state of content, including the text currently composed but not saved 712 (for example, not yet saved as a draft), and the position of a text cursor 710 at the end of the message composed so far.
  • Also included in the reply e-mail is other data content (so-called persistent content) which is the content of the e- mail being replied to 714, which includes the date and time at which the initial e-mail was received, the name of the sender, the subject of the e-mail, and the e-mail content.
  • persistent content is the content of the e- mail being replied to 714, which includes the date and time at which the initial e-mail was received, the name of the sender, the subject of the e-mail, and the e-mail content.
  • Figure 7b shows that the user has switched to using another e-mail client (indicated by the icon 724).
  • This other e-mail client 724 also displays a number of different filing categories 722 (such as Inbox, Drafts, Deleted items, and others are possible).
  • the e-mail client 724 also shows details of items currently in the Inbox 726, such as the name and the starting portion of any e-mails in the Inbox.
  • the generation/use of a synchronisation command between figures 7a and 7b means that the reply e-mail which was being composed by the user in the application 704 in figure 7a is displayed 728 in a portion of the display screen in figure 7b, and includes the same transient state of content (the text currently composed but not saved 732, and the position of a text cursor 730 at the end of the message composed so far.)
  • the reply e-mail also included in the reply e-mail are other data content (so-called persistent content) which is the content of the e-mail being replied to 734 as before (714 of figure 7a), the subject of the e-mail, and the sender details (name and time of sending).
  • the first application 724 and the counterpart application 704 are executable on a first device, device 700.
  • the synchronisation command is configured to synchronise the transient state of content 730, 732 provided using the first application 724 on the first device 700 with the last instance of the transient state of the corresponding content 710, 712 provided using the counterpart application 704, also on the first device 700.
  • the first application 724 and the counterpart application 702 are provided for use in this example on the first device 700 by accessing one or more memories located with the first device 700. In other examples it may be that the first application 724 and the counterpart application 704 are provided for use on the first device 700 by communication with at least one remote server.
  • the transient state of content 730, 732 provided using the first application 724 and the corresponding transient state of content 710, 712 provided using the counterpart application 704 are each provided on the first device 700 by accessing one or more memories located with the first device 700.
  • a local copy of the transient state of content stored is therefore locally at the device 700. It may be that, if the device 700 was in communication with one or more remote servers, that the transient state of content 730, 732 provided using the first application 724 and/or the corresponding transient state of content 710, 712 provided using the counterpart application 704 are provided on the first device 700 by accessing one or remote servers.
  • the synchronisation command is generated and used at predetermined time intervals for synchronisation (for example, every minute).
  • the synchronisation command may be used/generated dependent on user activity with one or other, or both, of the applications being used.
  • the device 700 may be independently operable, in that it may function, including the generation and use of synchronisation commands, without any connection to an external network or other device(s), and provide the functionality of the first application and the counterpart application.
  • the transient state of content has been illustrated as being a text cursor position, a zoom factor, a location on a page, and a highlighted element.
  • transient state on content examples include; a mouse pointer position (that is, the location of the mouse pointer on a screen); a window size (for example, if synchronising an application between two desktop computers, the size of a window displayed on a first device may be replicated in the corresponding window displayed on the second device); a position in an audio or video file (such as 25 minutes into a 2 hour movie, or 30 seconds from the end of a 3 minute audio track); a window form factor (for example, if synchronising an application between two laptop computers, the form factor of a window (e.g.
  • 1 unit high x 1.5 units across) displayed on a first device may be replicated in the corresponding window displayed on the second device); a location of a window on a display (e.g. in the top right of a display), and toolbar settings (such as having "bold” enabled in a toolbar of a word processor, or having a font setting in a toolbar of "Arial, 12 pt").
  • the apparatus have been illustrated using the examples of a portable electronic device, a laptop computer, a mobile phone, a Smartphone, a tablet computer, a personal digital assistant, a non-portable electronic device, a desktop computer and a server.
  • apparatus examples include a digital camera, a watch, a monitor, or a module/circuitry for one or more of the same.
  • the apparatus may be the first device only of two devices or the second device only of two devices, or a module/circuitry for one or more of the same.
  • Such a link may be by one or more of: an infra-red connection, a Bluetooth connection, a wireless connection, a radio frequency identification (RFID) connection, a telephonic connection, a physical wired connection, a network connection, and manually.
  • the first and/or counterpart application(s) may be distributed between the device(s) and one or more servers, with parts of the application(s) on the respective device(s)/server(s) needing to be run together to perform the tasks provided by the application(s).
  • Figure 8 shows a flow diagram illustrating the method step 802 and is self-explanatory.
  • Figure 9 shows a flow diagram illustrating the method step 902 and is also self- explanatory
  • Figure 10 illustrates schematically a computer/processor readable medium 1000 providing a program according to an embodiment.
  • the computer/processor readable medium is a disc such as a digital versatile disc (DVD) or a compact disc (CD).
  • DVD digital versatile disc
  • CD compact disc
  • the computer readable medium may be any medium that has been programmed in such a way as to carry out an inventive function.
  • the computer program code may be distributed between the multiple memories of the same type, or multiple memories of a different type, such as ROM, RAM, flash, hard disk, solid state, etc.
  • the synchronisation command 1100 may comprise a recipient address 1 102 and/or a source address 1 104, depending on how the synchronisation command 1 100 is to be generated/used. For example, if the synchronisation command 1100 is generated at device A and is to be used at device A by a different application, then the recipient and source addressed may be of the respective applications, for example. If the synchronisation command 1100 is generated at device A and is to be used at device B, the recipient address 1102 will be required. Both the source address 1104 and the recipient address 1 102 may be included in the synchronisation command 1100, but may not necessarily be required, for example, if the synchronisation command is provided as a general broadcast.
  • the synchronisation command 1 100 will contain some information relating to the transient content 1 106 with which one or more applications are to be updated upon generation/use of the synchronisation command 1100. Also, the application type and/or the characteristics of application to be used 1108 are included so that any device in receipt of the synchronisation command will know what application(s) is/are suitable for use in displaying the transient content 1106. Although not shown, details relating to the persistent content may also be provided as part of the synchronisation command 1100. Any mentioned apparatus/device/server and/or other features of particular mentioned apparatus/device/server may be provided by apparatus arranged such that they become configured to carry out the desired operations only when enabled, e.g. switched on, or the like.
  • the apparatus may comprise hardware circuitry and/or firmware.
  • the apparatus may comprise software loaded onto memory. Such software/computer programs may be recorded on the same memory/processor/functional units and/or on one or more memories/processors/ functional units.
  • a particular mentioned apparatus/device/server may be preprogrammed with the appropriate software to carry out desired operations, and wherein the appropriate software can be enabled for use by a user downloading a "key", for example, to unlock/enable the software and its associated functionality.
  • Advantages associated with such embodiments can include a reduced requirement to download data when further functionality is required for a device, and this can be useful in examples where a device is perceived to have sufficient capacity to store such pre-programmed software for functionality that may not be enabled by a user.
  • Any mentioned apparatus/circuitry/elements/processor may have other functions in addition to the mentioned functions, and that these functions may be performed by the same apparatus/circuitry/elements/processor.
  • One or more disclosed aspects may encompass the electronic distribution of associated computer programs and computer programs (which may be source/transport encoded) recorded on an appropriate carrier (e.g. memory, signal).
  • Any "computer” described herein can comprise a collection of one or more individual processors/processing elements that may or may not be located on the same circuit board, or the same region/position of a circuit board or even the same device. In some embodiments one or more of any mentioned processors may be distributed over a plurality of devices. The same or different processor/processing elements may perform one or more functions described herein. With reference to any discussion of any mentioned computer and/or processor and memory (e.g. including ROM, CD-ROM etc), these may comprise a computer processor, Application Specific Integrated Circuit (ASIC), field-programmable gate array (FPGA), and/or other hardware components that have been programmed in such a way to carry out the inventive function.
  • ASIC Application Specific Integrated Circuit
  • FPGA field-programmable gate array

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un appareil qui comprend : au moins un processeur; et au moins une mémoire incluant un code de programme informatique, la au moins une mémoire et le code de programme informatique étant configurés pour, avec le au moins un processeur, amener l'appareil à réaliser au moins l'une des actions suivantes : utiliser une instruction de synchronisation pour synchroniser l'état transitoire de contenu fourni à l'aide d'une première application avec l'état transitoire de contenu correspondant fourni à l'aide d'une application de contrepartie, l'instruction de synchronisation synchronisant l'état transitoire de contenu fourni à l'aide de la première application avec la dernière instance de l'état transitoire du contenu correspondant fourni à l'aide de l'application de contrepartie.
PCT/EP2011/074193 2011-12-28 2011-12-28 Synchronisation de l'état transitoire de contenu dans une application de contrepartie WO2013097898A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/EP2011/074193 WO2013097898A1 (fr) 2011-12-28 2011-12-28 Synchronisation de l'état transitoire de contenu dans une application de contrepartie
GB1204849.2A GB2498229A (en) 2011-12-28 2012-03-20 Synchronisation of transient state of first and counterpart applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2011/074193 WO2013097898A1 (fr) 2011-12-28 2011-12-28 Synchronisation de l'état transitoire de contenu dans une application de contrepartie

Publications (1)

Publication Number Publication Date
WO2013097898A1 true WO2013097898A1 (fr) 2013-07-04

Family

ID=46052414

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/074193 WO2013097898A1 (fr) 2011-12-28 2011-12-28 Synchronisation de l'état transitoire de contenu dans une application de contrepartie

Country Status (2)

Country Link
GB (1) GB2498229A (fr)
WO (1) WO2013097898A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749932B2 (en) 2011-12-29 2020-08-18 Ebay Inc. System and method for transferring states between electronic devices
KR20220104236A (ko) * 2019-11-29 2022-07-26 비보 모바일 커뮤니케이션 컴퍼니 리미티드 동기화 방법 및 전자 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479568B2 (en) 2011-12-28 2016-10-25 Nokia Technologies Oy Application switcher
US8996729B2 (en) 2012-04-12 2015-03-31 Nokia Corporation Method and apparatus for synchronizing tasks performed by multiple devices
KR101922283B1 (ko) 2011-12-28 2019-02-13 노키아 테크놀로지스 오와이 애플리케이션의 오픈 인스턴스의 제공

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080159B2 (en) * 2000-12-15 2006-07-18 Ntt Docomo, Inc. Method and system for effecting migration of application among heterogeneous devices
WO2005109829A1 (fr) * 2004-05-06 2005-11-17 Koninklijke Philips Electronics N.V. Procede, dispositif et programme de transfert sans coupure de l'execution d'une application logicielle entre des premier et deuxieme dispositifs
EP1760584A1 (fr) * 2005-08-23 2007-03-07 Research In Motion Limited Méthode et système pour transférer l'état d'une application d'un premier dispositif électronique à un deuxième dispositif électronique
US20090204966A1 (en) * 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device
US8013835B2 (en) * 2008-02-21 2011-09-06 International Business Machines Corporation Computer system having shared display devices
US20090309846A1 (en) * 2008-06-11 2009-12-17 Marc Trachtenberg Surface computing collaboration system, method and apparatus
US9830123B2 (en) * 2009-06-09 2017-11-28 Samsung Electronics Co., Ltd. Method for transmitting content with intuitively displaying content transmission direction and device using the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BAGRODIA R ET AL: "iMASH: Interactive Mobile Application Session Handoff", MOBISYS. THE INTERNATIONAL CONFERENCE ON MOBILE SYSTEMS,APPLICATIONS AND SERVICES, XX, XX, 8 May 2003 (2003-05-08), pages 1 - 14, XP002303521 *
LEANDRO G DE CARVALHO ET AL: "Synchronizing web browsing data with Browserver", COMPUTERS AND COMMUNICATIONS (ISCC), 2010 IEEE SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 22 June 2010 (2010-06-22), pages 738 - 743, XP031731309, ISBN: 978-1-4244-7754-8 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749932B2 (en) 2011-12-29 2020-08-18 Ebay Inc. System and method for transferring states between electronic devices
US11019133B2 (en) 2011-12-29 2021-05-25 Ebay Inc. System and method for transferring states between electronic devices
US11606414B2 (en) 2011-12-29 2023-03-14 Ebay Inc. System and method for transferring states between electronic devices
KR20220104236A (ko) * 2019-11-29 2022-07-26 비보 모바일 커뮤니케이션 컴퍼니 리미티드 동기화 방법 및 전자 장치
EP4068899A4 (fr) * 2019-11-29 2023-01-04 Vivo Mobile Communication Co., Ltd. Procédé de synchronisation et dispositif électronique
KR102650142B1 (ko) 2019-11-29 2024-03-22 비보 모바일 커뮤니케이션 컴퍼니 리미티드 동기화 방법 및 전자 장치

Also Published As

Publication number Publication date
GB2498229A (en) 2013-07-10
GB201204849D0 (en) 2012-05-02

Similar Documents

Publication Publication Date Title
US20210328960A1 (en) Portable multifunction device, method, and graphical user interface for an email client
US9983771B2 (en) Provision of an open instance of an application
EP2843536B1 (fr) Procédé et appareil de partage de contenu de dispositif électronique
CN106164856B (zh) 自适应用户交互窗格管理器
US11703990B2 (en) Animated visual cues indicating the availability of associated content
EP2774019B1 (fr) Mode de fonctionnement d'un dispositif électronique, appareil et procédés associés
US10394429B2 (en) Sharing of user interface objects via a shared space
CA2834005C (fr) Methodes et dispositifs pour generer une mesure a prendre a partir d'un courriel
JP2018136951A (ja) ウェブ・アプリケーションにおける連携通信
US20150160788A1 (en) Apparatus and associated methods
US20140281870A1 (en) Document collaboration and notification of changes using different notification mechanisms
JP2017517044A (ja) 没入型ドキュメントビュー
US20140372902A1 (en) Method and Apparatus Pertaining to History-Based Content-Sharing Recommendations
WO2014204674A2 (fr) Affichage d'événements de vie pendant la navigation dans un calendrier
KR20140108711A (ko) 애플리케이션 스위쳐
US20150180998A1 (en) User terminal apparatus and control method thereof
US20140372905A1 (en) Method and Apparatus Pertaining to Sharing Content with Scheduled-Event Participants
WO2013097898A1 (fr) Synchronisation de l'état transitoire de contenu dans une application de contrepartie
Provan iPad in easy steps: Covers all models of iPad with iOS 12
EP2813981A1 (fr) Procédé et appareil concernant le partage de contenus avec les participants d'un événement programmé
EP2813982A1 (fr) Procédé et appareil concernant les recommandations de partage de contenu basé sur l'historique
Grothaus et al. Setting Up and Using Mail
KR20120004857A (ko) 이동 단말기 및 그 이벤트 정보 관리 방법

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: 11807949

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: 11807949

Country of ref document: EP

Kind code of ref document: A1