Source: https://patents.justia.com/patent/9237189
Timestamp: 2019-08-23 04:23:25
Document Index: 410706567

Matched Legal Cases: ['application No. 61', 'Application No. 12167370', 'Application No. 2008777', 'Application No. 2008779', 'Application No. 2008778', 'Application No. 1208206', 'Application No. 1208207', 'Application No. 1208205']

US Patent for Zero-click sharing of application context across devices Patent (Patent # 9,237,189 issued January 12, 2016) - Justia Patents Search
Justia Patents Computer Network MonitoringUS Patent for Zero-click sharing of application context across devices Patent (Patent # 9,237,189)
Zero-click sharing of application context across devices
A first client device performs a handoff operation to a second client device by transmitting application information, associated with a first application, to the second client device when the first client device is positioned within a predefined proximity of the second client device. The first application has a first client device user interface state when the handoff operation is performed. Further, the first client device, in response to receiving from another client device application information associated with a second application executed by the other first client device, executes a third application corresponding to the second application with a user interface state corresponding to a user interface state of the other client device.
This application is a continuation of U.S. application Ser. No. 13/549,364, filed Jul. 13, 2012, which is a continuation of U.S. application Ser. No. 13/247,781, filed Sep. 28, 2011, now U.S. Pat. No. 8,224,894, which claims priority to U.S. provisional patent application No. 61/484,190, filed May 9, 2011, which applications are incorporated by reference herein in their entirety.
establishing, at a first client device, a communication link with a second client device;
receiving, at the first client device, application information associated with a first application executing at the second client device, the second client device having a user interface state of the first application, at least a portion of the application information being received via the communication link; and
executing, at the first client device, a second application corresponding to the first application, the second application having an initial user interface state corresponding to the user interface state of the first application at the second client device;
wherein executing the second application includes transitioning from a system state in which the second application is not executing as a foreground application to a system state in which the second application is executing as the foreground application.
2. The method of claim 1, wherein executing the second application includes beginning to execute the second application when the second application is not actively running at the first client device when the first client device receives the application information.
3. The method of claim 1, wherein the communication link is established with the second client device when the second client device enters a predefined proximity of the first client device.
4. The method of claim 1, wherein the application information is received at the first client device in response to detecting a “bump” indicating physical contact between the first and second client devices.
5. The method of claim 1, wherein the communication link is established with the second client device in response to detecting a “bump” indicating physical contact between the first and second client devices.
6. The method of claim 1, wherein the communication link comprises a Near Field Communication link.
7. The method of claim 1, further comprising, when the second application is not executing at the first client device when the first client device receives the application information, launching the second application upon receipt of the application information.
receiving, at the first client device, additional application information associated with a third application executing at the second client device; and
executing, at the first client device, a fourth application corresponding to the third application, the fourth application having an initial user interface state corresponding to the user interface state of the third application at the second client device.
9. The method of claim 1, wherein establishing the communication link includes transmitting, from the first client device, user authentication information to the second client device.
detecting, at a first client device, a transfer triggering condition for transferring an application state to a second client device; and
initiating, at the first client device and in response to detection of the transfer triggering condition, a transfer of application information to the second client device, the application information being associated with a first application executing at the first client device, the first client device having a user interface state of the first application,
wherein receipt of the application information at the second client device causes the second client device to transition from a system state in which a second application corresponding to the first application is not executing as a foreground application to a system state in which the second application is executing as the foreground application.
11. The method of claim 10, further comprising notifying the first application that the application information has been transmitted to the second client device.
12. The method of claim 11, further comprising changing the user interface state of the first application in response to the notifying.
13. The method of claim 12, wherein changing the user interface state of the first application comprises terminating execution of the first application.
14. The method of claim 10, wherein initiating the transfer of application information to the second client device comprises transferring, from the first client device, the application information to the second client device.
15. The method of claim 14, wherein transferring the application information to the second client device comprises transferring a portion of the application information via Near Field Communication and another portion of the application information via wireless communication other than Near Field Communication.
16. The method of claim 10, wherein initiating the transfer of application information to the second client device comprises providing, from the first client device, a command to a remote server to transfer the application information to the second client device.
17. The method of claim 16, wherein initiating the transfer of application information to the second client device further comprises providing, from the first client device, at least a portion of the application information to the second client device.
18. A computer-implemented method of facilitating transitioning use of an application by a user from a first client device to a second client device, comprising:
receiving, at the first client device, application information associated with each of one or more first applications executing at the second client device, the second client device having a user interface state of each of the one or more first applications, at least a portion of the application information being received via the communication link, wherein a particular first application is executing as a foreground application at the second client device; and
executing, at the first client device, one or more second applications, each of the one or more second applications corresponding to a respective first application of the one or more first applications, each of the second applications having an initial user interface state corresponding to the user interface state of its respective first application at the second client device, wherein the particular first application executing as the foreground application at the second client device corresponds to a particular second application;
wherein executing each of the one or more second applications includes transitioning from a system state in which the particular second application is not executing as a foreground application to a system state in which the particular second application is executing as the foreground application.
19. The method of claim 18, wherein executing the one or more second applications includes automatically starting to execute the one or more second applications when the second application is not actively running at the first client device when the first client device receives the application information.
20. The method of claim 18, wherein receiving application information associated with each of one or more first applications executing at the second client device includes receiving the application information from the second client device, receiving the application information from a remote server, or receiving a portion of the application information from the second client device and another portion from the remote server.
5819021 October 6, 1998 Stanfill et al.
6634025 October 14, 2003 Hauptmann et al.
7089007 August 8, 2006 Wakuta et al.
7529653 May 5, 2009 Frankel et al.
7775432 August 17, 2010 Jalkanen et al.
7957518 June 7, 2011 Erb
7962142 June 14, 2011 O'Neill et al.
7995533 August 9, 2011 Koodli et al.
8056113 November 8, 2011 Balasubramanian et al.
8060560 November 15, 2011 Vonog et al.
8112066 February 7, 2012 Ayed
8126395 February 28, 2012 Tasala et al.
8214686 July 3, 2012 Ueda
8308065 November 13, 2012 Jalkanen et al.
8366000 February 5, 2013 Jalkanen et al.
8386563 February 26, 2013 Parks et al.
8478816 July 2, 2013 Parks et al.
20020033981 March 21, 2002 Keller et al.
20030220937 November 27, 2003 Maeoka et al.
20050058112 March 17, 2005 Lahey et al.
20050235029 October 20, 2005 Hussman
20060094356 May 4, 2006 Dawidowsky
20060294435 December 28, 2006 Vick et al.
20070115827 May 24, 2007 Boehnke et al.
20070136392 June 14, 2007 Oh et al.
20070160047 July 12, 2007 Park et al.
20070263828 November 15, 2007 Lee et al.
20070282990 December 6, 2007 Kumar et al.
20070297356 December 27, 2007 Rofougaran
20080139116 June 12, 2008 Balgard et al.
20080294937 November 27, 2008 Ueda
20080310611 December 18, 2008 Moriwaki et al.
20090003281 January 1, 2009 Panabaker
20090116445 May 7, 2009 Samar et al.
20090118018 May 7, 2009 Perlman et al.
20090157799 June 18, 2009 Sukumaran et al.
20090204966 August 13, 2009 Johnson et al.
20090248875 October 1, 2009 Kamijima et al.
20100031168 February 4, 2010 Loriedo et al.
20100082136 April 1, 2010 Rosenblatt et al.
20100082567 April 1, 2010 Rosenblatt et al.
20100167809 July 1, 2010 Perlman et al.
20100178868 July 15, 2010 Charrat
20100328225 December 30, 2010 Black
20100332635 December 30, 2010 Rogel et al.
20110047598 February 24, 2011 Lindley et al.
20110065384 March 17, 2011 Cader et al.
20110072501 March 24, 2011 Fukui
20110074703 March 31, 2011 Black
20110078245 March 31, 2011 Kiffer
20110148752 June 23, 2011 Alameh et al.
20110183614 July 28, 2011 Tamura
20110205944 August 25, 2011 Miyabayashi et al.
20110210830 September 1, 2011 Talty et al.
20110223937 September 15, 2011 Leppanen et al.
20110276503 November 10, 2011 Whittington
20120028578 February 2, 2012 Tuikka
20120079126 March 29, 2012 Evans et al.
20120142433 June 7, 2012 Perlman et al.
20120144233 June 7, 2012 Griffith et al.
20120149476 June 14, 2012 Perlman et al.
20120214413 August 23, 2012 Rose et al.
20120290657 November 15, 2012 Parks et al.
20120290663 November 15, 2012 Hsieh et al.
20120290669 November 15, 2012 Parks et al.
20120329390 December 27, 2012 Kim
20130046976 February 21, 2013 Rosati et al.
20130324169 December 5, 2013 Kamal et al.
20140254575 September 11, 2014 Venkatraman et al.
1760584 March 2007 EP
2432277 March 2012 EP
2483771 August 2012 EP
2557764 February 2013 EP
2005076542 August 2005 WO
2005109829 November 2005 WO
2006111782 October 2006 WO
2007107982 September 2007 WO
2010110788 September 2010 WO
2011139963 November 2011 WO
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, 13 pgs.
ISR/WO, PCT/US2012/036957, Jul. 30, 2012, 13 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. 8, 2011 for U.S. Appl. No. 131247,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).
International Search Report and Written Opinion for International Application No. PCT/US2014/025482 mailed Aug. 5, 2014 (11 pages).
PCT International Search Report and Written Opinion dated Oct. 10, 2013 for PCT International Application No. PCT/US2013/050483 (10 pages).
Patent number: 9237189
Patent Publication Number: 20130173699
Inventors: Jason Parks (Austin, TX), Nicholas Julian Pelly (San Francisco, CA), Jeffrey William Hamilton (Austin, TX), Robert William Hamilton (Santa Clara, CA), Maarten W. Hooft (Menlo Park, CA)
Application Number: 13/775,737
International Classification: G06F 15/16 (20060101); H04L 29/08 (20060101); H04W 4/00 (20090101); H04L 29/06 (20060101); G06F 9/48 (20060101); G06F 12/00 (20060101); H04W 4/20 (20090101);