The disclosed embodiments relate generally to wireless communication and more particularly to transferring use of one or more applications between two devices through wireless communication connections.
A user with multiple devices, such as one or more smart phones, tablets, laptop computers or the like, may want to switch from using one device to another while continuing to work with or access the same application or content. For example, the user may want to transfer from one device to another in order to use the device best suited for a given task. For example, it is easy to read email from a smart phone but difficult to reply due to the size limitations on the phone keyboard. A user may start a draft of a message on a phone, but prefer to finish the draft using a tablet, which has a larger keyboard. In another example, a user starts playback of a video using a tablet or smart phone, but would prefer to continuing viewing the video on a device with a larger screen such as a television or laptop computer. In yet another example, a user may start a phone call using a landline telephone but want to continue the phone call using a mobile phone using a cellular connection, or vice versa.
In some embodiments, a first client device or system performs a method that includes retaining in memory registration information for a respective application indicating the respective application is registered for sharing application state with other client devices or systems. The method further includes storing an application state of a respective application, and detecting a transfer triggering condition. The transfer triggering condition includes presence of a second client device or system within a predefined proximity of the first client device or system, and the predefined proximity is a predefined proximity for near field communication. Furthermore, upon detecting the triggering condition, the first client device or system determines, in accordance with the stored registration information, that the respective application is registered for application state sharing, and transmits the application state of the respective application to the second client device or system.
In some embodiments, a non-transitory computer readable storage medium stores one or more programs for execution by one or more processors of a client device or system, the one or more programs comprising instructions that, when executed by the one or more processors, cause the first client device or system to perform the above described method.
In some embodiments, a distributed system comprising a first client device or system under control of a respective user and a second client device or system perform a method that includes the first client device or system executing first application. The method further includes the first client device or system performing a handoff operation that comprises transmitting application information, associated with the first application, to the second device or system when the first client device or system is positioned within a predefined proximity of the second client device or system. The first application has a first client device user interface state when the handoff operation is performed. In response to receiving the application information from the first client device or system, the second client device or system executes a second application corresponding to the first application with an initial user interface state corresponding to the first client device user interface state.
In some embodiments, a distributed system comprising a first client device or system under control of a respective user and a second client device or system perform a method that includes the first client device or system executing first application. The method further includes the first client device or system performing a handoff operation that comprises transmitting application information, associated with the first application, to the second device or system when the first client device or system is positioned within a predefined proximity of the second client device or system. The first application has a first client device user interface state when the handoff operation is performed. Furthermore, the first client device or system receives from another client device or system application information associated with a third application, and in response, executes a second application corresponding to the third application with an initial user interface state corresponding to a user interface state of the other client device or system.
In some embodiments, a non-transitory computer readable storage medium stores one or more programs for execution by one or more processors of a client device or system, the one or more programs comprising instructions that, when executed by the one or more processors, cause the client device or system to perform the above described method.
Furthermore, in some embodiments, a plurality of client devices store the same one or more programs, or operationally equivalent programs, and are configured to either transmit application information, or receive application information, in a respective handoff operation.
For a better understanding of the disclosed embodiments, reference should be made to the Description of Embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
It will be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first application could be termed a second application, and, similarly, a second application could be termed a first application, without changing the meaning of the description, so long as all occurrences of the “first application” are renamed consistently and all occurrences of the second application are renamed consistently. The first application and the second application are both application, but they are not the same application.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the claims. As used in the description of the embodiments and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true]” or “if [a stated condition precedent is true]” or “when [a stated condition precedent is true]” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
Reference will now be made in detail to various embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the described embodiments. However, some embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
In some embodiments, each of the clients 102-1 and 102-2 has a near field communication (NFC) module 104 for handling NFC communications, a network module 106 for handling network communications, an application transfer module 108 discussed in more detail below, and one or more application programs 110, 112, 114. NFC modules 104-1 and 104-2 enable NFC communication between NFC-enabled devices. In some embodiments, the applications on a client 102 include one or more messaging applications 110, one or more multimedia applications 112 and optionally other applications 114 as well. As described in more detail below, in some implementations, when a user brings two clients 102 into close proximity (e.g., within NFC communication distance of each other, which typically means within 10 cm of each other, but optionally means within 5 cm or 4 cm), the application state of one or more applications (e.g., the active or foreground application) on one of the clients (e.g., client 102-1) is transferred to the other client (e.g., client 102-2).
Messaging server 130 includes one or more messaging server applications 131, a messaging database 133 that stores messaging account information 135 for multiple users of a messaging service supported by server 130, and optionally other databases 137 as well. For example, messaging server 130 may be a Gmail server, an email server other than a Gmail server, or an instant messaging server. Multimedia server 140 includes one or more multimedia server applications 141, one or more multimedia databases 143, including multimedia account information 145, and optionally other databases 147 as well. Examples of multimedia server 140 include a YouTube server, online radio servers, and social gaming servers.
In some implements, a user reading an email message using a client-side messaging application 110-1 (e.g., Gmail) on his mobile cell phone (client 102-1) may instead want to reply to the message on a nearby desktop computer (client 102-2) that has a larger keyboard and a bigger display screen. To do this, the user brings his mobile cell phone 102-1 into close proximity with computer 102-2. Both clients 102 have NFC modules 104. NFC module 104-1 in client 102-1 detects the presence of computer 104-2, and a NFC communication connection is established between mobile phone 102-1 and computer 102-2. The current state of messaging application 110-1, in this example comprising the user's account identifier (e.g., username@domainname.com) and message identifier is transmitted over the NFC connection to computer 102-2. Optionally, messaging application 110-1 in client 102-1 also communicates with messaging server 130 over communications networks 120 to ensure that server 130 has the most recent status with respect to the message currently displayed by client 102-1. Computer 102-2 receives the current state of messaging application 102-1 from the phone 102-1, and in response, messaging application 110-2 in computer 102-2 downloads a copy of the email message from messaging server 130 via communication networks 120. From the user's point of view, as soon as he sits down in front of the display of computer 102-2, the same email message he was reading on phone 102-1 is now displayed on the display screen of computer 102-2 and he can start typing his reply using the keyboard of computer 102-2.
In some implementations, near field communications module 104 includes an NFC detection module 220 and an NFC communication module 222. NFC detection module 220 detects the presence of another NFC-enabled device or system within a predefined proximity and notifies client 102 upon detecting the presence of another NFC-enabled device or system within the predefined proximity. The predefined proximity is typically the proximity required to successfully establish an NFC communication channel (also called an NFC connection) between two devices, or to successfully conduct NFC communications. While environmental conditions can affect the ability to form an NFC connection, the predefined proximity is typically no greater than 10 cm, and in some implementations requires the two devices to be within 5 cm or 4 cm of each other. NFC communication module 222 handles communications between client 102 and other device via NFC transceiver 206, such as the transmission or receipt of application state, or application state information, for one or more applications.
In some implementations, application registration information 214 includes, for each registered application one or more of: an application program identifier, a mime type, and information (e.g., a procedure name, reference to an API, or the like) that enables application transfer application to obtain the application state of the registered application. Optionally, application registration information 214 is maintained by client 102 as a searchable database, table or list.
In some implementations, a respective application program stores its own application state information during execution, and thus the application state is updated from time to time. Depending on the type of the applications running, the information type and the size of the application state (e.g., the amount of memory required to store the application state) may be different from one application to another, and may be stored either locally (i.e., on client 102) or remotely, such as on a remotely located server.
In some embodiments, messaging application 110 locally stores messaging application state information 224, as well as a user identifier or account name 226. The user identifier or account name 226 indicates the user or account for which messages or other information is being displayed by messaging application 110. Depending on the current application context of messaging application 110, messaging application state information 224 includes at least one of: the identifier of a message and the format of the message currently viewed or worked on by the user, information identifying a list of messages currently displayed by client 102, information identifying a list of conversations (sometimes called message threads) currently displayed by client 102, information identifying a contact for which contract information is currently displayed by client, etc. Messaging application state information 248 may be saved either locally at client 102, or remotely on a messaging server.
In some embodiments, browser or multimedia application 112 locally stores browser application state information 228. In some implementations, browser application state information 228 is or includes the URL of a document currently being viewed, and is saved locally at client 102. Optionally, browser application state information 228 is or includes additional information, such as one or more of: document position, playback position, user entered content or modifications to the displayed document, etc.
Optionally, other applications 114, if provided, store application state information 230 of various types, depending on the type of application.
Each of the above-identified modules, applications or programs corresponds to a set of instructions, executable by the one or more processors of client 102, for performing a function described above. The above identified modules, applications or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 203 optionally stores a subset of the modules and data structures identified above. Furthermore, memory 203 may stores additional modules and data structures not described above.
A transfer triggering condition for transferring application state of the respective application to another device client (e.g., from first client 102-1 to second client 102-2,
In some implementations, the triggering condition further includes successfully establishing a near field communication connection between first client 102-1 and second client 102-2 (310). Optionally, first client 102-1 may need to transmit user authentication information to successfully establish the near field communication connection with second client 102-2.
Upon detecting the triggering condition, client 102-1 determines, in accordance with the stored registration information (214,
Optionally, the respective application (at client 102-1) is notified that the application state has been transmitted to client 102-2 upon completion of the transmission (316). In some embodiments, client 102-1 may optionally change the application state of the respective application in response to the notification (e.g., at the end of the transmission of the application state) (318). For example, in the case where the respective application is a browser application, the browser application may terminate after receiving notification that the application state has been transmitted. In another example, where the respective application is an email application, after receiving notification of that the application state has been transmitted to another client, the draft message or the message being reviewed is closed, because it is assumed that the user will resume use of the email application at client 102-2. In yet another example, where the respective application is a multimedia player, playback of a video/audio by first client 102-1 is stopped after the multimedia player state is sent and notification thereof is provided to the multimedia player.
In some implementations, the respective application is a foreground application, executing in a foreground application window of client 102-1 (322,
Optionally, when the application state of the respective application is stored remotely (e.g., for an online application), a copy of the application state from the respective application is requested from a respective server and downloaded to first client 102-1, which then transfers it to second client 102-1. Alternatively, when the application state of the respective application is stored remotely (e.g., for an online application), a copy of the application state from the respective application is requested by second client 102-2 from a respective server and is downloaded directly second client 102-2.
In some embodiments, at least a portion of the application state is transmitted to second client 102-2 using near field communication (336). Furthermore, in some implementations, at least another portion of the application state is transmitted using wireless communication other than near field communication, such as Bluetooth communication or WiFi communication (338). In an exemplary implementation, in which transmitting the application state would exceed a threshold amount of time (e.g., 0.5 seconds), a portion of the application state is transferred by NFC and a remaining portion is transferred using another wireless communication channel. In yet other implementations, the application state is entirely transmitted using a near field communication connection between the first client device or system and the second device or system (340).
Method 300 is typically governed by instructions that are stored in a non-transitory computer readable storage medium in a respective client 102-1 and that are executed by one or more processors of a respective client device or system 102. Each of the operations shown in
Additionally, it should be noted that details of other processes described herein with respect to methods 400, 500 and 600 (e.g.,
Attention is now directed to a method 400 of transitioning use of an application by a user from one client device (e.g., first client 102-1) to another (e.g., second client 102-2), as illustrated by the flow chart in
While the first application is running, client 102-1 performs a handoff operation (406). In some embodiments, the handoff operation is performed by or under the control of application transfer module 108 (
In some implementations, as part of the handoff operation (406), client 102-1 requests from the actively running application (first application) a copy of its current application state (418). Alternatively, application transfer module 108 directly accesses state information for the actively running application. Client 102-1 transmits application information (e.g., the aforementioned state information) associated with the first application to client 102-2 (420).
At second client 102-2, registration information of applications registered to share application information with other devices or systems is optionally retained (412). Second client 102-2 also detects proximity of the first client 1021, when the two devices are within a predefined proximity (422). As part of the handoff operation described above, second client 102-2 receives the application information from client 102-1 (424). In response to receiving application information from first client 102-1, second client 102-2 executes a second application corresponding to the first application with an initial user interface state corresponding to the first client device user interface state (426). In some embodiments, second client 102-2 is under control of the same user who controls first client 102-1. Unless otherwise stated, however, the handoff operation 406 is performed whether the first and second clients are under control of the same user or not.
In some embodiments, the handoff operation occurs when the second device or system is physically touched by the first device or system. For example, an accelerometer can be used in one or both devices to detect the touch/bump, which is used to ensure that the handoff is in response to an intentional act, and thus avoid accidental handoffs.
Referring now to
In some embodiments, if the second application corresponding to the first application is not already executing as a foreground application in second client 102-2, in response to receiving application information from first client 102-1, second client 102-2 executes the second application corresponding to the first application as the foreground application (440). In some embodiments where the second application is not actively running when the handoff operation is performed, second client 102-2 automatically starts executing the second application within a predefined time period (442). For example, the predefined time period is 0.5 seconds such that the starting of the second application is not noticeable to the user.
In some implementations, the first application and second application are instances of two distinct applications of a same application type (450). In other implementations, the first application and second application are two instances of a same application (452). In yet other implementations, the first application and second application are applications that both handle the same content type(s) (e.g., MIME type or types), but are optionally different types of applications (e.g., a reader/player vs. an editor).
In one example, the first application and second application are both email applications (454) (e.g., two distinct email applications, or two instances of the same email application). Note, when both applications of email applications, it is typically required that both clients 102 are under control of the same user or entity to protect the confidential information that may be contained in the email account of the user or entity.
In another example, the first application and second application are both multimedia players (456). In yet another example, the first application and second application are communication applications for audio or audio/visual communication (458).
In some embodiments for cases where the first application and second application are both email applications, the first client device user interface state comprises display of a particular message or conversation thread, and the initial user interface state corresponding to the first client device user interface state comprises display of said particular message or conversation thread. In another example, the first client device user interface state comprises display of an unsent draft message, and the initial user interface state corresponding to the first client device user interface state comprises display of said unsent draft message. In yet another example, the first client device user interface state comprises display of a first list of conversations corresponding to a user-specified search query, and the initial user interface state corresponding to the first client device user interface state comprises display of a second list of conversations corresponding to the user-specified search query. In some implementations, the first and second lists are either the same, or one is shorter than the other when one of the client devices has a smaller display than the other client device.
In some embodiments for cases where the first application and second application are both multimedia applications, the first client device user interface state comprises playback of a first multimedia item at a first playback position and the initial user interface state corresponding to the first client device user interface state comprises playback of the first multimedia item at a second playback position corresponding to the first playback position. In some embodiments, the second playback position has a predefined offset with respect to the first playback position. For example, the initial user interface state at the second client device may be earlier in the playback than the first client device user interface state by a predefined offset (e.g., 0.5 to 3.0 seconds earlier), in order to ensure that the handoff does not cause the user to miss any content.
In some embodiments, for cases where the first application and second application are both communication applications for audio or audio/visual communication, the initial user interface state of the second client corresponds to a communication connection by the second client to a same destination as a communication connection by the first client when the handoff operation is performed.
In some embodiments, the application content that is transmitted as part of the application state is selected from the group consisting of a URL, contact information for a respective address book entry, information identifying a displayed map, information identifying a displayed map and set of directions for traveling between two locations. For example, second client 102-2, in response to receiving the application state from the first client 102-1, uses the mime type included in the received application state to determine whether the second client has a second application corresponding to the first application. If it is determined that it does not have the second application with a matching mime type, second client 102-2 displays a prompt to download a respective second application corresponding to the mime type, downloads the respective second application in response to user instruction, and executes the second application.
Referring to
The second handoff operation, like the one described above, is typically performed in response to detecting a triggering operation. Triggering conditions are described above, and therefore that description is not repeated here. In this second handoff operation, first client 102-1 receives from another client device of system application information (e.g., state information) for a third application (472). For example, the received application information includes a mime type and application content and/or state information. Such information is described above, and thus is not repeated here. Typically, the received application information is stored by first client 102-1 and passed to a respective application (e.g., a fourth application) corresponding to the third application (474). In some implementations, the respective application to be used is determined in accordance with the mime type specified in the received application information. The respective application (e.g., fourth application) corresponding to the third application is executed by the first client device, with an initial user interface corresponding to the user interface at the other client device or system from which the application information was received (476).
Method 400 is typically be governed by instructions that are stored in a non-transitory computer readable storage medium in a respective client 102-1 and that are executed by one or more processors of a respective client device or system 102. Each of the operations shown in
Additionally, it should be noted that details of other processes described herein with respect to methods 300, 500 and 600 (e.g.,
The stored application state of the plurality of actively running applications is transmitted to client 102-2 (512). In some embodiments, each of the actively running applications is notified that the application state has been transmitted to the second client device (514).
Referring to
Referring to
In some embodiments, to minimize the delay of transferring the application state from first client 102-1 to second client 102-2, the transfer triggering condition comprises detecting the NFC field of the second device without forming a NFC connection. In some embodiments, first client 102-1 establishes a NFC connection with second client 102-2 either after having suspended the plurality of actively running applications, or while in the process of suspending execution of the plurality of actively running applications.
In some implementations, first client 102-1 transmits user authentication information as part of the application state transmitted to second client 102-2 (532).
As described above, in some embodiments, at least a portion of the application state is transmitted to second client 102-2 using near field communication (336). Furthermore, in some implementations, at least another portion of the application state is transmitted using wireless communication other than near field communication, such as Bluetooth communication or WiFi communication (338). In yet other implementations, the application state is entirely transmitted using a near field communication connection between the first client device or system and the second device or system (340).
Method 500 is typically be governed by instructions that are stored in a non-transitory computer readable storage medium in a respective client 102-1 and that are executed by one or more processors of a respective client device or system 102. Each of the operations shown in
Additionally, it should be noted that details of other processes described herein with respect to methods 300, 400 and 600 (e.g.,
Method 600 is typically be governed by instructions that are stored in a non-transitory computer readable storage medium in a respective client 102-1 and that are executed by one or more processors of a respective client device or system 102. Each of the operations shown in
Additionally, it should be noted that details of other processes described herein with respect to methods 300, 400 and 500 (e.g.,
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
This application is a continuation of U.S. application Ser. No. 13/461,647, filed May 1, 2012, which is a continuation of U.S. application Ser. No. 13/247,755, filed Sep. 28, 2011, now U.S. Pat. No. 8,171,137, which claims priority to U.S. Provisional Patent Application No. 61/484,187, filed May 9, 2011, entitled “Transferring Application State Across Devices,” each of which are incorporated by reference herein in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
5301309 | Sugano | Apr 1994 | A |
5819021 | Stanfill et al. | Oct 1998 | A |
6363411 | Dugan | Mar 2002 | B1 |
6462757 | Obata et al. | Oct 2002 | B1 |
6462767 | Obata et al. | Oct 2002 | B1 |
6634025 | Hauptmann et al. | Oct 2003 | B1 |
6816904 | Ludwig | Nov 2004 | B1 |
7089007 | Wakuta et al. | Aug 2006 | B2 |
7464137 | Zhu | Dec 2008 | B2 |
7516891 | Chaum | Apr 2009 | B2 |
7529653 | Frankel et al. | May 2009 | B2 |
7775432 | Jalkanen et al. | Aug 2010 | B2 |
7821399 | Otranen | Oct 2010 | B2 |
7957518 | Erb | Jun 2011 | B2 |
7957733 | Wang et al. | Jun 2011 | B2 |
7962142 | O'Neill et al. | Jun 2011 | B2 |
7970350 | Sheynman et al. | Jun 2011 | B2 |
7995533 | Koodi et al. | Aug 2011 | B1 |
8056113 | Balasubramanian et al. | Nov 2011 | B2 |
8060389 | Johnson | Nov 2011 | B2 |
8060560 | Vonog et al. | Nov 2011 | B2 |
8082327 | Schlusser | Dec 2011 | B2 |
8112066 | Ayed | Feb 2012 | B2 |
8126395 | Tasala et al. | Feb 2012 | B2 |
8171137 | Parks | May 2012 | B1 |
8187100 | Kahn | May 2012 | B1 |
8214686 | Ueda | Jul 2012 | B2 |
8224894 | Parks et al. | Jul 2012 | B1 |
8244917 | Takayama et al. | Aug 2012 | B2 |
8308065 | Jalkanen et al. | Nov 2012 | B2 |
8358596 | Byrne et al. | Jan 2013 | B2 |
8366000 | Jalkanen et al. | Feb 2013 | B2 |
8386563 | Parks et al. | Feb 2013 | B2 |
8478816 | Parks | Jul 2013 | B2 |
8700772 | Saint Clair | Apr 2014 | B2 |
8832681 | Cantrell | Sep 2014 | B1 |
9032465 | Perlman | May 2015 | B2 |
9084936 | Perlman | Jul 2015 | B2 |
9100064 | Griffin et al. | Aug 2015 | B2 |
9108107 | Perlman | Aug 2015 | B2 |
9125180 | Hamilton et al. | Sep 2015 | B1 |
9184800 | Hamilton | Nov 2015 | B2 |
9192859 | Perlman | Nov 2015 | B2 |
9237189 | Parks | Jan 2016 | B2 |
9258693 | Stouder-Studenmund | Feb 2016 | B2 |
9314691 | Perlman | Apr 2016 | B2 |
9352222 | Perlman | May 2016 | B2 |
9526120 | Pelly et al. | Dec 2016 | B2 |
20020033981 | Keller et al. | Mar 2002 | A1 |
20030220937 | Maeoka et al. | Nov 2003 | A1 |
20040055004 | Sun et al. | Mar 2004 | A1 |
20050058112 | Lahey et al. | Mar 2005 | A1 |
20050235029 | Hussmann | Oct 2005 | A1 |
20060094356 | Dawidowsky | May 2006 | A1 |
20060179079 | Kolehmainen | Aug 2006 | A1 |
20060294435 | Vick et al. | Dec 2006 | A1 |
20070014314 | O'Neil | Jan 2007 | A1 |
20070043574 | Coffman | Feb 2007 | A1 |
20070115827 | Boehnke et al. | May 2007 | A1 |
20070136392 | Oh et al. | Jun 2007 | A1 |
20070160047 | Park et al. | Jul 2007 | A1 |
20070263828 | Lee et al. | Nov 2007 | A1 |
20070282990 | Kumar et al. | Dec 2007 | A1 |
20070297356 | Rofougaran | Dec 2007 | A1 |
20080081558 | Dunko et al. | Apr 2008 | A1 |
20080139116 | Balgard et al. | Jun 2008 | A1 |
20080278567 | Nakajima | Nov 2008 | A1 |
20080294937 | Ueda | Nov 2008 | A1 |
20080310611 | Moriwaki et al. | Dec 2008 | A1 |
20090003281 | Panabaker | Jan 2009 | A1 |
20090111378 | Sheynman et al. | Apr 2009 | A1 |
20090116445 | Samar et al. | May 2009 | A1 |
20090118018 | Perlman et al. | May 2009 | A1 |
20090132362 | Fisher et al. | May 2009 | A1 |
20090157799 | Sukumaran et al. | Jun 2009 | A1 |
20090204966 | Johnson et al. | Aug 2009 | A1 |
20090244015 | Sengupta et al. | Oct 2009 | A1 |
20090248875 | Kamijima et al. | Oct 2009 | A1 |
20100031168 | Loriedo et al. | Feb 2010 | A1 |
20100081385 | Lin et al. | Apr 2010 | A1 |
20100082136 | Rosenblatt et al. | Apr 2010 | A1 |
20100082445 | Hodge et al. | Apr 2010 | A1 |
20100082567 | Rosenblatt et al. | Apr 2010 | A1 |
20100094948 | Ganesh et al. | Apr 2010 | A1 |
20100166064 | Perlman | Jul 2010 | A1 |
20100167809 | Perlman et al. | Jul 2010 | A1 |
20100178868 | Charrat | Jul 2010 | A1 |
20100328225 | Black | Dec 2010 | A1 |
20100332635 | Rogel et al. | Dec 2010 | A1 |
20110047598 | Lindley et al. | Feb 2011 | A1 |
20110065384 | Cader et al. | Mar 2011 | A1 |
20110072501 | Fukui | Mar 2011 | A1 |
20110074703 | Black | Mar 2011 | A1 |
20110078245 | Kiffer | Mar 2011 | A1 |
20110119628 | Carter et al. | May 2011 | A1 |
20110148752 | Alameh et al. | Jun 2011 | A1 |
20110183614 | Tamura | Jul 2011 | A1 |
20110205944 | Miyabayashi et al. | Aug 2011 | A1 |
20110210830 | Talty et al. | Sep 2011 | A1 |
20110223937 | Leppanen et al. | Sep 2011 | A1 |
20110275316 | Bacioccola | Nov 2011 | A1 |
20110276503 | Whittington | Nov 2011 | A1 |
20110312303 | Brush et al. | Dec 2011 | A1 |
20120028578 | Tuikka | Feb 2012 | A1 |
20120079126 | Evans et al. | Mar 2012 | A1 |
20120142433 | Perlman et al. | Jun 2012 | A1 |
20120143944 | Reeves et al. | Jun 2012 | A1 |
20120144233 | Griffith et al. | Jun 2012 | A1 |
20120149476 | Griffith et al. | Jun 2012 | A1 |
20120214413 | Rose et al. | Aug 2012 | A1 |
20120290657 | Parks et al. | Nov 2012 | A1 |
20120290663 | Hsieh et al. | Nov 2012 | A1 |
20120290669 | Parks et al. | Nov 2012 | A1 |
20120329390 | Kim | Dec 2012 | A1 |
20130046976 | Rosati et al. | Feb 2013 | A1 |
20130165045 | Cao | Jun 2013 | A1 |
20130174237 | Zises | Jul 2013 | A1 |
20130214995 | Lewin et al. | Aug 2013 | A1 |
20130219303 | Eriksson et al. | Aug 2013 | A1 |
20130254346 | McGowan | Sep 2013 | A1 |
20130324169 | Kamal et al. | Dec 2013 | A1 |
20130325949 | Virani et al. | Dec 2013 | A1 |
20130325967 | Parks et al. | Dec 2013 | A1 |
20130344804 | Chen et al. | Dec 2013 | A1 |
20140004793 | Bandyopadhyay et al. | Jan 2014 | A1 |
20140017996 | Hamilton et al. | Jan 2014 | A1 |
20140073300 | Leeder et al. | Mar 2014 | A1 |
20140087654 | Kiveisha et al. | Mar 2014 | A1 |
20140198024 | Adzhigirey et al. | Jul 2014 | A1 |
20140254575 | Venkatraman et al. | Sep 2014 | A1 |
20140256254 | Sarda et al. | Sep 2014 | A1 |
20140280440 | Pelly et al. | Sep 2014 | A1 |
20150237584 | Royston | Aug 2015 | A1 |
20150296546 | Hamilton et al. | Oct 2015 | A1 |
Number | Date | Country |
---|---|---|
1945535 | Apr 2007 | CN |
101379716 | Mar 2009 | CN |
1760584 | Mar 2007 | EP |
2432277 | Mar 2012 | EP |
2483771 | Aug 2012 | EP |
2557764 | Feb 2013 | EP |
2003022189 | Jan 2003 | JP |
2003242106 | Aug 2003 | JP |
2004054633 | Feb 2004 | JP |
2006172440 | Jun 2006 | JP |
2010205111 | Sep 2010 | JP |
2005076542 | Aug 2005 | WO |
2005109829 | Nov 2005 | WO |
2006111782 | Oct 2006 | WO |
2007107982 | Sep 2007 | WO |
2010110788 | Sep 2010 | WO |
2011139963 | Nov 2011 | WO |
Entry |
---|
Extended EP Search Report dated Aug. 22, 2012 for European Application No. 12167370.1 (8 pages). |
Extended European Search Report, EP 12167367.7, Jul. 27, 2012, 8 pgs. |
Extended European Search Report, EP 12167369.3, Jul. 27, 2012, 9 pgs. |
Final Office Action dated Aug. 10, 2012 for U.S. Appl. No. 13/247,725 (14 pages). |
ISR/WO, PCT/US2012/036952, Jul. 30, 2012, 12 pgs. |
ISR/WO, PCT/US2012/036957, Jul. 30, 2012, 12 pgs. |
Nickelsen, A. et al., “Service migration protocol for NFC links,” Proceedings of the 16th EUNICE/IFIP WG 6.6 Conference on Networked Services, Jun. 28-30, 2010, pp. 41-50. |
NL Search Report dated Dec. 19, 2012 for Application No. 2008777 (11 pages). |
NL Search Report dated Dec. 21, 2012 for Application No. 2008779 (10 pages). |
NL Search Report dated Nov. 28, 2012 for Application No. 2008778 (8 pages). |
NonFinal Office Action dated Dec. 7, 2011 for U.S. Appl. No. 13/247,725 (10 pages). |
NonFinal Office Action dated Sep. 17, 2012 for U.S. Appl. No. 13/461,647 (7 pages). |
PCT International Search Report and Written Opinion dated Aug. 22, 2012 for corresponding PCT International Application No. PCT/US2012/036961 (12 pages). |
UK Search Report dated Aug. 13, 2012 for GB Application No. 1208206.1 (5 pages). |
UK Search Report dated Aug. 13, 2012 for GB Application No. 1208207.9 (3 pages). |
UK Search Report dated Aug. 13, 2012 for GB Application No. 1208205.3 (6 pages). |
PCT International Search Report and Written Opinion dated Oct. 10, 2013 for PCT International Application No. PCT/US2013/050483 (10 pages). |
International Search Report and Written Opinion for International Application No. PCT/US2014/025482 mailed Aug. 5, 2014 (11 pages). |
Macey, F., “Get iPhone iOS 5 Features Now: Use Face Time Over 3G” The iPhone FAQ, Aug. 8, 2011, iphonefaq.org, http://www.iphonefaq.org/archives/971488, 3 pages. |
French Preliminary Search Report and Written Opinion dated Feb. 27, 2017 for French Application No. 1254227, 5 pages. |
“Advisory Action”, U.S. Appl. No. 14/751,815, dated Oct. 12, 2016, 5 pages. |
“Final Office Action”, U.S. Appl. No. 13/834,622, dated Sep. 30, 2015, 37 pages. |
“Non-Final Office Action”, U.S. Appl. No. 13/834,622, dated May 29, 2015, 31 pages. |
“Non-Final Office Action”, U.S. Appl. No. 14/751,815, dated Mar. 8, 2017, 12 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/641,647, dated Mar. 5, 2013, 8 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/247,755, dated Jan. 4, 2012, 8 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/834,622, dated Jan. 29, 2016, 13 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/834,622, dated Oct. 5, 2016, 13 pages. |
Macey, “Get iPhone iOS 5 Features Now: Use FaceTime Over 3G”, http://www.iphonefaq.org/archives/971488, Aug. 8, 2011, 3 pages. |
“Foreign Office Action”, EP Application No. 12167367.7, dated Apr. 20, 2017, 5 pages. |
“Foreign Office Action”, EP Application No. 12167369.3, dated Apr. 20, 2017, 5 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/549,364, dated Oct. 22, 2012, 5 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/461,647, dated Mar. 5, 2013, 8 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/775,737, dated Mar. 13, 2015, 5 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/775,737, dated Sep. 8, 2015, 5 pages. |
“Examiner's Answer to Appeal Brief”, U.S. Appl No. 14/751,815, dated Dec. 28, 2017, 7 pages. |
“Foreign Office Action”, KR Application No. 10-2013-7031892, dated Dec. 12, 2017, 87 pages. |
“Final Office Action”, U.S. Appl. No. 14/751,815 dated Aug. 3, 2016, 12 pages. |
“Non-Final Office Action”, U.S. Appl. No. 14/751,815, dated Apr. 19, 2016, 10 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/834,900, dated Dec. 22, 2014, 9 pages. |
“Notice of Allowance”, U.S. Appl. No. 13/834,900, dated Apr. 10, 2015, 5 pages. |
“Foreign Office Action”, French Application 1254228, dated Feb. 23, 2018, 2 pages. |
“Foreign Office Action”, Korean Application No. 10-2013-7031892, dated Apr. 25, 2018, 6 pages. |
“Notice of Allowance”, U.S. Appl. No. 14/751,815, dated Nov. 16, 2018, 7 pages. |
Number | Date | Country | |
---|---|---|---|
20130325967 A1 | Dec 2013 | US |
Number | Date | Country | |
---|---|---|---|
61484787 | May 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13461647 | May 2012 | US |
Child | 13932232 | US | |
Parent | 13247755 | Sep 2011 | US |
Child | 13461647 | US |