FR2975801A1 - Transfert d'etat entre dispositifs a points de controle - Google Patents

Transfert d'etat entre dispositifs a points de controle Download PDF

Info

Publication number
FR2975801A1
FR2975801A1 FR1254227A FR1254227A FR2975801A1 FR 2975801 A1 FR2975801 A1 FR 2975801A1 FR 1254227 A FR1254227 A FR 1254227A FR 1254227 A FR1254227 A FR 1254227A FR 2975801 A1 FR2975801 A1 FR 2975801A1
Authority
FR
France
Prior art keywords
application
client
application state
active
active applications
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1254227A
Other languages
English (en)
Other versions
FR2975801B1 (fr
Inventor
Cheng-Hsueh Andrew Hsieh
Chinyue Chen
Yung-Chieh Lo
Jason Parks
Nicholas Julian Pelly
Jeffrey William Hamilton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of FR2975801A1 publication Critical patent/FR2975801A1/fr
Application granted granted Critical
Publication of FR2975801B1 publication Critical patent/FR2975801B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Abstract

Un premier dispositif client (102-1) exécute une pluralité d'applications actives, chacune ayant un ou plusieurs points de contrôle, chaque point de contrôle identifiant un point d'interruption d'exécution auquel une application respective peut être suspendue, puis reprise. Le premier dispositif client (102-1) détecte une condition de déclenchement de transfert, mémorise un état d'application pour chacune des différentes applications actives et transmet à un second dispositif ou système client (102-2) l'état d'application mémorisé pour chacune des différentes applications actives. L'état d'application mémorisé pour chaque application respective de la pluralité d'applications actives correspond à un point de contrôle de l'application respective. Eventuellement, la condition de déclenchement de transfert comprend la présence du second dispositif ou système client (102-2) dans les limites d'une proximité prédéfinie du premier dispositif ou système client (102-1 ), la proximité prédéfinie étant une proximité prédéfinie pour communication à protocole NFC.

Description

Transfert d'état d'application entre dispositifs à points de contrôle
L'invention présentée concerne globalement les communications radioélectriques et, plus particulièrement, le transfert de l'utilisation d'une ou de plusieurs applications entre deux dispositifs par des connexions de communications radioélectriques.
Un utilisateur disposant de multiples dispositifs par exemple un ou plusieurs dispositifs parmi les ordiphones, les tablettes, les ordinateurs portables ou autres, peut souhaiter passer d'un dispositif à un autre tout en continuant à travailler avec ou à accéder à la même application ou au même contenu. Par exemple, l'utilisateur peut vouloir passer d'un dispositif à un autre afin d'utiliser le dispositif qui convient le mieux pour une tâche donnée. Par exemple, il est facile de lire un courriel sur un ordiphone mais il est difficile de répondre en raison de la petitesse du clavier de l'ordiphone. Un utilisateur peut commencer à rédiger un message sur un ordiphone mais préférer terminer la rédaction au moyen d'une tablette qui possède un plus grand clavier. Dans un autre exemple, un utilisateur commence à passer une vidéo à l'aide d'une tablette ou d'un ordiphone, mais préférerait continuer à regarder la vidéo sur un dispositif doté d'un plus grand écran, par exemple un poste de télévision ou un ordinateur portable. Dans encore un autre exemple, un utilisateur peut lancer un appel téléphonique à l'aide d'un téléphone fixe mais vouloir poursuivre la conversation téléphonique au moyen d'un téléphone mobile grâce à une connexion cellulaire, ou inversement.
Dans certaines formes de réalisation de la présente invention, un premier dispositif ou système client met en oeuvre un procédé qui comporte l'exécution d'une pluralité d'applications actives, chacune des différences applications actives ayant un ou plusieurs points de contrôle, chaque point de contrôle identifiant un point d'interruption d'exécution auquel l'application respective peut être suspendue, puis reprise. Le procédé comporte en outre la détection d'une condition de déclenchement de transfert, la mémorisation d'un état d'application pour chacune des différentes applications actives, et la transmission, à un second dispositif ou système client, de l'état d'application mémorisé pour chacune des différences applications actives. L'état d'application mémorisé pour chaque application respective de la pluralité d'applications actives correspond à un point de contrôle de l'application respective.
Eventuellement, la condition de déclenchement de transfert comprend la présence du second dispositif ou système client (dans les limites d'une proximité prédéfinie du premier dispositif ou système client, la proximité prédéfinie étant une proximité préfinie pour communication à protocole NFC.
Eventuellement, le procédé comporte, au moment de la détection de la condition de déclenchement, l'attente de l'arrivée d'une application active respective parmi la pluralité d'applications actives à un point de contrôle de l'application active respective et, au moment de la détection de l'entrée de l'application active respective au point de contrôle, la suspension de l'application respective. Eventuellement, le procédé comporte, au moment de la détection de la condition de déclenchement, l'attente de l'arrivée de la pluralité d'applications actives à des points de contrôle respectifs et, au moment de la détection de l'entrée de chaque application respective au point de contrôle correspondant, la suspension de la pluralité d'applications actives. Eventuellement, le procédé comporte la notification, à chacune des applications actives, de ce que l'état d'application a été transmis au second dispositif ou système client. Dans certaines formes de réalisation de la présente invention, un support de stockage durable exploitable par ordinateur stocke un ou plusieurs programmes à exécuter par un ou plusieurs processeurs d'un dispositif ou système client, le/les programmes contenant des instructions qui, lorsqu'elles sont exécutées par le/les processeurs, amènent le dispositif ou système client à mettre en oeuvre le procédé décrit plus haut. L'invention sera mieux comprise à l'étude détaillée de quelques modes de réalisation pris à titre d'exemples non limitatifs et illustrés par les dessins annexés sur lesquels - la figure 1 est un schéma de principe d'un système destiné à permettre le transfert d'un état d'application entre des dispositifs, selon une forme de réalisation ; - la figure 2 est un schéma de principe illustrant un dispositif ou système client selon certaines formes de réalisation ; - les figures 3A-3C comportent un organigramme illustrant un procédé de fonctionnement d'un dispositif ou système client, pour transmettre l'état d'application d'une application respective à un autre dispositif ou système client, selon certaines formes de réalisation ; - les figures 4A-4C contiennent un organigramme illustrant un procédé pour faciliter le passage de l'utilisation d'une application par un utilisateur d'un premier dispositif ou système client à un second dispositif ou système client, selon certaines formes de réalisation ; - les figures 5A-5C contiennent un organigramme illustrant un procédé pour transmettre les états d'applications d'une pluralité d'applications en fonctionnement actif d'un premier dispositif ou système client à un second dispositif ou système client, selon 5 certaines formes de réalisation ; et - la figure 6 contient un organigramme illustrant un procédé pour transmettre l'état d'application d'une application en fonctionnement actif d'un premier dispositif ou système client à un second dispositif ou système client, selon certaines formes de 10 réalisation. La figure 1 est un schéma de principe illustrant un système réparti 100 ayant deux ou plus de deux dispositifs ou systèmes clients 102 (ci-après appelés clients 102). Le système réparti 100 comporte en outre ordinairement un ou plusieurs réseaux de 15 communications 120 et une pluralité de serveurs ou de systèmes serveurs d'applications tels qu'un ou plusieurs serveurs de messagerie 130 et un ou plusieurs serveurs multimédia 140. Dans certaines formes de réalisation, chacun des clients 102-1 et 102-2 a un module 104 à protocole Near Field Communication 20 (NFC) 104 pour traiter des communications réseau, un module de transfert 108 d'applications présenté plus en détail par la suite, et un ou plusieurs programmes 110, 112, 114 d'applications. Les modules NFC 104-1 et 104-2 permettent une communication NFC entre dispositifs compatibles avec NFC. Dans certaines formes de 25 réalisation, les applications dans un client 102 comprennent une ou plusieurs applications de messagerie 110, une ou plusieurs applications multimédia 112 et éventuellement également d'autres applications 114. Comme décrit plus en détail par la suite, dans certaines mises en oeuvre, lorsqu'un utilisateur place deux clients 30 102 tout près l'un de l'autre (par exemple, séparés l'un de l'autre par une distance de communication NFC, ce qui signifie ordinairement à moins de 10 cm l'un de l'autre, mais signifie éventuellement à une distance inférieure à 5 cm ou 4 cm), l'état d'application d'une ou de plusieurs applications (par exemple, l'application active ou d'avant- plan) dans l'un des clients (par exemple, le client 102-1) est transmis à l'autre client (par exemple, le client 102-2). Le serveur de messagerie 130 contient une ou plusieurs applications 131 de serveur de messagerie, une base de données de messagerie 133 qui contient des informations 135 de comptes de messagerie pour de multiples utilisateurs d'un service de messagerie desservi par le serveur 130, et éventuellement également d'autres bases de données 137. Par exemple, le serveur de messagerie 130 peut être un serveur Gmail, un serveur de courriels autre qu'un serveur Gmail, ou un serveur de messagerie instantanée. Un serveur multimédia 140 contient une ou plusieurs applications 141 de serveur multimédia, une ou plusieurs bases de données multimédia 143, dont des informations 145 de comptes multimédia, et éventuellement également d'autres bases de données 147. On citera comme exemples de serveurs multimédia 140 un serveur YouTube, les serveurs de radio en ligne et les serveurs de jeux en réseaux. Dans certaines mises en oeuvre, un utilisateur lisant un courriel à l'aide d'une application de messagerie 110-1 côté client (par exemple, Gmail) sur son téléphone cellulaire mobile (client 102-1) peut au contraire vouloir répondre au message sur un ordinateur de bureau (client 102-2) situé à proximité, qui dispose d'un plus grand clavier et d'un plus grand écran d'affichage. A cette fin, l'utilisateur rapproche son téléphone cellulaire mobile 102-1 tout près de l'ordinateur 102-2. Les deux clients 102 ont des modules NFC 104. Le module NFC 104-1 du client 102-1 détecte la présence de l'ordinateur 104-2, et une connexion de communication NFC est établie entre le téléphone mobile 102-1 et l'ordinateur 102-2. L'état instantané de l'application de messagerie 110-1, comprenant dans le présent exemple l'identifiant du compte d'utilisateur (par exemple, username@domainname.com) et l'identifiant de message est transmis à l'ordinateur 102-2 via la connexion NFC. Eventuellement, l'application de messagerie 110-1 du client 102-1 communique également avec le serveur de messagerie 130 via des réseaux de communications 120 pour assurer que le serveur 130 dispose de l'état le plus récent en ce qui concerne le message alors affiché par le client 102-1. L'ordinateur 102-2 reçoit du téléphone 102-1 l'état instantané de l'application de la messagerie 110-1 et, en réponse, l'application de messagerie 110-2 dans l'ordinateur 102-2 télécharge une copie du message sous forme de courriel provenant du serveur de messagerie 130, via les réseaux de communications 120. Du point de vue de l'utilisateur, dès qu'il s'assied face à l'écran de l'ordinateur 102-2, le même courriel que celui qu'il lisait sur le téléphone 102-1 est alors affiché sur l'écran d'affichage de l'ordinateur 102-2 et il peut commencer à taper sa réponse à l'aide du clavier de l'ordinateur 102-2.
La figure 2 est un schéma de principe illustrant un dispositif ou système (client) 102 selon certaines formes de réalisation. Le client 102 comporte ordinairement un ou plusieurs processeurs 102 (également appelés unités centrales ou UC(s)), une mémoire 204, un émetteur/récepteur à protocole Near Field Communication (NFC) 206, un ou plusieurs réseaux ou autres interfaces de communication 208, une interface utilisateur 205 (comprenant ordinairement un dispositif d'affichage et un clavier, une souris, un pavé tactile, un écran tactile ou autre dispositif de saisie), et un ou plusieurs bus de communication 209 pour interconnecter ces organes. Les bus de communication 209 comprennent éventuellement des circuits (parfois appelés jeu de puces) qui interconnectent les organes du système et commandent les communications entre les organes du système. La mémoire 204 comprend ordinairement une mémoire vive très rapide telle qu'une DRAM, une SRAM, une DDR RAM ou autres dispositifs de mémoire vive à semiconducteurs et comprend éventuellement une mémoire rémanente, notamment un ou plusieurs dispositifs de stockage sur disque magnétique, dispositifs de stockage sur disque optique, dispositifs de mémoire flash ou autres dispositifs de mémorisation rémanente à semiconducteurs. La mémoire 204 comprend éventuellement un ou plusieurs dispositifs de stockage situés à distance de la/des UC 202. La mémoire 204, ou selon une autre possibilité le/les dispositifs de mémoire rémanente au sein de la mémoire 204, comprend un support de stockage durable exploitable par un ordinateur. Dans certaines formes de réalisation, la mémoire 204, ou encore le support de stockage durable exploitable par ordinateur, contient les programmes et/ou modules ci-après, destinés à être exécutés par le/les processeurs 202 et structures de données, ou par un sous-ensemble de ceux-ci : - un Système d'Exploitation 210 qui contient des procédures pour gérer divers services de systèmes de base et pour effectuer des tâches qui dépendent du matériel ; - un module (ou des instructions) de communications réseau 106 qui sert à connecter le client 102 à d'autres ordinateurs (par exemple, le serveur de messagerie 130 ou le serveur multimédia 140) par l'intermédiaire d'une ou de plusieurs interfaces réseaux 208 (câblées ou radioélectriques) et un ou plusieurs réseaux de communications 120 (figure 1) tels que l'Internet, d'autres réseaux étendus, des réseaux locaux, des réseaux métropolitains, etc. ; - un module à protocole Near Field Communication 104 pour connecter le client 102 à d'autres clients, dispositifs ou systèmes par l'intermédiaire de l'émetteur/récepteur NFC 206, au moyen de communications à protocole NFC ; - un module d'enregistrement 212 d'applications, qui gère des informations 214 d'enregistrement d'applications pour une ou plusieurs applications enregistrées pour partager leur état d'application avec des informations d'autres dispositifs ou systèmes clients ; par exemple, les informations d'enregistrement 214 d'applications peuvent comprendre des informations pour une application de messagerie 110 enregistrée afin de partager son état d'application avec un autre dispositif (par exemple, le client 102-2) au moment de la détection d'une condition de déclenchement ; - un module de transfert 108 d'applications, servant à transférer l'état d'application et d'une ou de plusieurs applications (par exemple, des applications enregistrées avec le module d'enregistrement 212 d'applications pour partager l'état d'application) à un autre dispositif (par exemple, le client 102-2) au moment de la détection ou d'une condition de déclenchement ; et - une ou plusieurs applications 110, 112, 114 telles qu'une application de messagerie 110, un navigateur ou une application multimédia 112 et éventuellement une ou plusieurs autres applications 114. Dans certaines mises en oeuvre, le module à protocole Near Field Communication 104 comprend un module de détection NFC 220 et un module de communication NFC 122. Le module de détection NFC 220 détecte la présence d'un autre dispositif ou système à compatibilité NFC dans des limites de proximité prédéfinie et avise le client 102 au moment de la détection de la présence d'un autre dispositif ou système à compatibilité NFC dans les limites de la proximité définies. La proximité prédéfinie est ordinairement la proximité requise pour réussir à établir un canal de communications NFC (qu'on appellera également connexion NFC) entre deux dispositifs, ou pour réussir à mener des communications NFC. Bien que des conditions d'environnement puissent affecter la possibilité de former une connexion NFC, la proximité prédéfinie n'est ordinairement pas supérieure à 10 cm et, dans certaines mises en oeuvre, nécessite que les deux dispositifs soient à moins de 5 cm ou 4 cm l'un de l'autre. Le module de communications NFC 222 prend en charge les communications entre le client 102 et l'autre dispositif par l'intermédiaire de l'émetteur/récepteur NFC 206, notamment l'émission ou la réception d'un état d'application ou d'informations sur un état d'application pour une ou plusieurs applications. Dans certaines mises en oeuvre, les informations 214 d'enregistrement d'applications comprennent, pour chaque application enregistrée, une ou plusieurs des informations suivantes : un identifiant de programme d'application, un type MIME et des informations (par exemple, un nom de procédure, une mention d'interface de programmation ou autre) qui permet à l'application de transfert d'applications d'obtenir l'état d'application de l'application enregistrée. Eventuellement, les informations d'enregistrement 214 d'applications sont conservées par le client 102 sous la forme d'une base de données, d'un tableau ou d'une liste permettant une recherche. Dans certaines mises en oeuvre, un programme d'application respectif stocke ses propres informations d'état d'application pendant l'exécution, et ainsi l'état d'application est actualisé de temps en temps. En fonction du type des applications en marche, le type d'informations et le volume de l'état d'application (par exemple, l'espace en mémoire nécessaire au stockage de l'état d'application) peuvent être différents d'une application à une autre et peuvent être stockés soit localement (c'est-à-dire dans le client 102) ou à distance, notamment dans un serveur situé à distance. Dans certaines formes de réalisation, l'application de messagerie 110 stocke localement des informations d'état 224 d'application de messagerie, ainsi qu'un identifiant ou un nom de compte 226 d'utilisateur. L'identifiant ou nom de compte 226 d'utilisateur indique l'utilisateur ou le compte pour lequel des messages ou d'autres informations sont affichés à cet instant par l'application de messagerie 110. En fonction du contexte instantané de l'application de messagerie 110, les informations d'état 224 d'application de messagerie comprennent une ou plusieurs des informations suivantes : l'identifiant d'un message et le format du message que l'utilisateur regarde ou sur lequel il travaille à cet instant, des informations fournissant une liste de messages affichés à cet instant par le client 102, des informations fournissant une liste de conversations (parfois appelées fil de messages) affichées à cet instant par le client 102, des informations identifiant un contact pour lequel des informations de contact sont affichées à cet instant par le client, etc. Les informations d'état 248 d'application de messagerie peuvent être sauvegardées soit localement dans le client 102, soit à distance dans un serveur de messagerie. Dans certaines formes de réalisation, une application de navigateur ou multimédia 112 stocke localement des informations d'état 228 d'application de navigateur. Dans certaines mises en oeuvre, les informations d'état 228 d'application de navigateur constituent ou contiennent l'URL d'un document regardé à cet instant, et sont sauvegardées localement dans le client 102. Eventuellement, les informations d'état 228 d'application de navigateur sont constituées par ou contiennent des informations supplémentaires, notamment une ou plusieurs des informations suivantes : position du document, emplacement de lecture, contenu ou modifications, saisi par l'utilisateur, du document affiché, etc. Eventuellement, d'autres applications 114, si elles sont présentes, stockent des informations d'états 230 d'applications de divers types, en fonction du type d'application. Chacun des modules, applications ou programmes indiqués ci-dessus correspond à un jeu d'instructions, exécutables par le/les processeurs du client 102, pour exécuter une fonction décrite plus haut. Les modules, applications ou programmes mentionnés plus haut (c'est-à-dire des jeux d'instructions) ne sont pas forcément mis en oeuvre sous la forme de programmes logiciels, procédures ou modules séparés, aussi divers sous-ensembles de ces modules peuvent-ils être combinés ou réorganisés autrement dans diverses formes de réalisation. Dans certaines formes de réalisation, la mémoire 203 contient éventuellement un sous-ensemble des modules et structures de données mentionnés plus haut. Par ailleurs, la mémoire 203 peut contenir des modules et des structures de données supplémentaires non décrits plus haut. Les figures 3A-3C comprennent un organigramme illustrant un procédé 300 de fonctionnement d'un dispositif ou système client (ci-après appelé client, pour simplifier) selon certaines formes de réalisation. Le procédé 300 est mis en oeuvre par un premier client tel que le client 102-1 décrit plus haut en référence aux figures 1 et 2. Dans une mémoire (302) sont conservées des informations d'enregistrement (par exemple 214, figure 2) pour une application respective (par exemple, l'application de messagerie 110, l'application de navigateur/multimédia 112) indiquant que l'application respective est enregistrée pour partager l'état de l'application (par exemple, l'état 224 d'application de messagerie ou l'état 228 d'application de navigateur) avec d'autres dispositifs.
L'état de l'application respective est mémorisé soit dans la mémoire du client 102 soit dans la mémoire d'un serveur situé à distance du client (304). Si nécessaire, pendant l'exécution de l'application respective, l'état de l'application est actualisé et mémorisé d'une manière dynamique. Une condition de déclenchement de transfert pour transférer l'état d'application de l'application respective à un autre dispositif client (par exemple, du premier client 102-1 au second client 102-2, figure 1) est détectée (306). La condition de déclenchement est la présence d'un autre dispositif (par exemple, le second client 102-2) dans les limites d'une proximité prédéfinie du premier client 102-1 (308). C'est ce qu'on appelle parfois ici une condition de déclenchement automatique, pour un partage automatique. Comme indiqué plus haut, la proximité prédéfinie est ordinairement la proximité requise pour réussir à établir un canal de communications NFC (également appelé connexion NFC) entre deux dispositifs ou pour réussir à mener des communications NFC. Dans diverses mises en oeuvre, la proximité prédéfinie ne dépasse pas 10 centimètres ; 5 centimètres ou 4 centimètres. Dans certaines mises en oeuvre, en plus de détecter le champ NFC d'un autre dispositif, un "choc" doit être détecté (par exemple, à l'aide d'un ou de plusieurs accéléromètres dans le client 102-1), impliquant que les deux dispositifs clients se sont physiquement touchés. Dans certaines mises en oeuvre, l'utilisateur n'a pas besoin d'intervenir autrement qu'en plaçant les deux dispositifs dans les limites de la proximité prédéfinie, et c'est donc ce qu'on appelle parfois un partage automatique. Dans certaines mises en oeuvre, la condition de déclenchement comprend en outre la réussite de l'établissement d'une connexion à protocole NFC entre le premier client 102-1 et le second client 102-2 (310). Eventuellement, le premier client 102-1 peut avoir à transmettre des informations d'authentification d'utilisateur pour réussir à établir la connexion à protocole NFC avec le second client 102-2.
Au moment de la détection de la condition de déclenchement, le client 102-1 détermine, en fonction des informations d'enregistrement mémorisées (214, figure 2), qu'une application respective (par exemple, l'application en marche dans le premier plan du client 102-1) est enregistrée pour un partage d'état d'application (312) et transmet l'état d'application de l'application respective au second client 102-2 (314). Pour expliquer plus commodément le procédé 300, on supposera que la seule application pour laquelle un état d'application est à transmettre à un autre dispositif est l'application de premier plan éventuelle, l'application de premier plan étant l'application qui est en marche dans une fenêtre supérieure ou d'application de premier plan du premier client 102-1. Cependant, dans certaines mises en oeuvre, décrites plus en détail ci-après en référence aux figures 5A-5C, un état d'application pour plusieurs applications est transmis au second client 102-2 par le premier client 102-1. Eventuellement, il est notifié à l'application respective (dans le client 102-1) que l'état d'application a été transmis au client 102-2 au terme de la transmission (316). Dans certaines formes de réalisation, le client 102-1 peut éventuellement modifier l'état d'application de l'application respective en réponse à la notification (par exemple, au terme de la transmission de l'état d'application) (318). Par exemple, dans le cas où l'application respective est une application de navigateur, l'application de navigateur peut prendre fin après la réception de la notification de transmission de l'état d'application. Dans un autre exemple, où l'application respective est une application courriel, après la réception de la notification de ce que l'état d'application a été transmis à un autre client, l'ébauche de message ou le message en cours de consultation est fermé, car il est supposé que l'utilisateur reprendra l'utilisation de l'application courriel dans le client 102-2. Dans encore un autre exemple, où l'application respective est un lecteur multimédia, la lecture d'un programme vidéo/audio par le premier client 102-1 est interrompue après que l'état du lecteur multimédia a été envoyé et que la notification de cet envoi a été fournie au lecteur multimédia.
Dans certaines mises en oeuvre, l'application respective est une application d'avant-plan, qui est exécutée dans une fenêtre d'application de premier plan du client 102-1 (322, figure 3B ; 332, figure 3C). Ordinairement, dans des dispositifs clients tels que des téléphones mobiles ou des tablettes électroniques, il n'y a qu'une seule application d'avant-plan. Dans certaines mises en oeuvre, l'état d'application de l'application respective comprend au moins un état parmi : une ou plusieurs ébauches de messages non envoyés, des informations d'état pour un appel téléphonique en cours, un emplacement de lecture pour un contenu vidéo, un emplacement de lecture pour un contenu audio, un identifiant de compte de messagerie, un identifiant de message pour une ébauche de message non envoyé, un identifiant de message pour un message en cours de consultation, un type MIME associé à l'application respective (324). Un emplacement de lecture est ordinairement un horodatage et/ou un numéro de trame. L'identifiant de message peut être l'identifiant de message pour une ébauche de message non envoyé ou pour un message en cours de consultation dans le premier plan dans le client 102-1. Dans certaines mises en oeuvre, une copie de l'état d'application provenant de l'application respective est demandée (334) (par exemple, le module 108 de transfert d'application demande l'état d'application à une application respective, puis transfère cet état d'application au second client 102-2). Eventuellement, lorsque l'état d'application de l'application respective est mémorisé à distance (par exemple, pour une application en ligne), une copie de l'état d'application fournie par l'application respective est demandée à un serveur respectif et est téléchargée vers le premier client 102-1, lequel le transfère alors au second client 102-2. Selon une autre possibilité, lorsque l'état d'application de l'application respective est mémorisé à distance (par exemple, pour une application en ligne), une copie de l'état d'application fournie par l'application respective est demandée par le second client 102-2 à un serveur respectif et est directement téléchargée vers le second client 102-2. Dans certaines formes de réalisation, au moins une partie de l'état d'application est transmise au second client 102-2 à l'aide d'une communication à protocole NFC (336). Par ailleurs, dans certaines mises en oeuvre, au moins une autre partie de l'état d'application est transmise par communication radioélectrique autre qu'une communication à protocole NFC, notamment une communication à protocole Bluetooth ou une communication à protocole WiFi (338). Dans un exemple de mise en oeuvre, dans lequel la transmission de l'état d'application dépasserait un seuil de durée (par exemple, 0,5 secondes), une partie de l'état d'application est transférée par NFC et une partie restante est transférée à l'aide d'un autre canal de communications radioélectriques. Dans encore d'autres mises en oeuvre, l'état d'application est transmis entièrement à l'aide d'une communication NFC entre le premier dispositif ou système client et le second dispositif ou système client (340).
Le procédé 300 est ordinairement régi par des instructions enregistrées dans un support d'enregistrement durable exploitable par un ordinateur dans un client respectif 102-1 et exécutées par un ou plusieurs processeurs d'un dispositif ou système client respectif 102. Chacune des opérations illustrées sur les figures 3A à 3C correspond ordinairement à des instructions lisibles par ordinateur qui sont stockées dans une mémoire de l'ordinateur ou un support de stockage durable exploitable par ordinateur dans un client respectif 102-1, et qui sont exécutées par un ou plusieurs processeurs du client respectif 102-1. Le support de stockage durable exploitable par ordinateur comprend un ou plusieurs dispositifs de mémoire du client 102-1, comme décrit plus haut en référence à la figure 2. Les instructions lisibles par ordinateur stockées dans le support de stockage durable exploitable par ordinateur du client 102-1 sont ordinairement un code source, un code de langage assembleur ou un code objet. De plus, il faut souligner que des détails d'autres processus décrits ici en référence aux procédés 400, 500 et 600 (par exemple, respectivement, les figures 4A-4C, 5A-5C et 6) peuvent également s'appliquer d'une manière analogue au procédé 300 décrit plus haut en référence aux figures 3A-3C. Par exemple, les conditions de déclenchement et les informations d'état transférées peuvent avoir une ou plusieurs des caractéristiques des divers procédés décrits ici en référence aux procédés 400, 500 et 600. Pour plus de concision, on ne répètera pas ici la présentation de ces détails. On va maintenant considérer un procédé 400 de passage de l'utilisation d'une application par un utilisateur d'un dispositif client (par exemple, le premier client 102-1) à un autre (par exemple, le second client 102-2), illustré par l'organigramme des figures 4A-4C.
Dans le premier client 102-1 sous le contrôle d'un utilisateur respectif, des informations d'enregistrement d'applications enregistrées pour partager des informations d'application avec d'autres dispositifs ou systèmes sont éventuellement conservées dans une mémoire du premier client 102-1 (402). On se reportera aux informations d'enregistrement d'applications 214, figure 2. Une première application est en marche dans le premier client 102-1 (404). Comme décrit plus haut, l'état d'application de l'application en marche est ordinairement mémorisé par le premier client 102-1. Pendant que la première application est en marche, le client 102-1 effectue une opération de transfert (406). Dans certaines formes de réalisation, l'opération de transfert est effectuée par ou sous le contrôle du module de transfert d'application 108 (figure 2). L'opération de transfert débute lorsque le client 102-1 détecte qu'il se trouve dans les limites d'une proximité prédéfinie d'un second dispositif (414). Autrement dit, l'opération de transfert débute lorsque le client 102-1 détecte la proximité du second client. Dans certaines mises en oeuvre, cette proximité est détectée par le module de détection 220 à protocole NFC (figure 2). Comme décrit plus haut, la proximité du second client est ordinairement détectée lorsque le second client est à moins de 10 cm, 5 cm ou 4 cm du premier client 102-1 (416). Dans certaines mises en oeuvre, dans le cadre de l'opération de transfert (406), le client 102-1 demande à l'application en marche (première application) une copie de son état d'application instantané (418). Selon une autre possibilité, le module de transfert d'application 108 accède directement aux informations d'état pour l'application en marche. Le client 102-1 transmet au client 102-2 les informations d'application (par exemple, les informations d'état évoquées plus haut) associées à la première application (420).
Dans le second client 102-2, les informations d'enregistrement d'applications enregistrées pour partager des informations d'application avec d'autres dispositifs ou systèmes sont éventuellement conservées (412). Le second client 102-2 détecte lui aussi la proximité du premier client 102-1, lorsque les deux dispositifs sont dans les limites d'une proximité prédéfinie (422). Dans le cadre de l'opération de transfert décrite plus haut, le second client 102-2 reçoit du client 102-1 les informations d'application (424). En réponse à la réception des informations d'application provenant du premier client 102-1, le second client 102-2 exécute une deuxième application correspondant à la première application avec un état initial d'interface utilisateur correspondant à l'état d'interface utilisateur du premier dispositif client (426). Dans certaines formes de réalisation, le second client 102-2 est sous le contrôle du même utilisateur que celui qui commande le premier client 102-1. Cependant, sauf indication contraire, l'opération de transfert 406 est effectuée indépendamment du fait que le premier et le second clients soient ou non sous le contrôle du même utilisateur. Dans certaines formes de réalisation, l'opération de transfert a lieu lorsque le second dispositif et système est touché physiquement par le premier dispositif ou système. Par exemple, un accéléromètre peut être utilisé dans un dispositif ou dans les deux pour détecter le contact/choc, ce qui sert à assurer que le transfert s'effectue en réponse à une action volontaire et évite ainsi les transferts intempestifs. Considérant maintenant la figure 4B, comme évoqué plus haut, le second client 102-2 reçoit du premier client 102-1 des informations d'état d'applications (424). On citera, comme exemples des informations d'état d'applications reçues, le type MIME de la première application et/ou le contenu de la première application.
Dans certaines formes de réalisation, le client 102-2 mémorise les informations d'état d'applications reçues et communique les informations d'état reçues à la deuxième application (430). Dans certaines formes de réalisation où une deuxième application correspondant au type MIME n'existe pas dans le client 102-2, l'utilisateur qui commande le second client 102-2 est invité à télécharger la deuxième application correspondant à la première application (432). Par ailleurs, le second client 102-2 télécharge la deuxième application respective (par exemple, à partir d'un serveur hôte par l'intermédiaire des réseaux de communications 120) en réponse à une instruction de l'utilisateur (434). Le second client 102-2 exécute une deuxième application correspondant à la première application avec un état initial d'interface utilisateur correspondant à l'état d'interface utilisateur du premier dispositif client (426). Par exemple, la deuxième application est une application capable de traiter le contenu du même type (par exemple, le type MIME) que la première application. Dans certaines formes de réalisation, si la deuxième application correspondant à la première application n'est pas déjà en train d'être exécutée en tant qu'application de premier plan dans le second client 102-2, en réponse à la réception d'informations d'application du premier client 102-1, le second client 102-2 exécute la deuxième application correspondant à la première application en tant qu'application de premier plan (440). Dans certaines formes de réalisation où la deuxième application n'est pas en marche lorsqu'est exécutée l'opération de transfert, le second client 102-2 commence automatiquement à exécuter la deuxième application dans les limites d'un laps de temps prédéfini (442). Par exemple, le laps de temps prédéfini est de 0,5 secondes afin que le démarrage de la deuxième application ne soit pas perceptible par l'utilisateur. Dans certaines mises en oeuvre, la première application et la deuxième application sont des exemples de deux applications distinctes d'un même type d'application (450). Dans d'autres mises en oeuvre, la première application et la deuxième application sont deux exemples d'une même application (452). Dans encore d'autres mises en oeuvre, la première application et la deuxième application sont des applications qui gèrent l'une et l'autre le même (les mêmes) type de contenus (par exemple, un type ou des types MIME), mais sont éventuellement des types d'applications différents (par exemple, un lecteur et un éditeur). Dans un exemple, la première application et la deuxième application sont toutes deux des applications de courriels (454) (par exemple, deux applications de courriels distinctes ou deux exemples de la même application de courriel). On notera que, lorsque les deux applications sont des applications de courriels, il est ordinairement nécessaire que les deux clients 102 soient sous le contrôle du même utilisateur ou de la même entité afin de protéger les informations confidentielles susceptibles d'être contenues dans le compte courriel de l'utilisateur ou de l'entité. Dans un autre exemple, la première application et la deuxième application sont l'une et l'autre des lecteurs multimédias (456). Dans encore un autre exemple, la première application et la deuxième application sont des applications de communications pour une communication audio ou audiovisuelle (458). Dans certaines formes de réalisation, concernant des cas où la première application et la deuxième application sont toutes deux des applications de courriels, l'état d'interface utilisateur du premier dispositif client comprend l'affichage d'un message ou d'un fil de conversation particulier, et l'état d'interface utilisateur initial correspondant à l'état d'interface utilisateur du premier dispositif client comprend l'affichage dudit message ou fil de conversation particulier. Dans un autre exemple, l'état d'interface utilisateur du premier dispositif client comprend l'affichage d'une ébauche de message non envoyé, et l'état d'interface utilisateur initial correspondant à l'état d'interface utilisateur du premier dispositif client comprend l'affichage de ladite ébauche de message non envoyé. Dans encore un autre exemple, l'état d'interface utilisateur du premier dispositif client comprend l'affichage d'une première liste de conversations correspondant à une demande de recherche spécifiée par l'utilisateur, et l'état d'interface utilisateur initial correspondant à l'état d'interface utilisateur du premier dispositif client comprend l'affichage d'une seconde liste de conversations correspondant à la demande de recherche spécifiée par l'utilisateur. Dans certaines formes de réalisation, soit la première et la seconde listes sont identiques, soit l'une est plus courte que l'autre lorsque l'un des dispositifs clients a un écran d'affichage plus petit que celui de l'autre dispositif client.
Dans certaines formes de réalisation concernant les cas où la première application et la deuxième application sont des applications multimédias, l'état d'interface utilisateur du premier dispositif client comprend la lecture d'un premier objet multimédia à un premier emplacement de lecture et l'état d'interface utilisateur initial correspondant à l'état d'interface utilisateur du premier dispositif client comprend la lecture du premier objet multimédia à un second emplacement de lecture correspondant au premier emplacement de lecture. Dans certaines formes de réalisation, le second emplacement de lecture a un décalage prédéterminé par rapport au premier emplacement de lecture. Par exemple, l'état d'interface utilisateur initial dans le second dispositif client peut être antérieur, lors de la lecture, à l'état d'interface utilisateur du premier dispositif client dans une mesure prédéterminée (par exemple, 0,5 à 3,0 secondes plus tôt), afin d'assurer que le transfert n'amène pas l'utilisateur à rater une partie quelconque du contenu. Dans certaines formes de réalisation, concernant des cas où la première application et la deuxième application sont toutes deux des applications de communication pour une communication audio ou audiovisuelle, l'état d'interface utilisateur initial du second client correspond à une connexion de communication par le second client à une même destination en tant que connexion de communication par le premier client lorsqu'est effectuée l'opération de transfert. Dans certaines formes de réalisation, le contenu d'application transmis dans le cadre de l'état d'application est choisi parmi une URL, une information de contact pour une entrée dans un carnet d'adresses respectif, une information identifiant une carte affichée, une information identifiant une carte affichée et un ensemble de directions pour circuler entre deux endroits. Par exemple, le second client 102-2, en réponse à la réception de l'état d'application depuis le premier client 102-1, utilise le type MIME inclus dans l'état d'application reçu afin de déterminer si, oui ou non, le second client a une deuxième application correspondant à la première application. S'il est déterminé qu'il n'a pas la deuxième application à type MIME correspondant, le second client 102-2 affiche une invitation à télécharger une deuxième application respective correspondant au type MIME, télécharge la deuxième application respective en réponse à une instruction de l'utilisateur et exécute la deuxième application.
Considérant la figure 4C, non seulement le premier client 102-1 peut transférer à un autre client (par exemple, le client 102-2) des informations d'application (parfois appelées ici informations d'état) pour une application respective, comme représenté par l'opération 406, mais encore il peut recevoir d'un autre client, pendant une opération de transfert (470), des informations d'application. Par exemple, après un certain temps succédant à l'opération de transfert 406 décrite plus haut, l'utilisateur peut vouloir retransférer au premier client 102-1 l'état de la même application ou d'une autre application. Normalement, la première application 102-1 n'aura aucune application active ni aucune application en marche dans le premier plan au moment où elle recevra une opération de transfert. Cependant, dans d'autres mises en oeuvre, divers autres mécanismes peuvent être utilisés pour déterminer si le premier client 102-1 doit accepter des informations d'application provenant d'un autre client. La seconde opération de transfert, comme celle décrite plus haut, est ordinairement effectuée en réponse à la détection d'une opération de déclenchement. Les conditions de déclenchement sont décrites plus haut, aussi s'abstiendra-t-on de répéter cette description. Lors de cette seconde opération de transfert, le premier client 102-1 reçoit, d'un autre dispositif client du système, des informations d'application (par exemple, des informations d'état) pour une troisième application (472). Par exemple, les informations d'application reçues comprennent des informations de type MIME et de contenu et/ou d'état d'application. Ces informations sont décrites plus haut, aussi s'abstiendra-t-on de les présenter à nouveau. Ordinairement, les informations d'application reçues sont mémorisées par le premier client 102-1 et communiquées à une application respective (par exemple, une quatrième application) correspondant à la troisième application (474). Dans certaines mises en oeuvre, l'application respective à utiliser est déterminée d'après le type MIME spécifié dans les informations d'application reçues. L'application respective (par exemple, la quatrième application) correspondant à la troisième application est exécutée par le premier dispositif client, une interface utilisateur initiale correspondant à l'interface utilisateur dans l'autre dispositif ou système client duquel ont été reçues les informations d'application (476). Le procédé 400 est ordinairement régi par des instructions qui sont stockées dans un support de stockage durable exploitable par un ordinateur dans un client respectif 102-1 et qui sont exécutées par un ou plusieurs processeurs d'un dispositif ou système client respectif 102. Chacune des opérations indiquées sur les figures 4A-4C correspond ordinairement à des instructions lisibles par ordinateur qui sont stockées dans une mémoire d'ordinateur ou sur un support de stockage durable exploitable par ordinateur dans un client respectif 102-1 et qui sont exécutées par un ou plusieurs processeurs du client respectif 102-1. Le support de stockage durable exploitable par ordinateur comprend un ou plusieurs dispositifs de mémoires du client 102-1, comme décrit plus haut en référence à la figure 2. Les instructions lisibles par ordinateur stockées sur le support de stockage durable exploitable par ordinateur du client 102-1 sont ordinairement un code source, un code de langage assembleur ou un code objet.
En outre, il faut souligner que des détails d'autres processus décrits ici en référence aux procédés 300, 500 et 600 (par exemple, respectivement, les figures 3A-3C, 5A-5C et 6) peuvent également s'appliquer d'une manière analogue au procédé 400 décrit plus haut en référence aux figures 4A-4C. Par exemple, les conditions de déclenchement et les informations d'état transmises peuvent avoir une ou plusieurs des caractéristiques des divers procédés décrits ici en référence aux procédés 300, 500 et 600. Dans un souci de concision, la présentation de ces détails ne sera pas renouvelée ici. Les figures 5A-5C comprennent un organigramme illustrant un procédé 500 pour faire fonctionner un système ou dispositif client (ci-après appelé client, pour simplifier) selon certaines formes de réalisation. Le procédé 500 est mis en oeuvre par un dispositif ou système client tel que le premier client 102-1 décrit plus haut en référence aux figures 1 et 2. Le premier client 102-1 exécute une pluralité d'applications exécutées d'une manière active avec un ou plusieurs points de contrôle, chaque point de contrôle identifiant un point d'interruption d'exécution auquel l'application respective peut être suspendue et ultérieurement reprise (502). L'état d'application de l'application respective pour chaque application respective de la pluralité d'applications actives correspondant à un point de contrôle d'application respective est mémorisé d'une manière dynamique soit dans une mémoire du client soit dans une mémoire d'un serveur situé à distance du client (504). Une condition de déclenchement de transfert pour transférer l'état d'application des applications actives vers un autre dispositif client (par exemple, du premier client 102-1 au second client 102-2, figure 1) est détectée (506). Eventuellement, le client 102 peut attendre que la pluralité d'applications actives arrivent à leurs points de contrôle respectifs et suspendre l'exécution de la pluralité d'applications actives (508, 511). Selon une autre possibilité, dans certaines mises en oeuvre, au moment de la détection de la condition de déclenchement, le premier client 102-1 suspend une application active respective parmi la pluralité d'applications actives lorsque l'application active atteint un point de contrôle de l'application active respective (509).
L'état d'application mémorisé de la pluralité d'applications actives est transmis au client 102-2 (512). Dans certaines formes de réalisation, il est notifié à chacune des applications actives que l'état d'application a été transmis au second dispositif client (514).
Considérant la figure 5B, dans certaines formes de réalisation, la détection de la condition de déclenchement de transfert (506) comprend la détection de la présence d'un autre dispositif ou système client (par exemple, le second client 102-2) dans les limites d'une proximité prédéfinie du premier client 102-1 (308). En outre, comme décrit plus haut, dans certaines formes de réalisation, la proximité prédéfinie est la proximité requise pour réussir à établir un canal NFC (ce qu'on appelle également une connexion NFC) entre deux dispositifs, ou pour réussir à mener des communications NFC (507). Dans certaines mises en oeuvre, la détection de la condition de déclenchement de transfert comprend l'établissement d'un canal NFC (310). Dans certaines formes de réalisation, la condition de déclenchement de transfert comprend une instruction émise par un utilisateur (par exemple, en appuyant sur une touche ou un objet sur un écran tactile) du premier dispositif ou système client (526). Cependant, dans de nombreuses mises en oeuvre, l'utilisateur n'a rien d'autre à faire que de placer les deux dispositifs à proximité l'un de l'autre. Considérant la figure 5C, dans certaines formes de réalisation, le premier client 102-1 ne commence à transmettre l'état d'application mémorisé de la pluralité d'applications actives qu'après la détection de la suspension de la pluralité d'applications actives (528). Selon une autre possibilité, dans certaines formes de réalisation, le premier client 102-1 transmet l'état d'application mémorisé d'une application au second dispositif ou système après la détection de la suspension de l'application active respective, sans attendre la suspension des autres applications encore actives (530). Dans certaines formes de réalisation (non représentées sur les figures 5A-5C), le premier client 102-1 transmet l'état d'application mémorisé de la pluralité d'applications actives après la suspension d'un nombre prédéfini d'applications. Dans certaines formes de réalisation, pour limiter le plus possible le délai de transfert de l'état d'application du premier client 102-1 au second client 102-2, la condition de déclenchement de transfert comprend la détection du champ NFC du second dispositif sans formation d'une connexion NFC. Dans certaines formes de réalisation, le premier client 102-1 établit une connexion NFC avec le second client 102-2 soit après avoir suspendu la pluralité d'applications actives, soit pendant le processus de suspension d'exécution de la pluralité d'applications actives.
Dans certaines mises en oeuvre, le premier client 102-1 transmet des informations d'authentification d'utilisateur dans le cadre de l'état d'application transmis au second client 102-2 (532). Comme décrit plus haut, dans certaines formes de réalisation, au moins une partie de l'état d'application est transmise au second client 102-2 par communication à protocole NFC (336). Par ailleurs, dans certaines mises en oeuvre, au moins une autre partie de l'état d'application est transmise par communication radioélectrique autre que la communication à protocole NFC, par exemple une communication à protocole Bluetooth ou une communication à protocole WiFi (338). Dans encore d'autres mises en oeuvre, l'état d'application est entièrement transmis à l'aide d'une connexion NFC entre le premier dispositif ou système client et le second dispositif ou système (340). Le procédé 500 est ordinairement régi par des instructions qui sont stockées dans un support de stockage durable exploitable par ordinateur dans un client respectif 102-1 et qui sont exécutées par un ou plusieurs processeurs d'un dispositif ou système client respectif 102. Chacune des opérations indiquées sur les figures 5A-5C correspond ordinairement à des instructions lisibles par ordinateur qui sont stockées dans une mémoire d'ordinateur ou sur un support de stockage durable lisible par ordinateur dans un client respectif 102-1 et qui sont exécutées par un ou plusieurs processeurs du client respectif 102-1. Le support de stockage durable exploitable par ordinateur comprend un ou plusieurs dispositifs de mémoires du client 102-1, comme décrit plus haut en référence à la figure 2. Les instructions lisibles par ordinateur stockées sur le support de stockage durable exploitable par ordinateur du client 102-1 sont ordinairement un code source, un code de langage assembleur ou un code objet.
De plus, il faut souligner que des détails d'autres processus décrits ici en référence aux procédés 300, 400 et 600 (par exemple, respectivement, les figures 3A-3C, 4A-4C et 6) sont également applicables d'une manière analogue au procédé 500 décrit plus haut en référence aux figures 5A-5C. Par exemple, les conditions de déclenchement et les informations d'état transmises peuvent avoir une ou plusieurs des caractéristiques des divers procédés décrits ici en référence aux procédés 300, 400 et 600. Pour plus de concision, on s'abstiendra de renouveler la présentation de ces détails. La figure 6 comprend un organigramme illustrant un procédé 600 de fonctionnement d'un dispositif ou système client selon certaines formes de réalisation. Le procédé 600 est mis en oeuvre par un dispositif ou système client tel que le dispositif ou système client 102-1 décrit plus haut en référence aux figures 1 et 2. Le client 102-1 exécute une application active ayant un ou plusieurs points de contrôle, chaque point de contrôle identifiant un point d'interruption d'exécution auquel l'application active peut être suspendue, puis reprise (602). L'état d'application de l'application respective active correspondant à un point de contrôle de l'application respective est mémorisé d'une manière dynamique soit dans une mémoire du client soit dans une mémoire d'un serveur situé à distance du client (604). Une condition de déclenchement de transfert pour transmettre un état d'application de l'application respective à un autre dispositif client (par exemple, du client 102-1 au client 102-2, figure 1) est détectée (606). Dans certaines formes de réalisation, la condition de déclenchement de transfert comprend la présence du second dispositif ou système client dans les limites d'une proximité prédéfinie du premier dispositif ou système client (306, se reporter également à la description faite plus haut en référence à la figure 5B). En outre, dans certaines formes de réalisation, la proximité prédéfinie est une proximité prédéfinie pour des communications à protocole NFC (308, figure 5B, décrite plus haut en référence à la figure 5B). Dans certaines formes de réalisation, la condition de déclenchement de transfert comprend une instruction émise par un utilisateur (par exemple en appuyant sur une touche ou un objet sur un écran tactile) du premier dispositif ou système client (526, décrit plus haut en référence à la figure 5B). Le procédé 600 est ordinairement régi par des instructions qui sont stockées dans un support de stockage durable exploitable par ordinateur dans un client respectif 102-1 et qui sont exécutées par un ou plusieurs processeurs d'un dispositif ou système client respectif 102. Chacune des opérations indiquées sur la figure 6 correspond ordinairement à des instructions lisibles par ordinateur qui sont stockées dans une mémoire d'ordinateur ou sur un support de stockage durable exploitable par ordinateur dans un client respectif 102-1 et qui sont exécutées par un ou plusieurs processeurs du client respectif 102-1. Le support de stockage durable exploitable par ordinateur comprend un ou plusieurs dispositifs de mémoires du client 102-1, comme décrit plus haut en référence à la figure 2. Les instructions lisibles par ordinateur stockées sur le support de stockage durable lisible par ordinateur du client 102-1 sont ordinairement un code source, un code de langage assembleur ou un code objet. De plus, il faut souligner que des détails d'autres processus décrits ici en référence aux procédés 300, 400 et 500 (par exemple, respectivement, les figures 3A-3C, 4A-4C et 5A-5C) sont également applicables d'une manière analogue au procédé 600 décrit plus haut en référence à la figure 6. Par exemple, les conditions de déclenchement et les informations d'état transmises peuvent avoir une ou plusieurs des caractéristiques des divers procédés décrits ici en référence aux procédés 300, 400 et 500. Pour plus de concision, on s'abstiendra de renouveler ici la présentation de ces détails.

Claims (41)

  1. REVENDICATIONS1. Procédé, mis en oeuvre par un premier dispositif ou système client (102-1) ayant un ou plusieurs processeurs (202) et une mémoire (204) stockant un ou plusieurs programmes à exécuter par le/les processeurs (202), le procédé comportant : l'exécution d'une pluralité d'applications actives, chacune des différentes applications actives ayant un ou plusieurs points de contrôle, chaque point de contrôle identifiant un point d'interruption d'exécution auquel l'application respective peut être suspendue, puis reprise ; la détection d'une condition de déclenchement de transfert ; la mémorisation d'un état d'application pour chacune des différentes applications actives, l'état d'application mémorisé pour chaque application respective parmi les différentes applications actives correspondant à un point de contrôle de l'application respective ; et la transmission, à un second dispositif ou système client (102-2), de l'état d'application mémorisé pour chacune des différentes applications actives.
  2. 2. Procédé selon la revendication 1, dans lequel la condition de déclenchement de transfert comprend la présence du second dispositif ou système client (102-2) dans les limites d'une proximité prédéfinie du premier dispositif ou système client (102-1).
  3. 3. Procédé selon la revendication 1, dans lequel la condition de déclenchement de transfert comprend la présence du second dispositif ou système client (102-2) dans les limites d'une proximité prédéfinie du premier dispositif ou système client (102-1), la proximité prédéfinie étant une proximité prédéfinie pour une communication à protocole NFC.
  4. 4. Procédé selon l'une quelconque des revendications 1 à 3, comportant, au moment de la détection de la condition de déclenchement, l'attente de l'arrivée d'une application active respective parmi la pluralité d'applications actives à un point de contrôle de l'application active respective et, au moment de la détection de l'entrée de l'application active respective au point de contrôle, la suspension de l'application active respective.
  5. 5. Procédé selon l'une quelconque des revendications 1 à 3, comportant, au moment de la détection de la condition de déclenchement, l'attente de l'arrivée de la pluralité d'applications actives à des points de contrôle respectifs et, au moment de la détection de l'entrée de chaque application respective au point de contrôle correspondant, la suspension de la pluralité d'applications actives.
  6. 6. Procédé selon la revendication 5, dans lequel la transmission est effectuée après la suspension de la pluralité d'applications actives.
  7. 7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel la transmission comprend la transmission, au second dispositif ou système client (102-2), d'informations d'authentification d'un utilisateur du premier dispositif ou système client (102-1).
  8. 8. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel la transmission de l'état d'application comprend la transmission d'au moins une partie de l'état d'application à l'aide d'une communication à protocole NFC.
  9. 9. Procédé selon la revendication 8, dans lequel la transmission de l'état d'application comprend la transmission d'au moins une autre partie de l'état d'application à l'aide d'une communication radioélectrique autre qu'une communication à protocole NFC.
  10. 10. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel la transmission de l'état d'application comprend en outre la transmission de l'état d'application à l'aide d'une connexion NFC entre le premier dispositif ou système client (102-1) et le second dispositif ou système client (102-2).
  11. 11. Procédé selon l'une quelconque des revendications 1 à 10, dans lequel la détection de la condition de transfert comprend en outre l'établissement d'une connexion NFC entre le premier dispositif ou système client (102-1) et le second dispositif ou système client (102-2).
  12. 12. Procédé selon l'une quelconque des revendications 1 à 11, dans lequel l'état d'application de chacune des applications actives comprend au moins un état parmi : une ou plusieurs ébauches de messages non envoyés, des informations d'état pour un appel téléphonique en cours, un emplacement de lecture pour un contenu vidéo, un emplacement de lecture pour un contenu audio, un identifiant de compte de messagerie, un identifiant de message pour une ébauche de message non envoyé, un identifiant de message pour un message en cours de consultation, un type MIME associé à l'application respective.
  13. 13. Procédé selon les revendications 1 à 11, comportant en outre la notification, à chacune des applications actives, de ce que l'état d'application a été transmis au second dispositif ou système client (102-2).
  14. 14. Support de stockage durable exploitable par ordinateur, stockant un ou plusieurs programmes à exécuter par un ou plusieurs processeurs (202) d'un dispositif ou système client, les/les programmes contenant des instructions pour exécuter une pluralité d'applications actives, chacune des différentes applications actives ayant un ou plusieurs points de contrôle, chaque point de contrôle identifiant un point d'interruption d'exécution auquel l'application respective peut être suspendue, puis reprise ; détecter une condition de déclenchement de transfert ; mémoriser un état d'application pour chacune des différentes applications actives, l'état d'application mémorisé pour chaque application respective parmi les différentes applications actives correspondant à un point de contrôle de l'application respective ; et transmettre, à un second dispositif ou système client (102-2), l'état d'application mémorisé pour chacune des différentes applications actives.
  15. 15. Support de stockage durable exploitable par ordinateur selon la revendication 14,dans lequel la condition de déclenchement de transfert comprend la présence du second dispositif ou système client (102-2) dans les limites d'une proximité prédéfinie du premier dispositif ou système client (102-1).
  16. 16. Support de stockage durable exploitable par ordinateur selon la revendication 14, dans lequel la condition de déclenchement de transfert comprend la présence du second dispositif ou système client (102-2) dans les limites d'une proximité prédéfinie du premier dispositif ou système client (102-1), la proximité prédéfinie étant une proximité prédéfinie pour une communication à protocole NFC.
  17. 17. Support de stockage durable exploitable par ordinateur selon l'une quelconque des revendications 14 à 16, le/les programmes contenant en outre des instructions pour, au moment de la détection de la condition de déclenchement, attendre l'arrivée d'une application active respective parmi la pluralité d'applications actives à un point de contrôle de l'application active respective, et des instruction pour, au moment de la détection de l'entrée de l'application active respective au point de contrôle, suspendre l'application active respective.
  18. 18. Support de stockage durable exploitable par ordinateur selon l'une quelconque des revendications 14 à 16, le/les programmes contenant en outre des instructions pour, au moment de la détection de la condition de déclenchement, attendre l'arrivée de la pluralité d'applications actives à des points de contrôle respectifs et, au moment de la détection de l'entrée de chaque application respective au point de contrôle correspondant, suspendre la pluralité d'applications actives.
  19. 19. Support de stockage durable exploitable par ordinateur selon la revendication 18, dans lequel la transmission est effectuée après la suspension de la pluralité d'applications actives.
  20. 20. Support de stockage durable exploitable par ordinateur selon l'une quelconque des revendications 14 à 19, dans lequel la transmission comprend la transmission, au second dispositif ou système client (102-2), d'informations d'authentification d'un utilisateur du premier dispositif ou système client (102-1).
  21. 21. Support de stockage durable exploitable par ordinateur selon l'une quelconque des revendications 14 à 19, dans lequel la transmission de l'état d'application comprend la transmission d'au moins une partie de l'état d'application à l'aide d'une communication à protocole NFC.
  22. 22. Support de stockage durable exploitable par ordinateur selon la revendication 21, dans lequel la transmission de l'état d'application comprend la transmission d'au moins une autre partie de l'état d'application à l'aide d'une communication radioélectrique autre qu'une communication à protocole NFC.
  23. 23. Support de stockage durable exploitable par ordinateur selon l'une quelconque des revendications 14 à 19, dans lequel la transmission de l'état d'application comprend en outre la transmission de l'état d'application à l'aide d'une connexion NFC entre le premier dispositif ou système client (102-1) et le second dispositif ou système client (102-2).
  24. 24. Support de stockage durable exploitable par ordinateur selon l'une quelconque des revendications 14 à 23, dans lequel la détection de la condition de transfert comprend en outre l'établissement d'une connexion NFC entre le premier dispositif ou système client (102-1) et le second dispositif ou système client (102-2).
  25. 25. Support de stockage durable exploitable par ordinateur selon l'une quelconque des revendications 14 à 24,dans lequel l'état d'application de chacune des applications actives comprend au moins un état parmi : une ou plusieurs ébauches de messages non envoyés, des informations d'état pour un appel téléphonique en cours, un emplacement de lecture pour un contenu vidéo, un emplacement de lecture pour un contenu audio, un identifiant de compte de messagerie, un identifiant de message pour une ébauche de message non envoyé, un identifiant de message pour un message en cours de consultation, un type MIME associé à l'application respective.
  26. 26. Support de stockage durable exploitable par ordinateur selon l'une quelconque des revendications 14 à 24, le/les programmes contenant en outre des instructions pour notifier à chacune des applications actives que l'état d'application a été transmis au second dispositif ou système client (102-2).
  27. 27. Dispositif ou système client, comportant : une ou plusieurs interfaces de communication, comprenant un émetteur-récepteur pour communications à protocole NFC ; un ou plusieurs processeurs (202) ; et une mémoire (204) stockant un ou plusieurs programmes à exécuter par le/les processeurs (202), le/les programmes contenant des instructions pour : exécuter une pluralité d'applications actives, chacune des différentes applications actives ayant un ou plusieurs points de contrôle, chaque point de contrôle identifiant un point d'interruption d'exécution auquel l'application respective peut être suspendue, puis reprise ; détecter une condition de déclenchement de transfert ; mémoriser un état d'application pour chacune des différentes applications actives, l'état d'application mémorisé pour chaque application respective parmi la pluralité d'applications actives correspondant à un point de contrôle de l'application respective ; et transmettre au second dispositif ou système client (102-2) l'état d'application mémorisé pour chacune des différentes applications actives.
  28. 28. Dispositif ou système client selon la revendication 27, dans lequel la condition de déclenchement de transfert comprend la présence du second dispositif ou système client (102-2) dans les limites d'une proximité prédéfinie du premier dispositif ou système client (102-1).
  29. 29. Dispositif ou système client selon la revendication 27, dans lequel la condition de déclenchement de transfert comprend la présence du second dispositif ou système client (102-2) dans les limites d'une proximité prédéfinie du premier dispositif ou système client (102-1), la proximité prédéfinie étant une proximité prédéfinie pour une communication à protocole NFC.
  30. 30. Dispositif ou système client selon l'une quelconque des revendications 27 à 29, le/les programmes contenant en outre des instructions pour, au moment de la détection de la condition de déclenchement, attendre l'arrivée d'une application active respective parmi la pluralité d'applications actives à un point de contrôle de l'application active respective, et des instructions pour, au moment de la détection de l'entrée de l'application active respective au point de contrôle, suspendre l'application active respective.
  31. 31. Dispositif ou système client selon l'une quelconque des revendications 27 à 29, le/les programmes contenant en outre des instructions pour, au moment de la détection de la condition de déclenchement, attendre l'arrivée de la pluralité d'applications actives à des points de contrôle respectifs et, au moment de la détection de l'entrée de chaque application respective au point de contrôle correspondant, suspendre la pluralité d'applications actives.
  32. 32. Dispositif ou système client selon la revendication 31, dans lequel la transmission est effectuée après la suspension de la pluralité d'applications actives.
  33. 33. Dispositif ou système client selon l'une quelconque des revendications 27 à 32, dans lequel la transmission comprend la transmission, au second dispositif ou système client (102-2), d'informations d'authentification d'un utilisateur du premier dispositif ou système client (102-1).
  34. 34. Dispositif ou système client selon l'une quelconque des revendications 27 à 32, dans lequel la transmission de l'état d'application comprend la transmission d'au moins une partie de l'état d'application à l'aide d'une communication à protocole NFC.
  35. 35. Dispositif ou système client selon la revendication 34, dans lequel la transmission de l'état d'application comprend la transmission d'au moins une autre partie de l'état d'application à l'aide d'une communication radioélectrique autre qu'une communication à protocole NFC.
  36. 36. Dispositif ou système client selon l'une quelconque des revendications 27 à 32, dans lequel la transmission de l'état d'application comprend en outre la transmission de l'état d'application à l'aide d'une connexion NFC entre le premier dispositif ou système client (102-1) et le second dispositif ou système client (102-2).
  37. 37. Dispositif ou système client selon l'une quelconque des revendications 27 à 36, dans lequel la détection de la condition de transfert comprend en outre l'établissement d'une connexion NFC entre le premier dispositif ou système client (102-1) et le second dispositif ou système client (102-2).
  38. 38. Dispositif ou système client selon l'une quelconque des revendications 27 à 37, dans lequel l'état d'application de chacune des applications actives comprend au moins un état parmi : une ou plusieurs ébauches de messages non envoyés, des informations d'état pour un appel téléphonique en cours, un emplacement de lecture pour un contenu vidéo, un emplacement de lecture pour un contenu audio, un identifiant de compte de messagerie, un identifiant de message pour une ébauche de message non envoyé, un identifiant de message pour un message en cours de consultation, un type MIME associé à l'application respective.
  39. 39. Dispositif ou système client selon l'une quelconque des revendications 27 à 37, le/les programmes contenant en outre des instructions pour notifier à chacune des applications actives que l'état d'application a été transmis au second dispositif ou système client (102-2).
  40. 40. Procédé, mis en oeuvre par un premier dispositif ou système client (102-1) ayant un ou plusieurs processeurs (202) et une mémoire (204) stockant un ou plusieurs programmes à exécuter par le/les processeurs (202), le procédé comportant : l'exécution d'une application active ayant un ou plusieurs points de contrôle, chaque point de contrôle identifiant un point d'interruption d'exécution auquel l'application active peut être suspendue, puis reprise ; la détection d'une condition de déclenchement de transfert, la condition de déclenchement de transfert comprenant la présence d'un second dispositif ou système client (102-2) dans les limites d'une proximité prédéfinie du premier dispositif ou système client (102-1) ; la mémorisation d'un état d'application pour l'application active, l'état d'application mémorisé correspondant à un point de contrôle de l'application active ; et la transmission, au second dispositif ou système client (102- 2), de l'état d'application mémorisé pour l'application active.
  41. 41. Procédé selon la revendication 40, dans lequel l'application respective est une application de premier plan exécuté dans une fenêtre d'application de premier plan du premier dispositif client (102-1).
FR1254227A 2011-05-09 2012-05-09 Transfert d'etat entre dispositifs a points de controle Expired - Fee Related FR2975801B1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161484185P 2011-05-09 2011-05-09
US61484185 2011-05-09
US13/247,725 US8812601B2 (en) 2011-05-09 2011-09-28 Transferring application state across devices with checkpoints
US13247725 2011-09-28

Publications (2)

Publication Number Publication Date
FR2975801A1 true FR2975801A1 (fr) 2012-11-30
FR2975801B1 FR2975801B1 (fr) 2018-03-09

Family

ID=46177498

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1254227A Expired - Fee Related FR2975801B1 (fr) 2011-05-09 2012-05-09 Transfert d'etat entre dispositifs a points de controle

Country Status (8)

Country Link
US (1) US8812601B2 (fr)
EP (1) EP2523110B1 (fr)
AU (1) AU2012100569A4 (fr)
DE (2) DE202012004620U1 (fr)
FR (1) FR2975801B1 (fr)
GB (1) GB2492867A (fr)
NL (1) NL2008779C2 (fr)
WO (1) WO2012154746A1 (fr)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432468B2 (en) 2005-09-14 2016-08-30 Liveperson, Inc. System and method for design and dynamic generation of a web page
US8738732B2 (en) 2005-09-14 2014-05-27 Liveperson, Inc. System and method for performing follow up based on user interactions
US8762313B2 (en) 2008-07-25 2014-06-24 Liveperson, Inc. Method and system for creating a predictive model for targeting web-page to a surfer
US8805844B2 (en) 2008-08-04 2014-08-12 Liveperson, Inc. Expert search
US9892417B2 (en) 2008-10-29 2018-02-13 Liveperson, Inc. System and method for applying tracing tools for network locations
US9350598B2 (en) 2010-12-14 2016-05-24 Liveperson, Inc. Authentication of service requests using a communications initiation feature
US8918465B2 (en) 2010-12-14 2014-12-23 Liveperson, Inc. Authentication of service requests initiated from a social networking site
US8812601B2 (en) * 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints
US8224894B1 (en) * 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US8171137B1 (en) * 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US10075533B2 (en) * 2011-09-15 2018-09-11 Paypal, Inc. Method and apparatus for transferring the state of content using short codes
US8769624B2 (en) 2011-09-29 2014-07-01 Apple Inc. Access control utilizing indirect authentication
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US8706037B1 (en) * 2012-01-13 2014-04-22 Google Inc. Alternative transport mechanism selection
US9680927B2 (en) * 2012-02-05 2017-06-13 Apple Inc. Cloud tabs
US9507630B2 (en) * 2012-02-09 2016-11-29 Cisco Technology, Inc. Application context transfer for distributed computing resources
US8805941B2 (en) 2012-03-06 2014-08-12 Liveperson, Inc. Occasionally-connected computing interface
TW201344455A (zh) * 2012-04-20 2013-11-01 Hon Hai Prec Ind Co Ltd 遠端控制方法與系統以及使用該方法之行動裝置
US9563336B2 (en) 2012-04-26 2017-02-07 Liveperson, Inc. Dynamic user interface customization
US9672196B2 (en) 2012-05-15 2017-06-06 Liveperson, Inc. Methods and systems for presenting specialized content using campaign metrics
US8995339B2 (en) * 2012-06-08 2015-03-31 At&T Intellectual Property I, L.P. Network control of applications using application states
US9184800B2 (en) 2012-07-16 2015-11-10 Google Inc. Automated sharing of application data over a near field communication link
US8990343B2 (en) 2012-07-30 2015-03-24 Google Inc. Transferring a state of an application from a first computing device to a second computing device
US9998911B2 (en) 2012-10-02 2018-06-12 Razer (Asia-Pacific) Pte. Ltd. Transferring information to a mobile device
US9717985B2 (en) 2012-10-02 2017-08-01 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US9654556B2 (en) 2012-10-02 2017-05-16 Razer (Asia-Pacific) Pte. Ltd. Managing applications on an electronic device
US9210203B2 (en) 2012-10-02 2015-12-08 Nextbit Systems Inc. Resource based mobile device application streaming
US9747000B2 (en) 2012-10-02 2017-08-29 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US9112885B2 (en) 2012-10-02 2015-08-18 Nextbit Systems Inc. Interactive multi-tasker
US9600552B2 (en) 2012-10-02 2017-03-21 Nextbit Systems Inc. Proximity based application state synchronization
US10425471B2 (en) 2012-10-02 2019-09-24 Razer (Asia-Pacific) Pte. Ltd. Multi-tasker
US9268655B2 (en) 2012-10-02 2016-02-23 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US9776078B2 (en) 2012-10-02 2017-10-03 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US8977723B2 (en) 2012-10-02 2015-03-10 Nextbit Systems Inc. Cloud based application fragmentation
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9378456B2 (en) 2012-11-19 2016-06-28 Microsoft Technology Licensing, Llc Task completion
FR3001814A1 (fr) * 2013-02-07 2014-08-08 Daniel Levalois Dispositif electronique et procede de fonctionnement de dispositifs incluant un programme pouvant etre partiellement desactive
US9516072B2 (en) * 2013-02-22 2016-12-06 Blackberry Limited Device, system and method for generating application data
US10122827B2 (en) * 2013-02-25 2018-11-06 Microsoft Technology Licensing, Llc Interaction between devices displaying application status information
WO2014143776A2 (fr) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Fourniture d'interactions à distance avec un dispositif hôte à l'aide d'un dispositif sans fil
US9125180B1 (en) 2013-03-15 2015-09-01 Google Inc. Techniques for automatically establishing a long-lasting connection across computing devices configured for short-range wireless communication
US10123189B2 (en) 2013-03-21 2018-11-06 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US8954611B2 (en) * 2013-03-21 2015-02-10 Nextbit Systems Inc. Mechanism for sharing states of applications and devices across different user profiles
FR3004047A1 (fr) * 2013-03-29 2014-10-03 France Telecom Technique de cooperation entre une pluralite d'entites clientes
US9742750B2 (en) * 2013-06-12 2017-08-22 Microsoft Technology Licensing, Llc Roaming internet-accessible application state across trusted and untrusted platforms
US20150088957A1 (en) * 2013-09-25 2015-03-26 Sony Corporation System and methods for managing applications in multiple devices
WO2015047523A2 (fr) 2013-09-27 2015-04-02 Siemens Healthcare Diagnostics Inc. Systèmes et procédés pour un transfert d'état de session à un dispositif mobile
USD768162S1 (en) 2013-09-30 2016-10-04 Nextbit Systems Inc. Display screen or portion thereof with graphical user interface
KR20150112252A (ko) * 2014-03-27 2015-10-07 삼성전자주식회사 전자 장치 및 이의 연결 방법
US9990129B2 (en) 2014-05-30 2018-06-05 Apple Inc. Continuity of application across devices
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
US9621650B2 (en) * 2014-09-30 2017-04-11 Google Inc Mobile application state identifier framework
US11240349B2 (en) * 2014-12-31 2022-02-01 Ebay Inc. Multimodal content recognition and contextual advertising and content delivery
US10397373B2 (en) 2015-05-20 2019-08-27 Qualcomm Incorporated Renewing registrations for client applications installed on different proximate client devices
CA2988120A1 (fr) 2015-06-02 2016-12-08 Liveperson, Inc. Routage dynamique de communication base sur des regles de routage et de ponderation de coherence
US10275116B2 (en) 2015-06-07 2019-04-30 Apple Inc. Browser with docked tabs
US9733993B2 (en) 2015-07-02 2017-08-15 Microsoft Technology Licensing, Llc Application sharing using endpoint interface entities
US10198252B2 (en) 2015-07-02 2019-02-05 Microsoft Technology Licensing, Llc Transformation chain application splitting
US9733915B2 (en) 2015-07-02 2017-08-15 Microsoft Technology Licensing, Llc Building of compound application chain applications
US10261985B2 (en) 2015-07-02 2019-04-16 Microsoft Technology Licensing, Llc Output rendering in dynamic redefining application
US9712472B2 (en) 2015-07-02 2017-07-18 Microsoft Technology Licensing, Llc Application spawning responsive to communication
US9785484B2 (en) 2015-07-02 2017-10-10 Microsoft Technology Licensing, Llc Distributed application interfacing across different hardware
US9658836B2 (en) 2015-07-02 2017-05-23 Microsoft Technology Licensing, Llc Automated generation of transformation chain compatible class
US9860145B2 (en) 2015-07-02 2018-01-02 Microsoft Technology Licensing, Llc Recording of inter-application data flow
US10198405B2 (en) 2015-07-08 2019-02-05 Microsoft Technology Licensing, Llc Rule-based layout of changing information
US10031724B2 (en) 2015-07-08 2018-07-24 Microsoft Technology Licensing, Llc Application operation responsive to object spatial status
US10397284B2 (en) * 2015-07-29 2019-08-27 Google Llc Systems and methods for automatic reconnect of calls
US10277582B2 (en) 2015-08-27 2019-04-30 Microsoft Technology Licensing, Llc Application service architecture
US10749964B2 (en) * 2015-12-17 2020-08-18 Twilio Inc. System and method for contextual communication
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US9948729B1 (en) 2016-10-15 2018-04-17 International Business Machines Corporation Browsing session transfer using QR codes
US10754685B2 (en) * 2017-03-03 2020-08-25 Microsoft Technology Licensing Llc Cross-device task registration and resumption
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10574644B2 (en) 2017-05-03 2020-02-25 International Business Machines Corporation Stateful session manager
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
WO2020243691A1 (fr) 2019-05-31 2020-12-03 Apple Inc. Interfaces utilisateurs pour une commande média audio
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02287858A (ja) * 1989-04-28 1990-11-27 Toshiba Corp 分散処理システムのリスタート方式
JP3401587B2 (ja) 1995-11-15 2003-04-28 富士通株式会社 仮想近接サービス制御システム
US5819021A (en) * 1995-12-11 1998-10-06 Ab Initio Software Corporation Overpartitioning system and method for increasing checkpoints in component-based parallel applications
DE19617976A1 (de) * 1996-05-06 1997-11-13 Philips Patentverwaltung Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
JP4297568B2 (ja) 1999-09-02 2009-07-15 富士通株式会社 無線通信制御装置および移動無線通信システム
US8060389B2 (en) 2000-06-07 2011-11-15 Apple Inc. System and method for anonymous location based services
US7995533B1 (en) 2000-07-14 2011-08-09 Spyder Navigations L.L.C. System and method for efficient state transfer in mobile networks
US7035546B2 (en) 2000-09-20 2006-04-25 Texas Instruments Incorporated Optical wireless multiport hub
US7529653B2 (en) * 2001-11-09 2009-05-05 Sun Microsystems, Inc. Message packet logging in a distributed simulation system
US7516891B2 (en) 2002-02-20 2009-04-14 David Chaum Ballot integrity systems
US20040055004A1 (en) 2002-04-30 2004-03-18 Xian-He Sun Method for efficient process state transfer between two computers using data transfer mechanisms embedded to the migration-enabled process
JP2003345764A (ja) 2002-05-27 2003-12-05 Hitachi Ltd 備忘録端末及び備忘録管理方法
US8495678B2 (en) * 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US9138644B2 (en) * 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US6862446B2 (en) 2003-01-31 2005-03-01 Flarion Technologies, Inc. Methods and apparatus for the utilization of core based nodes for state transfer
US20050058112A1 (en) 2003-09-15 2005-03-17 Sony Corporation Method of and apparatus for adaptively managing connectivity for mobile devices through available interfaces
US7775432B2 (en) 2003-10-16 2010-08-17 Nokia Corporation Terminal, method and computer program product for interacting with a signaling tag
EP1545069A1 (fr) 2003-12-19 2005-06-22 Sony International (Europe) GmbH Système de téléinterrogation et -commande
US8639819B2 (en) 2004-02-05 2014-01-28 Nokia Corporation Ad-hoc connection between electronic devices
US7379975B2 (en) 2004-04-16 2008-05-27 Nokia Corporation Electric device, computer program, system and method of setting up user applications
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
US7957733B2 (en) * 2004-07-16 2011-06-07 Sellerbid, Inc. Method and apparatus for multimedia communications with different user terminals
WO2006011493A1 (fr) 2004-07-30 2006-02-02 Sharp Kabushiki Kaisha Système de contrôle de réseau de communication
EP3154206A1 (fr) * 2004-10-29 2017-04-12 Sony Deutschland Gmbh Procédé pour faire fonctionner un système de communication en champ proche
US20060179079A1 (en) 2005-02-09 2006-08-10 Mikko Kolehmainen System, method and apparatus for data transfer between computing hosts
US9398137B2 (en) 2005-04-19 2016-07-19 Nokia Technologies Oy Method, device and system for controlling application launching in a mobile terminal device
US7516361B2 (en) * 2005-06-27 2009-04-07 Sun Microsystems, Inc. Method for automatic checkpoint of system and application software
US7471200B2 (en) 2005-06-30 2008-12-30 Nokia Corporation RFID optimized capability negotiation
US7970017B2 (en) 2005-07-13 2011-06-28 At&T Intellectual Property I, L.P. Peer-to-peer synchronization of data between devices
EP2017729B1 (fr) 2005-08-23 2018-08-08 BlackBerry Limited Procédé et système pour le transfert d'un état d'application d'un premier dispositif électronique vers un deuxième dispositif électronique
US7664786B2 (en) 2005-12-12 2010-02-16 Electronics And Telecommunications Research Institute Apparatus and method for managing application context
US20090132362A1 (en) 2007-11-21 2009-05-21 Mobile Candy Dish, Inc. Method and system for delivering information to a mobile communication device based on consumer transactions
KR100716181B1 (ko) 2006-01-11 2007-05-10 삼성전자주식회사 휴대 인터넷 시스템 및 그 시스템에서 단말의 핸드오프방법
EP1814295B1 (fr) 2006-01-27 2014-04-16 Mitel Networks Corporation Transfert de communication entre appareils de téléphone
WO2007107982A1 (fr) 2006-03-17 2007-09-27 Sandisk Il Ltd Transfert de sessions entre terminaux
US7729489B2 (en) * 2006-04-12 2010-06-01 Cisco Technology, Inc. Transferring a communications exchange
US8166176B2 (en) 2006-05-31 2012-04-24 Alcatel Lucent Context-aware migration of communication session
US8660604B2 (en) 2006-06-21 2014-02-25 Broadcom Corporation Method and system for a transceiver for bluetooth and near field communication (NFC)
US7983614B2 (en) 2006-09-29 2011-07-19 Sony Ericsson Mobile Communications Ab Handover for audio and video playback devices
JP2008283561A (ja) 2007-05-11 2008-11-20 Sony Corp 通信システム、映像信号伝送方法、送信装置、送信方法、受信装置および受信方法
JP5251002B2 (ja) * 2007-05-25 2013-07-31 富士通株式会社 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
US8165087B2 (en) * 2007-06-30 2012-04-24 Microsoft Corporation Location context service handoff
KR20100075896A (ko) * 2007-09-27 2010-07-05 인사이드 컨택트리스 Nfc 시스템 내에서 애플리케이션 데이터를 관리하는 방법 및 장치
US7970350B2 (en) 2007-10-31 2011-06-28 Motorola Mobility, Inc. Devices and methods for content sharing
US8358623B2 (en) 2007-11-06 2013-01-22 Airvana Network Solutions, Inc. Active handoffs in a network
US9246924B2 (en) 2007-12-13 2016-01-26 Sonim Technologies, Inc. Method for sharing service identity among multiple client devices in a real-time communications network
US20090204966A1 (en) 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device
JP4506856B2 (ja) * 2008-03-10 2010-07-21 ソニー株式会社 通信装置、及び通信方法
JP4586873B2 (ja) 2008-03-28 2010-11-24 セイコーエプソン株式会社 ソケット管理装置及び方法
US8077157B2 (en) * 2008-03-31 2011-12-13 Intel Corporation Device, system, and method of wireless transfer of files
EP2128830A1 (fr) * 2008-05-30 2009-12-02 Gemplus Procédé et dispositif électronique pour transférer des données d'application depuis un dispositif électronique source vers un dispositif électronique de destination
US9626363B2 (en) * 2008-06-08 2017-04-18 Apple Inc. System and method for placeshifting media playback
US8401681B2 (en) * 2008-06-08 2013-03-19 Apple Inc. System and method for placeshifting media playback
US20100082445A1 (en) 2008-09-30 2010-04-01 Apple Inc. Smart menu options
US8200771B2 (en) 2008-10-10 2012-06-12 International Business Machines Corporation Workload migration using on demand remote paging
US8056113B2 (en) * 2009-02-05 2011-11-08 Sony Corporation Mobile consumer electronic applications on internet video platform
US20110314124A1 (en) 2009-03-25 2011-12-22 Roger Brian Gimson Capturing an application state
US8542186B2 (en) * 2009-05-22 2013-09-24 Motorola Mobility Llc Mobile device with user interaction capability and method of operating same
US9055105B2 (en) * 2009-05-29 2015-06-09 Nokia Technologies Oy Method and apparatus for engaging in a service or activity using an ad-hoc mesh network
US8570281B2 (en) * 2009-06-25 2013-10-29 Ncr Corporation Method and apparatus for multi-touch surface interaction for a financial application within a bank branch
US8438256B2 (en) 2009-06-26 2013-05-07 Vmware, Inc. Migrating functionality in virtualized mobile devices
US8060560B2 (en) * 2009-08-27 2011-11-15 Net Power And Light, Inc. System and method for pervasive computing
US8412185B2 (en) 2009-09-14 2013-04-02 Nokia Corporation Method and apparatus for switching devices using near field communication
JP4738520B2 (ja) * 2009-09-18 2011-08-03 株式会社東芝 電子機器および通信制御方法
US8754856B2 (en) * 2009-09-30 2014-06-17 Ncr Corporation Multi-touch surface interaction
US20110183614A1 (en) 2010-01-25 2011-07-28 Kabushiki Kaisha Toshiba Communication terminal
US8494439B2 (en) 2010-05-04 2013-07-23 Robert Bosch Gmbh Application state and activity transfer between devices
US8606948B2 (en) * 2010-09-24 2013-12-10 Amazon Technologies, Inc. Cloud-based device interaction
WO2012044558A2 (fr) * 2010-10-01 2012-04-05 Imerj, Llc Cadre d'applications de communication inter-environnements
US8713362B2 (en) * 2010-12-01 2014-04-29 International Business Machines Corporation Obviation of recovery of data store consistency for application I/O errors
US8224894B1 (en) * 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US8171137B1 (en) * 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US8812601B2 (en) * 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints

Also Published As

Publication number Publication date
NL2008779C2 (en) 2013-03-18
NL2008779A (en) 2012-11-13
GB201208207D0 (en) 2012-06-20
DE102012207698A1 (de) 2012-11-22
US20120290663A1 (en) 2012-11-15
AU2012100569A4 (en) 2012-06-07
GB2492867A (en) 2013-01-16
EP2523110A1 (fr) 2012-11-14
FR2975801B1 (fr) 2018-03-09
US8812601B2 (en) 2014-08-19
EP2523110B1 (fr) 2019-08-21
WO2012154746A1 (fr) 2012-11-15
DE202012004620U1 (de) 2012-10-17

Similar Documents

Publication Publication Date Title
FR2975801A1 (fr) Transfert d'etat entre dispositifs a points de controle
FR2975802A1 (fr) Transfert d'etat d'application entre dispositifs
FR2975800A1 (fr) Partage automatique de contexte d'applications entre des dispositifs
US9478195B2 (en) Transferring state information between electronic devices
US10257291B1 (en) Event-based content sharing using geofencing
US10623517B2 (en) Content prefetching and cache management
US11553316B2 (en) Method and apparatus for storing and sending a computer location
US20230164289A1 (en) Method and apparatus for storing and sending a computer location
FR3065606A1 (fr) Procedes pour le partage de donnees de localisation entre un dispositif source et un dispositif destinataire, serveur, dispositifs source et destinataire et programme d'ordinateur correspondants.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

PLSC Publication of the preliminary search report

Effective date: 20170331

PLFP Fee payment

Year of fee payment: 6

CD Change of name or company name

Owner name: GOOGLE INC., US

Effective date: 20180213

CJ Change in legal form

Effective date: 20180213

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

ST Notification of lapse

Effective date: 20240105