WO2011152833A1 - Agent-less follow-me service for cloud-based applications - Google Patents
Agent-less follow-me service for cloud-based applications Download PDFInfo
- Publication number
- WO2011152833A1 WO2011152833A1 PCT/US2010/037433 US2010037433W WO2011152833A1 WO 2011152833 A1 WO2011152833 A1 WO 2011152833A1 US 2010037433 W US2010037433 W US 2010037433W WO 2011152833 A1 WO2011152833 A1 WO 2011152833A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- link
- computing device
- web application
- reference table
- going
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Definitions
- a follow-me service can preserve an on-going session even as a user moves between multiple computing devices operating in varying computing environments.
- follow-me services can be implemented through agents, which are programs that facilitate the exchange of data related to the on-going session between the computing devices. For example, a user may execute an application on a first computing device, thereby initiating a session on the first computing device. While the application is still open on the first computing device, the user may move from the vicinity of the first computing device to the vicinity of a second computing device. Agents can then migrate the on-going session from the first computing device to the second computing device. In this way, the user can continue interacting with the application on the second computing device as if the user were still executing the application on the first computing device.
- a user may pre- install and pre-configure the agents on both the first and second computing devices.
- the process of installing and configuring the agents in advance of the migration can be tedious and time-consuming. Further, this process generally assumes that the user has advance knowledge of the computing devices that the user will be using.
- a computing device having a processor and a memory may be configured to perform one or more of the following operations.
- the computing device is configured to receive a first link to a reference table.
- the first link may include a second link corresponding to a first state of an on-going web application.
- the computing device is configured to retrieve the second link from the reference table via the first link.
- the computing device is configured to open the on-going web application corresponding to the second link on a web browser configured to execute on the computing device.
- the computing device Upon opening the on-going web application on the web browser, the computing device is configured to update the second link in the reference table to reflect a second state of the on-going web application.
- the present disclosure generally describes some computer storage media.
- Some example computer storage media may include computer-executable instructions stored thereon for a method which, when executed by a computer, adapt the computer to provide a follow-me service.
- the computer may be configured to perform one or more of the following operations.
- the computer is configured to receive an indication that a portable token is within a proximity of the computer.
- the computer is configured to receive a first link to a reference table from the portable token.
- the reference table may include a second link corresponding to a first state of an on-going web application.
- the computer is configured to retrieve the second link from the reference table via the first link.
- the computer is configured to open the on-going web application corresponding to the second link on a web browser executed by the computer.
- the computer is configured to update the second link in the reference table to reflect a second state of the on-going web application.
- the computer is configured to receive an indication that the portable token is outside the proximity of the computer. When the indication that the portable token is outside the proximity of the computer is received, the computer is configured to close the on-going web application on the web browser.
- the present disclosure generally describes some computer systems configured to provide a follow-me service.
- Some example computer systems may be configured to include a processor, a memory coupled to the processor, and a web browser which executes in the processor from the memory.
- Some example computer systems may be further configured to include a web browser plug-in coupled to the web browser.
- Some example web browser plug-ins may be adapted to execute in the processor from the memory and, when executed by the processor, cause the computer system to provide the follow-me service by performing one or more of the following operations.
- the computer system is configured to receive an indication that a portable token is within a proximity of the computer system. Upon receiving the indication that the portable token is within the proximity of the computer system, the computer system is configured to receive a first link to a reference table.
- the reference table may include a second link corresponding to a first state of an on-going web application.
- the computer system is configured to retrieve the second link and a corresponding cookie from the reference table via the first link.
- the computer system is configured to transmit the cookie and a request to access the on-going web application to the second link.
- the computer system Upon transmitting the cookie and the request to access the on-going web application to the second link, the computer system is configured to receive permission to access the on-going web application from the second link.
- the computer system Upon receiving the permission to access the on-going web application, the computer system is configured to update the on-going web application corresponding to the second link on the web browser.
- the computer system Upon opening the on-going web application, the computer system is configured to update the second link in the reference table to reflect a second state of the on-going web application.
- the computer system is configured to receive an indication that the portable token is outside the proximity to the computer system.
- the computer system Upon receiving the indication that the portable token is outside the proximity to the computer system, the computer system is configured to determine whether the reference table reflects a current state of the on-going web application.
- the computer system Upon determining that the reference table does not reflect the current state of the ongoing web application, the computer system is configured to update the second link in the reference table to reflect the current state of the on-going web application.
- the computer system Upon determining that the reference table reflects the current state of the on-going web application or upon updating the second link in the reference table to reflect the current state of the on-going web application, the computer system is configured to close the on-going web application on the web browser.
- FIG. 1 is a functional block diagram illustrating an example operating environment for an agent-less follow-me service
- FIG. 2 is a block diagram illustrating an example reference table
- FIGS. 3 A and 3B are flow diagrams illustrating an example process for implementing an agent-less follow-me service
- FIG. 4 is a block diagram illustrating an example computing system
- FIG. 5 is a schematic diagram illustrating a computer program product, all arranged according to at least some embodiments presented.
- a user may carry a portable token containing a link, such as a uniform resource locator ("URL"), to a cloud-based, user-specific reference table.
- a link such as a uniform resource locator ("URL")
- the first computing device may be configured to establish a logical connection with the portable token.
- the user may then open one or more stateless, cloud-based web applications through a first web browser operating on the first computing device.
- the links of the corresponding web applications may change to reflect the current state of the web applications.
- a first follow-me browser plug-in coupled to the first web browser may upload and store the links to the user-specific reference table identified by the portable token.
- connection may be established as a communication link or some other variety of logical association between the first computing device and the portable token.
- connection between the first computing device and the portable token is not necessarily a physical connection, for simplicity the communication link and/or logical association will simply be referred to hereinafter as a "connection.”
- the user may leave the vicinity of the first computing device while at least some of the web applications are still open. These open web applications may be referred to as on-going web applications.
- the first computing device may lose connection with the portable token.
- the first follow-me browser plug-in may upload and store the links of the ongoing web applications to the user-specific reference table, thereby preserving a current state of the on-going web applications on the user-specific reference table.
- the first follow-me browser plug-in may then close the on-going web applications running on the first computing device.
- the user may enter the vicinity of a second computing device.
- the second computing device may establish a connection with the portable token.
- a second follow-me browser plug-in coupled to a second web browser operating on the second computing device may download the links from the user-specific reference table identified by the portable token.
- the second web browser may open the on-going web applications corresponding to the links. Since the links in the user-specific reference table reflect the current state of the on-going web applications, the user can open and interact with the on-going web applications in the current state via the second web browser.
- FIG. 1 a functional block diagram 100 illustrates an example operating environment for an agent-less follow-me service according to at least some embodiments presented herein.
- a first computing device 102A may operate within a first vicinity 104A
- a second computing device 102B may operate within a second vicinity 104B.
- the first vicinity 104A and the second vicinity 104B are separated by a dashed line 106 in FIG. 1.
- the first computing device 102A and the second computing device 102B may be coupled to a server computer 108 and a server computer 132 via a network 110, such as a local area network ("LAN"), a wide area network ("WAN"), the Internet, or the like.
- the first computing device 102 A may include a first web browser 112A and a first follow- me browser plug-in 114A coupled to the first web browser 112A.
- the second computing device 102B may include a second web browser 112B and a second follow-me browser plug-in 114B coupled to the second web browser 112B.
- the server computer 108 may include a reference table 116 containing links 118 to ongoing web applications and cookies 120 corresponding to the links 118.
- the server computer 132 may include one or more web applications 134.
- the first computing device 102 A and the second computing device are identical to each other.
- the computing devices 102 A, 102B may be any appropriate computing device, including but not limited to desktop computers, laptop computers, mobile phones, and other suitable devices adapted to access the web applications 134 via the web browsers 112 A, 112B.
- the first web browser 112A and the second web browser 112B may be adapted to open stateless, cloud-based web applications, such as the web applications 134.
- a server computer such as the server computer 132
- a web browser such as the web browsers 112A, 112B, operating on a client computer can then open the web application hosted on the server computer via a corresponding link, such as the links 118.
- the server computer hosts the web application
- some of the web code provided by the server computer to the client computer may contain state information that can be stored on the client computer.
- the state information may be encoded within the link, which may also result in relatively longer links.
- the state information may be encoded as a string of hexadecimal characters contained at the end of the link after a character such as "?".
- a user 122 may possess a portable token 124, which can be a physical item adapted to store a link 126 to the reference table 116.
- the reference table 116 may be specific to the user 122.
- the portable token 124 may also be configured to store access control data 128 for accessing the reference table 116.
- Some examples of the portable token 124 may include a flash drive, a mobile phone, a key fob, a hard-coded Radio Frequency Identification (“RFID”) tag, and other suitable devices that can be maintained in the possession of the user 122 even when the user 122 travels.
- RFID Radio Frequency Identification
- the portable token 124 may establish a connection to the first computing device 102A via Universal Serial Bus ("USB"), WI-FI, BLUETOOTH, Radio Frequency (“RF”), or other suitable communications protocols.
- USB Universal Serial Bus
- WI-FI Wireless Fidelity
- BLUETOOTH Wireless Fidelity
- RF Radio Frequency
- the first vicinity 104A may refer to the act of the user 122 plugging the portable token 124 into the first computing device 102A.
- WI-FI, BLUETOOTH, RF, IR and other wireless protocols the first vicinity 104 A may refer to a range where the portable token 124 and the first computing device 102A can communicate via the corresponding wireless protocol.
- a RFID reader (not shown) coupled to the first computing device 102A may be configured to interrogate and/or read the RFID tag when the RFID tag is within a range of the RFID reader.
- the user 122 can place the RFID tag within the range of the RFID reader to indicate that the user 122 has entered the first vicinity 104A.
- the portable token 124 may be signal strength- gated such that the portable token 124 is enabled and/or disabled according to a given signal strength between the portable token 124 and the first computing device 102A. In some other embodiments, the portable token 124 may be time-gated such that the portable token 124 is enabled and/or disabled after certain amount of time has passed (e.g., a timeout). The portable token 124 may or may not contain a processor and/or a data storage device. [0019] In an illustrative example, the user 122 possessing the portable token
- the first computing device 102 A may be configured to establish a connection (e.g., via wireless communication) with the portable token 124.
- the first folio w-me browser plug-in 114A can be adapted to read the link 126 to the reference table 116 and attempt to access the reference table 116 via the link 126.
- the user 122 may install the first folio w-me browser plug-in 114A when the first computing device 102 A establishes the connection to the portable token 124.
- the user 122 may download the first folio w-me browser plug-in 114A from a central download website via the network 110.
- the first folio w-me browser plug-in 114A may be stored in the portable token 124 and installed to the first computing device 102 A from the portable token 124. In some other embodiments, the first folio w-me browser plug-in 114A may be pre-installed on the first computing device 102 A. In yet some other embodiments, the first follow-me browser plug-in 114A may be a standard feature on the first web browser 112 A.
- the server computer 108 may be adapted to request credentials, such as a login identifier and/or a password, in order to grant permission to access the reference table 116.
- the user 122 may manually enter the credentials via a suitable input device coupled to the first computing device 102A.
- the portable token 124 may be adapted to provide the access control data 128 containing the credentials to the server computer 108. In this case, for security purposes, the portable token 124 may also include a mechanism adapted to enable the user 122 to permit or restrict whether the portable token 124 shares the access control data 128.
- the server computer 108 may be adapted to grant permission to access to the reference table 116 upon verifying the credentials.
- the portable token 124 may be replaced with a web address that identifies a reference table service and/or a personal login identifier.
- the user 122 can simply memorize the web address and/or the personal login identifier without having to carry the portable token 124.
- the web address and the personal login identifier may also be utilized in addition to the portable token 124 in instances where the user 122 does not have the portable token 124 in possession.
- the reference table service may provide user-specific reference tables, such as the reference table 116, to multiple users and assign a different personal login identifier to each of the users.
- the user 122 may open the first web browser 112A and manually enter the web address to the reference table service along with the personal login identifier in order to access the reference table 116.
- the web address may also contain the personal login identifier (e.g., myreferencetable.com/user4110 where "user4110" refers to the personal login identifier).
- the reference table 116 is initially empty.
- the first follow-me browser plug-in 114A may not retrieve any links from the reference table 116, and thus no web applications may automatically open.
- the links 118 corresponding to the web applications may change to reflect the current state of the web applications 134. That is, the state information encoded in the links 118 may change as the user 122 interacts with the web applications 134. For example, a user may edit a document on a particular web application. After the user edits and saves the document, the URL may change from
- the first follow-me browser plug-in 114A may be configured to upload and store the links 118 of the web applications 134 to the reference table 116, thereby preserving a current state of the web applications 134.
- the first follow-me browser plug-in 114A may be configured to upload and store the links 118 at given time intervals or when the links 118 are changed on the first web browser 112A.
- the first follow-me browser plug-in 114A may be adapted to compare the current link to the previous link in order to determine whether the link has changed.
- the first web browser 112A may be configured to provide signals to the first follow-me browser plug-in 114A indicating that the link has changed.
- Some web applications may be adapted to request and verify credentials of the user 122 before granting access. After the user 122 has entered the credentials and logged on a web application, the credentials may be stored in a corresponding cookie on the first computing device 102 A. Each time the user 122 re- accesses the web application, the web application can be configured to authenticate the user 122 based on the cookie without having the user 122 re-enter the credentials.
- the first follow-me browser plug-in 114A may be configured to upload the cookie from the first computing device 102 A to the cookies 120 in the reference table 116.
- the second web browser 112B may be configured to retrieve the cookies 120 from the reference table 116 and utilize the cookies 120 to open the web applications 134 corresponding to the links 118 without having the user 122 re-enter the credentials.
- the first follow-me browser plug -in 114A may be adapted to delete the link and the cookie corresponding to the closed web application from the reference table 116.
- the user 122 may leave the first vicinity
- the first follow-me browser plug -in 114A may be configured to upload and store the links 118 of the web applications 134, as necessary, if the links 118 do not reflect the current state of the web applications 134.
- the first follow-me browser plug-in 114A may then be adapted to close the web applications 134 in order to prevent others from accessing the web applications 134 on the first computing device 102A.
- the first follow-me browser plug-in 114A may be configured to detect that the user 122 has left the first vicinity 104A based a certain amount of time (e.g., a timeout) or by user action.
- the user 122 may explicitly indicate to the follow-me browser plug-in 114A that the user 122 is leaving the first vicinity 104 A.
- the portable token 124 is an RFID tag
- the RFID reader coupled to the first computing device 102A may be configured to re-interrogate and/or re-read the RFID tag when the RFID tag is placed again within the range of the RFID reader.
- the user 122 can place, in a second instance, the RFID tag within the range of the RFID reader to indicate that the user 122 has left the first vicinity 104 A.
- the portable token 124 plugs into the first computing device 102 A
- the first folio w-me browser plug-in 114A may be adapted to detect that the user 122 has left the first vicinity 104 A when the user 122 unplugs the portable token 124 from the first computing device 102 A.
- the first follow-me browser plug-in 114A may be adapted to detect that the user 122 has left the first vicinity 104A when the first computing device 102A can no longer communicate with the portable token 124 because the portable token 124 has moved beyond the range of communication.
- the user 122 upon leaving the first vicinity 104A, the user 122 enters the second vicinity 104B as indicated by an arrow 130.
- the second computing device 102B may then be adapted to establish a connection with the portable token 124.
- the second computing device 102B may be configured to download and install the second follow-me browser plug-in on the second web browser 112B, as necessary.
- the second follow-me browser plug-in 114B may also be configured to read the link 126 to the reference table 116 and access the reference table 116 via the link 126 upon authenticating the user 122, as necessary.
- the second follow-me browser plug-in 114B may be configured to download the links 118 and the corresponding cookies 120 from the reference table 116.
- the second follow-me browser plug-in 114B may then be adapted to open the web applications 134 corresponding to the links 118 via the second web browser 112B.
- the second follow-me browser plug-in 114B may be adapted to utilize the cookies 120 to gain access to the existing sessions when opening the web applications 134.
- the second web browser 112B may be configured to present the web applications 134 in the current state (e.g., the state of the web applications running on the first computing device 102 A when the user 122 leaves the first vicinity 104 A) as preserved by the links 118. In this way, the user 122 can interact with the web applications 134 on the second computing device 102B in the same state as if the user 122 were still in the first vicinity 104A and accessing the web applications 134 on the first computing device 102A.
- the current state e.g., the state of the web applications running on the first computing device 102 A when the user 122 leaves the first vicinity 104 A
- the user 122 can interact with the web applications 134 on the second computing device 102B in the same state as if the user 122 were still in the first vicinity 104A and accessing the web applications 134 on the first computing device 102A.
- the links 118 may change to reflect the current state of the web applications 134.
- the second follow-me browser plug-in 114B may be adapted to update the reference table 116.
- the second follow-me browser plug-in 114B may be configured to upload and store the links 118 of the web applications 134 to the reference table 116 if the links 118 do not reflect the current state of the web applications 134.
- the reference table 116 may include a first column 202A and a second column 202B.
- the reference table 116 may further include rows 204A-204N.
- Entries 210A-210N under the first column 202A may store links 118A-118N.
- the reference table 116 may store the links 118A-118N in Extensible Markup Language ("XML") or other suitable format.
- Entries 212A-212N under the second column 202B may store cookies 120A-120N. Each of the cookies 120A-120N may correspond to one the links 118A-118N.
- the cookies 120A-120N may be login cookies adapted to enable the user 122 to store credentials of the user 122.
- the web browsers 112A, 112B can utilize the cookies 120A-120N to access the corresponding links 118A- 118N without having the user 122 re-enter credentials.
- the first follow-me browser plug-in 114A may assign one of the rows 204 A- 204N to the web application.
- the first follow-me browser plug-in 114A may be configured to assign the first row 204 A to the web application. If the user 122 logs on the web application and a cookie, such as the first cookie 120 A, is created on the first computing device 102 A, the first follow-me browser plug-in 114A may be configured to upload and store the first cookie 120 A to the assigned row under the second column 202B. In this example, the first follow-me browser plug-in 114A may be adapted to upload and store the first cookie 120 A to the first row 204 A in the entry 212A.
- the first follow-me browser plug-in 114A may also be adapted to upload and store a link, such as the first link 118A, of the web application to the assigned row under the first column 202A.
- the first follow-me browser plug-in 114A may be adapted to upload and store the first link 118A to the first row 204A in the entry 21 OA.
- the reference table 116 can preserve a current state of the web application.
- the first folio w-me browser plug-in 114A may be configured to delete both the entries, such as the entries 21 OA, 212A, corresponding to the closed web application. Otherwise, the reference table 116 may be configured to maintain the entries 21 OA, 212A as the user 122 transitions to other computing devices.
- FIGs. 3A and 3B example flow diagrams illustrate a process 300A-300B for providing an agent-less folio w-me service in accordance with at least some embodiments described herein.
- the process 300A-300B may include various operations, functions, or actions as illustrated by one or more of blocks 302- 330.
- the process 300 A may begin at block 302 (Receive Indication That Portable Token Is In Proximity), where a follow-me browser plug-in, such as the first follow- me browser plug-in 114A and the second follow-me browser plug-in 114B, may be configured to receive an indication that the portable token 124 is in proximity of a computing device, such as the first computing device 102A and the second computing device 102B. If the portable token 124 is a pluggable device, then the portable token 124 may be determined to be in proximity of the computing device when the portable token 124 is plugged into the computing device.
- the portable token 124 may be determined to be in proximity of the computing device when the portable token 124 is within range of the computing device according to the wireless protocol. If the portable token 124 is a RFID tag, then the portable token 124 may be determined to be in proximity of the computing device when the portable token 124 is placed within a range of a RFID reader coupled to the computing device such that the RFID reader can interrogate and/or read the portable token 124. Block 302 may be followed by block 304.
- the follow-me browser plug-in may be configured to receive the link 126 to the reference table 116 and the access control data 128.
- the access control data 128 may contain credentials for accessing the reference table 116.
- Block 304 may be followed by block 306.
- the follow-me browser plug-in may be configured to access the reference table 116 via the link 126.
- the reference table 116 may be cloud-based and stored on a centralized server computer, such as the server computer 108, accessible over the network 110.
- Block 306 may be followed by block 308.
- the follow-me browser plug-in may be configured to receive an authorization request from server computer 108 corresponding to the link 126.
- the authorization request may request credentials in order to grant permission to access the reference table 116.
- Block 308 may be followed by block 310.
- the follow-me browser plug-in may be configured to send the access control data 128 to the server computer 108 in response to the authorization request.
- Block 310 may be followed by block 312.
- the follow-me browser plug-in may be configured to receive permission to access the reference table 116 from the server computer 108.
- the server computer 108 may send the permission to access the reference table 116 to the follow-me browser plug-in upon verifying the access control data 128.
- Block 312 may be followed by block 314.
- the follow-me browser plug-in may be configured to retrieve a link, such as the links 118, to an ongoing web application, such as the web applications 134, from the reference table 116.
- the follow-me browser plug-in may also retrieve a cookie, such as the cookies 120, corresponding to the link to the on-going web application from the reference table 116.
- the on-going web application may be a stateless, cloud-based application.
- Block 314 in process 300 A may be followed by block 316 in process 300B.
- the follow-me browser plug-in may be configured to transmit the cookie and a request to access the on-going web application to the server computer 132 corresponding to the link to the on-going web application.
- Block 316 may be followed by block 318.
- the follow-me browser plug-in may be configured to receive permission to access the ongoing web application from the server computer 132.
- the server computer 132 may send the permission to access the on-going web application to the follow-me browser plug-in and/or the web browser upon verifying the cookie.
- Block 318 may be followed by block 320.
- the follow-me browser plug-in may be configured to open the web application corresponding to the link to the on- going web application.
- the follow-me browser plug-in may be configured to open the web application via a web browser, such as the first web browser 112A and the second web browser 112B.
- Block 320 may be followed by block 322.
- the follow-me browser plug- in may be configured to update the reference table 116 to reflect any changes to the current state of the on-going web application.
- the current state of the on-going web application may change as the user 122 interacts with the on-going web application.
- the follow-me browser plug-in may be configured to update the link to the on-going web application stored in the reference table 116. That is, a previous link reflecting a previous state of the on-going web application may be replaced with a current link reflecting a current state of the on-going web application, thereby transforming the reference table 116.
- the follow-me browser plug-in may be configured to update the reference table 116 when the state of the on-going web application changes.
- the follow-me browser plug-in may be configured to receive an indication that the portable token 124 is outside the proximity of the computing device. If the portable token 124 is a pluggable device, then the portable token 124 may be determined to be outside the proximity of the computing device when the portable token 124 is unplugged from the computing device. If the portable token 124 is a wireless device, then the portable token 124 may be determined to be outside the proximity of the computing device when the portable token 124 is outside the range of the computing device according to the wireless protocol.
- the portable token 124 may be determined to be outside the proximity of the computing device when the portable token 124 is placed again within the range of the RFID reader coupled to the computing device such that the RFID reader can re -interrogate and/or re-read the portable token 124.
- Block 324 may be followed by block 326.
- the follow-me browser plug-in may be configured to determine whether the reference table 116 reflects the current state of the on-going web application. For example, the state of the on-going web application may have changed prior to last update of the reference table 116 at block 322. If the follow-me browser plug-in determines that the reference table 116 does not reflect the current state of the on-going web application, then block 326 may be followed by block 328. If the follow-me browser plug-in determines that the reference table 116 reflects the current state of the ongoing web application, then block 326 may be followed by block 330.
- the follow-me browser plug-in may be configured to update the reference table 116 to reflect the current state of the on-going web application.
- Block 328 may be followed by block 330.
- the follow-me browser plug-in may be configured to close the on-going web application running on the computing device.
- the follow-me browser plug-in can close the on-going web application because the user 122 is outside the proximity to the computing device and because the current state of the on-going web application has been preserved on the reference table 116.
- the user 122 can transition to other computing devices and interact with the on-going web application on these other computing devices.
- the process 300A-300B may either repeat (e.g., periodically, continuously, or on demand as needed) or terminate.
- FIG. 4 is a computer architecture diagram showing an illustrative computer hardware architecture for an example computing system capable of implementing at least some embodiments presented herein.
- FIG. 4 includes a computer 400, including a processor 410, memory 420 and one or more drives 430.
- the computer 400 may be implemented as a conventional computer system, an embedded control computer, a laptop, or a server computer, a mobile device, a set-top box, a kiosk, a vehicular information system, a mobile telephone, a customized machine, or other hardware platform.
- the drives 430 and their associated computer storage media provide storage of computer readable instructions, data structures, program modules and other data for the computer 400.
- the drives 430 can include an operating system 440, application programs 450, program modules 460, and a database 480.
- the program modules 460 may include a web browser 112.
- the web browser 112 may be coupled to a follow-me browser plug-in 114, such as the first follow-me browser plug-in 114A and the second follow-me browser plug-in 114B.
- the web browser 112, through the folio w-me browser plug-in may be adapted to execute the process 300A-300B for providing an agent-less follow-me service as described in greater detail above with reference to FIGs. 3A-3B.
- the computer 400 further includes user input devices 490 through which a user may enter commands and data.
- Input devices can include an electronic digitizer, a microphone, a keyboard and pointing device, commonly referred to as a mouse, trackball or touch pad.
- Other input devices may include a joystick, game pad, satellite dish, scanner, or the like.
- the input devices 490 may also include a token reader 405.
- the token reader 405 may be adapted to read the portable token 124 via a suitable wired or wireless interface.
- These and other input devices can be coupled to the processor 410 through a user input interface that is coupled to a system bus, but may be coupled by other interface and bus structures, such as a parallel port, game port or a universal serial bus ("USB").
- Computers such as the computer 400 may also include other peripheral output devices such as speakers, which may be coupled through an output peripheral interface 494 or the like.
- the computer 400 may operate in a networked environment using logical connections to one or more computers, such as a remote computer coupled to a network interface 496.
- the remote computer may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and can include many or all of the elements described above relative to the computer 400.
- Networking environments are commonplace in offices, enterprise-wide area networks ("WAN”), local area networks (“LAN”), intranets, and the Internet.
- the computer 400 When used in a LAN or WLAN networking environment, the computer 400 may be coupled to the LAN through the network interface 496 or an adapter. When used in a WAN networking environment, the computer 400 typically includes a modem or other means for establishing communications over the WAN, such as the Internet or the network 408.
- the WAN may include the Internet, the illustrated network 408, various other networks, or any combination thereof. It will be appreciated that other mechanisms of establishing a communications link, ring, mesh, bus, cloud, or network between the computers may be used.
- the computer 400 may be coupled to a networking environment.
- the computer 400 may include one or more instances of a physical computer-readable storage medium or media associated with the drives 430 or other storage devices.
- the system bus may enable the processor 410 to read code and/or data to/from the computer-readable storage media.
- the media may represent an apparatus in the form of storage elements that are implemented using any suitable technology, including but not limited to semiconductors, magnetic materials, optical media, electrical storage, electrochemical storage, or any other such storage technology.
- the media may represent components associated with memory 420, whether characterized as RAM, ROM, flash, or other types of volatile or nonvolatile memory technology.
- the media may also represent secondary storage, whether implemented as the storage drives 430 or otherwise.
- Hard drive implementations may be characterized as solid state, or may include rotating media storing magnetically- encoded information.
- the storage media may include one or more program modules 460.
- the program modules 460 may include software instructions that, when loaded into the processor 410 and executed, transform a general-purpose computing system into a special-purpose computing system. As detailed throughout this description, the program modules 460 may provide various tools or techniques by which the computer 400 may participate within the overall systems or operating environments using the components, logic flows, and/or data structures discussed herein.
- the processor 410 may be constructed from any number of transistors or other circuit elements, which may individually or collectively assume any number of states. More specifically, the processor 410 may operate as a state machine or finite-state machine. Such a machine may be transformed to a second machine, or specific machine by loading executable instructions contained within the program modules 460. These computer-executable instructions may transform the processor 410 by specifying how the processor 410 transitions between states, thereby transforming the transistors or other circuit elements constituting the processor 410 from a first machine to a second machine.
- the states of either machine may also be transformed by receiving input from the one or more user input devices 490, the network interface 496, other peripherals, other interfaces, or one or more users or other actors. Either machine may also transform states, or various physical characteristics of various output devices such as printers, speakers, video displays, or otherwise.
- Encoding the program modules 460 may also transform the physical structure of the storage media.
- the specific transformation of physical structure may depend on various factors, in different implementations of this description. Examples of such factors may include, but are not limited to: the technology used to implement the storage media, whether the storage media are characterized as primary or secondary storage, and the like.
- the program modules 460 may transform the physical state of the semiconductor memory 420 when the software is encoded therein.
- the software may transform the state of transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory 420.
- the storage media may be implemented using magnetic or optical technology such as drives 430.
- the program modules 460 may transform the physical state of magnetic or optical media, when the software is encoded therein. These transformations may include altering the magnetic characteristics of particular locations within given magnetic media. These transformations may also include altering the physical features or characteristics of particular locations within given optical media, to change the optical characteristics of those locations. It should be appreciated that various other transformations of physical media are possible without departing from the scope and spirit of the present description.
- FIG. 5 a schematic diagram that illustrates a partial view of a computer program product 500 that includes a computer program for executing a computer process on a computing device, arranged according to at least some embodiments presented herein.
- An illustrative embodiment of the example computer program product is provided using a signal bearing medium 502, and may include at least one instruction of 504: one or more instructions for receiving an indication that a portable token is within and/or outside a proximity of a computing device; one or more instructions for receiving a first link to a reference table from the portable token; one or more instructions for receiving a first link to a reference table from the portable token; one or more instructions for retrieving, via the first link to the reference table, a second link corresponding to a first state of an on-going web application; one or more instructions for opening and/or closing the on-going web application in a web browser; or one or more instructions for updating the second link in the reference table to reflect a second state of the on-going web application.
- the one or more instructions may be, for example, computer executable and/or logic implemented instructions.
- the signal bearing medium 502 of the one or more computer program products 500 include a computer readable medium 506, a recordable medium 508, and/or a communications medium 510.
- program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
- program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
- program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
- subject matter described herein may be practiced with other computer system configurations, including hand-held devices, multi-core processor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
- a group having 1-5 elements refers to groups having 1, 2,
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/999,784 US8447853B2 (en) | 2010-06-04 | 2010-06-04 | Agent-less follow-me service for cloud-based applications |
| JP2012554977A JP5658768B2 (en) | 2010-06-04 | 2010-06-04 | Agentless follow-me service for cloud-based applications |
| CN201080062384.XA CN102725996B (en) | 2010-06-04 | 2010-06-04 | Agent-less follow-me service for cloud-based applications |
| KR1020127017475A KR101394747B1 (en) | 2010-06-04 | 2010-06-04 | Agent-less follow-me service for cloud-based applications |
| PCT/US2010/037433 WO2011152833A1 (en) | 2010-06-04 | 2010-06-04 | Agent-less follow-me service for cloud-based applications |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2010/037433 WO2011152833A1 (en) | 2010-06-04 | 2010-06-04 | Agent-less follow-me service for cloud-based applications |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2011152833A1 true WO2011152833A1 (en) | 2011-12-08 |
Family
ID=45065353
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2010/037433 Ceased WO2011152833A1 (en) | 2010-06-04 | 2010-06-04 | Agent-less follow-me service for cloud-based applications |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8447853B2 (en) |
| JP (1) | JP5658768B2 (en) |
| KR (1) | KR101394747B1 (en) |
| CN (1) | CN102725996B (en) |
| WO (1) | WO2011152833A1 (en) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9645839B2 (en) * | 2010-10-27 | 2017-05-09 | Microsoft Technology Licensing, Llc | Stateful applications operating in a stateless cloud computing environment |
| US9348990B2 (en) | 2011-12-30 | 2016-05-24 | Intel Corporation | Range based user identification and profile determination |
| EP2817936B1 (en) * | 2012-02-24 | 2021-03-31 | Wyse Technology L.L.C. | Information sharing using token received via near proximity communication |
| US9065808B2 (en) | 2012-02-24 | 2015-06-23 | Wyse Technology L.L.C. | System and method for information sharing using visual tags |
| US9100822B2 (en) | 2012-02-24 | 2015-08-04 | Wyse Technology L.L.C. | System and method for information sharing using visual tags |
| US8990406B2 (en) | 2012-02-24 | 2015-03-24 | Wyse Technology L.L.C. | System and method for information sharing using near proximity communication |
| US8966092B2 (en) | 2012-02-24 | 2015-02-24 | Wyse Technology L.L.C. | System and method for information sharing using near proximity communication |
| US20140020081A1 (en) * | 2012-07-16 | 2014-01-16 | Qualcomm Incorporated | Portable Token Device |
| US9460300B1 (en) * | 2012-09-10 | 2016-10-04 | Google Inc. | Utilizing multiple access control objects to manage access control |
| CN103002019B (en) * | 2012-11-14 | 2016-01-13 | 北京奇虎科技有限公司 | Browser and browser send the method for page trip message |
| US9113329B2 (en) * | 2013-11-18 | 2015-08-18 | Tyfone, Inc. | Mobile device learning mode for secure identification |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050268301A1 (en) * | 2004-05-26 | 2005-12-01 | Kelley Brian H | Method, software and apparatus for using application state history information when re-launching applications |
| US20070204166A1 (en) * | 2006-01-04 | 2007-08-30 | Tome Agustin J | Trusted host platform |
| US20100088205A1 (en) * | 2008-10-02 | 2010-04-08 | Verizon Business Network Services Inc. | Methods, Systems and Computer Program Products for a Cloud Computing Spot Market Platform |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000231524A (en) * | 1999-02-10 | 2000-08-22 | Toshiba Corp | Network computing system, communication control method in the system, and storage medium storing the method |
| JP2002091851A (en) * | 2000-09-12 | 2002-03-29 | Toshiba Corp | Information providing method and relay server device |
| US7483983B1 (en) * | 2000-11-13 | 2009-01-27 | Telecommunication Systems, Inc. | Method and system for deploying content to wireless devices |
| JP2002157040A (en) * | 2000-11-22 | 2002-05-31 | Nippon Telegr & Teleph Corp <Ntt> | User authentication method and user authentication system using wireless tag |
| US6970547B2 (en) * | 2003-05-12 | 2005-11-29 | Onstate Communications Corporation | Universal state-aware communications |
| US7673340B1 (en) * | 2004-06-02 | 2010-03-02 | Clickfox Llc | System and method for analyzing system user behavior |
| US7584194B2 (en) * | 2004-11-22 | 2009-09-01 | Truveo, Inc. | Method and apparatus for an application crawler |
| US8655953B2 (en) * | 2008-07-18 | 2014-02-18 | Porto Technology, Llc | System and method for playback positioning of distributed media co-viewers |
-
2010
- 2010-06-04 JP JP2012554977A patent/JP5658768B2/en not_active Expired - Fee Related
- 2010-06-04 WO PCT/US2010/037433 patent/WO2011152833A1/en not_active Ceased
- 2010-06-04 KR KR1020127017475A patent/KR101394747B1/en not_active Expired - Fee Related
- 2010-06-04 US US12/999,784 patent/US8447853B2/en not_active Expired - Fee Related
- 2010-06-04 CN CN201080062384.XA patent/CN102725996B/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050268301A1 (en) * | 2004-05-26 | 2005-12-01 | Kelley Brian H | Method, software and apparatus for using application state history information when re-launching applications |
| US20070204166A1 (en) * | 2006-01-04 | 2007-08-30 | Tome Agustin J | Trusted host platform |
| US20100088205A1 (en) * | 2008-10-02 | 2010-04-08 | Verizon Business Network Services Inc. | Methods, Systems and Computer Program Products for a Cloud Computing Spot Market Platform |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102725996B (en) | 2015-03-18 |
| JP2013520745A (en) | 2013-06-06 |
| US8447853B2 (en) | 2013-05-21 |
| KR101394747B1 (en) | 2014-05-15 |
| US20110302297A1 (en) | 2011-12-08 |
| KR20120091438A (en) | 2012-08-17 |
| JP5658768B2 (en) | 2015-01-28 |
| CN102725996A (en) | 2012-10-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8447853B2 (en) | Agent-less follow-me service for cloud-based applications | |
| US11343321B2 (en) | Efficient provisioning of devices | |
| US8862693B2 (en) | Remote access and administration of device content and configuration using HTTP protocol | |
| CN104904241B (en) | Systems, methods and articles for providing communications and services involving automotive head units | |
| CN108370379B (en) | Device management method and system with tunnel | |
| EP2974209B1 (en) | Accessing a cloud-based service using a communication device linked to another communication device storing the required password | |
| US9699169B2 (en) | Computer readable storage media for selective proxification of applications and method and systems utilizing same | |
| CN103369531B (en) | A kind of method and device that control of authority is carried out based on end message | |
| US20150146706A1 (en) | Remotely Provisioning And Operating A Headless WIFI Device | |
| US9503444B2 (en) | System and method for sharing access to a service within a home network | |
| WO2013039757A1 (en) | Mobile device authentication and access to a social network | |
| US20140201366A1 (en) | Smartphone apps in a cloud | |
| US11531747B2 (en) | Method for exchanging data between a web browser and an application | |
| CN103812900A (en) | Data synchronization method, device and system | |
| JP6442449B2 (en) | Method and system for removing router vulnerabilities | |
| CN108965332B (en) | Multi-site user login state synchronization method and system | |
| US20080148372A1 (en) | Method and Apparatus for Managing Configuration Settings in a Network | |
| CN102130923A (en) | Method and system for achieving group communication | |
| JP6887746B2 (en) | Terminal management system, terminal control device, terminal management method and communication control program | |
| CN104065692A (en) | Web-game interaction method, device and system | |
| CN102130971A (en) | Method and system for realizing peer-to-peer (P2P) communication on webpage | |
| KR101754980B1 (en) | Data transmission apparatus and data transmission method using the same | |
| KR101607755B1 (en) | Clouding system according to USB memory access | |
| HK1174447B (en) | Virtual host security profiles |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 201080062384.X Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 12999784 Country of ref document: US |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10852620 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 20127017475 Country of ref document: KR Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2012554977 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 10852620 Country of ref document: EP Kind code of ref document: A1 |