Embodiment
Generally speaking, the disclosure is at following technology: allow the user between two or more equipment, such as at mobile device (for example, cell phone) and between the computing equipment, switch, make and on an equipment, can on another equipment, be continued to carry out (be resumed) in the application of using, and the user can not lose its position in this application.For example, if the user just checks particular webpage at mobile device, bring into use computing equipment then and carry out the web browser, then the indication when forward part (for example, current paragraph) of this webpage that this mobile device can be shown with the URL(uniform resource locator) (URL) of this webpage and this mobile device offers this computing equipment.This computing equipment can receive the indication when forward part of the shown webpage of current web page and this mobile device, and (that is, without user intervention) shows this webpage and be automatically scrolling to the part of the shown webpage of mobile device automatically then.
Mobile device can be used periodically for activity and preserve application state, and application state is uploaded to external unit, and it is called as the application state server in the disclosure.In some instances, the application state server can be the equipment identical with the computing equipment that continues the execution application.That is, in some instances, computing equipment can be realized the functional of application state server.In some instances, the application state server can be the autonomous device of communicating by letter with computing equipment with mobile device.In either case, mobile device can periodically send to the application state server with the indication of one or more movable current application states of using.
Mobile device can receive the indication that another equipment has begun to carry out this application from the application state server.Carrying out the indication of this application in response to receiving another equipment, mobile device can stop the indication subsequently of current application state to be sent to the application state server from this mobile device.For example, mobile device can for example receive the indication that computing equipment has begun to carry out this application from application state server and/or computing equipment, and in response, forbids the following application state of this application is upgraded.As another example, mobile device can receive the user from the user and not re-use the indication that this mobile device is carried out this application.Mobile device can be forbidden the indication in future of the current application state of this application is sent to the application state server then.
In addition, the application state server can provide the indication of current (for example, nearest) application state to the computing equipment that begins to carry out this application.Computing equipment can use the indication of application state to carry out the execution of some place continuation to using that last application state upgrades at mobile device.By this way, when moving between two equipment that the user is when carrying out same application at both---for example web browser, e-mail applications, use or other application such as multimedia application, the recreation of movie player or music player---, the seamless relatively transformation of can experience application carrying out.
Figure 1A is the block diagram of examples shown system 10, and in example system 10, mobile device 16 and computing equipment 18 can provide and/or receive the indication of the application state of various application.Particularly, in the example of Figure 1A, mobile device 16 and computing equipment 18 can be configured to provide application state to upgrade by network 14 to application state server 12.For example, when the user was just mutual with the performed application of mobile device 16, mobile device 16 can periodically provide application state to upgrade to application state server 12.After a while, the user can switch to computing equipment 18 and carry out this application, and computing equipment 18 can make computing equipment 18 to upgrade the execution that continues this application from nearest application state from the nearest application state of application state server 12 retrievals.Similarly, computing equipment 18 can be configured to provide application state to upgrade to application state server 12 when carrying out also the application that can be carried out by mobile device 16.
By this way, system 10 can work as the user between equipment, when moving between mobile device 16 and computing equipment 18, experiences for the user provides continuous application.Although for illustrative purposes, application of main reference is described, yet, should be understood that technology of the present disclosure can be applied to 16 performed, any amount of application carried out subsequently of computing equipment 18 then of mobile device.In addition, although again for illustrative purposes, be described with reference to mobile device and computing equipment, yet, should be understood that technology of the present disclosure can be applied to carry out any two or more equipment of same or similar application.For example, the equipment of system 10 can be corresponding to two or more fixedly any combinations of computing equipment, two or more mobile devices or fixing and/or mobile device.In two or more equipment any one can maybe can be carried out any other equipment of application corresponding to for example personal computer, workstation computer, laptop computer, flat computer, cell phone, smart mobile phone, personal digital assistant.
Technology of the present disclosure can be applied to multiple different application.Generally speaking, these technology can be applied to the application that can be carried out by mobile device 16 and computing equipment 18.For example, described technology can be applied to web browser, email reader, document reader, the multimedia player such as video and music player, recreation or other application.Generally speaking, mobile device 16 performed application can be different from the performed application of computing equipment 18, but can be the application of same type, for example are the application for identical purpose.Therefore, quoting of the performed application of mobile device 16 and computing equipment 18 both (or any other two equipment) is appreciated that the different application that comprises that mobile device 16 and computing equipment 18 are performed, but it is performed for identical purpose.For example, mobile device 16 performed web browsers can be different from the performed web browser of computing equipment 18, but can still be considered to identical application, because these two web browsers are expected the realization HTTP(Hypertext Transport Protocol), can retrieve and present internet website etc.
The state that offers application state server 12 upgrades can be specific to the application that can be carried out by two or more equipment of for example mobile device 16 and computing equipment 18.As an example, each can carry out separately web browser mobile device 16 and computing equipment 18.For example, the user can check webpage at specific URL(uniform resource locator) (URL) alternately with the web browser of mobile device 16.According to technology of the present disclosure, mobile device 16 can periodically provide application state to upgrade to application state server 12.With reference to the example of web browser, application state upgrades and can comprise for example indication of the URL of the current webpage of just checking with the web browser of mobile device 12.In some instances, the web browser can be for example by opening a plurality of windows for the web browser or Shipping Options Page is checked a plurality of URL.Therefore, application state upgrades and can comprise a plurality of URL.
In addition, the designator of application state can comprise at least part of information of creating the current visual representation of using again.Example with reference to the web browser, for example, current visual representation can be corresponding to current paragraph, word, sentence, row number, HTML(Hypertext Markup Language) anchor tag, picture, chapters and sections, link or just by other indications when forward part of the webpage of web browser display.By this way, when switching to computing equipment 18 after the user is using mobile device 16, computing equipment 18 can show and the mobile device 16 previous substantially the same information that show.For example, computing equipment 18 can be automatically scrolling to the part of the shown webpage of before the user switches to computing equipment 18 from mobile device 16 mobile device 16.
As another example, each can be configured to carry out separately e-mail applications mobile device 16 and computing equipment 18.In such example, the indication of application state can be described the specific e-mail of the current demonstration of e-mail applications and current paragraph, row, sentence or other expressions of the position in Email when the user switches to computing equipment 18 from mobile device 16.Therefore, mobile device 16 can be the indication of the application state of the shown current Email of the more newly-generated indication mobile device of application state 16 and the position in current shown Email.
As another example, application can be corresponding to multimedia player, such as music or movie player.In this example, application state can be described played current song or video, and the current time position in this song or video.The current time position can define the time location in played multi-medium data when determining application state.Therefore, current visual representation can be corresponding to the status bar of visually representing the current time position of played song or video.Current song or video that mobile device 16 can be play for the more newly-generated indication mobile device 16 of application state, and the indication of the application state of the time location in this song/video.In some instances, mobile device 16 can also transfer to this song or video application state server 12 or directly transfer to computing equipment 18, supposes suitable such the passing on of copyright rules permission.
Figure 1B is the block diagram that diagram comprises another example system 20 of mobile device 22 and computing equipment 24.In this example, mobile device 22 can directly send to computing equipment 24 with the indication of application state, rather than as among Figure 1A, and the indication of application state is sent to server.That is, the user can use mobile device 22 to carry out application in a period of time.This user can begin to carry out this application at computing equipment 24 then.
Computing equipment 24 can send the indication that computing equipments 24 begin to carry out this application to mobile device 22, and request is as the current application state of the performed application of mobile device 22.After mobile device 22 receives the indication of current application state, computing equipment 24 can be in the execution that continues as the current application state that receives from mobile device 22 this application.
Mobile device 22 and computing equipment 24 set up couple mobile device 22 and computing equipment 24 communicatedly be connected 26.Mobile device 22 can be couple to computing equipment 24 in many ways communicatedly.For example, computing equipment 24 can comprise USB (universal serial bus) (USB) port that allows mobile device 22 to be coupled to computing equipment 24 by the USB cable such as the micro USB cable.Except allowing mobile device 22 and computing equipment 24 is communicated by letter, USB cable can be used for the battery charge to mobile device 22.As another example, mobile device 22 can wirelessly be couple to wireless exchange board or the wireless router (not shown) of the network that computing equipment 24 also is coupled to.
Connecting after 26, mobile device 22 can send the indication of application state in many ways to computing equipment 24.In one example, mobile device 22 can send the indication of one or more application states from trend computing equipment 24.That is, mobile device 22 can be pushed to application state information computing equipment 24.In another example, when computing equipment 24 also is mounted (or for it when being coupled to mobile device 22 and when the user carries out by connecting 26, similarly use and be mounted) during application on mobile device 22, computing equipment 24 can be to mobile device 22 request application state informations.That is, computing equipment 24 can pull application state information from mobile device 22.In some instances, mobile device 22 and computing equipment 24 can be configured to push and pull data respectively.
In some instances, mobile device 22 and computing equipment 24 can be configured to carry out separately should be used for impel mobile device 22 to send application state informations to computing equipment 24.For example, computing equipment 24 performed application can be identified mobile device 22 and when set up with computing equipment 24 and be connected 26, and in response, for asking application state informations to mobile device 22 by one or more application of computing equipment 24 and mobile device 22 both execution.As another example, mobile device 22 performed application can be identified when to have set up and connect 26, and in response, send application state information to computing equipment 24.Mobile device 22 can stop to carry out this application (for example, can stop played songs or video) when application state is sent to equipment 24.
When technology of the present disclosure being embodied as when allowing application that application state information exchanged, the application that causes the application state information exchange between mobile device 22 and computing equipment 24 can provide and allow the user to dispose the configuration setting of the exchange of application state information.For example, can provide following option to the user: make application state information the exchange robotization, represent another equipment and asked the indication of application state information and only when user's positive response comes permission equipment to send application state information, just send application state information or use and forbid the application state information exchange fully for one or more (or all).By this way, the user can enable at any time or forbid in the exchange such as the application state information between two equipment of mobile device 22 and computing equipment 24.In the example system 10 of Figure 1A, can provide similar config option to the user.
Although for illustrative purposes, Figure 1B is described as mobile device 22 provides the application lastest imformation to computing equipment 24, yet, should be understood that computing equipment 24 can provide the application lastest imformation to mobile device 22 similarly.By this way, the user can at first use computing equipment 24 to carry out application, wishes subsequently then to continue to carry out this application at mobile device 22.Therefore, computing equipment 24 can be used for this and determine the current application state, and should send to mobile device 22 by current application state.This user then can be in the execution of mobile device 22 continuation to this application.In addition, can use two or more similar devices with reference to the technology that Figure 1B describes, for example, two or more mobile devices, two or more fixedly any combination of computing equipment or movement and fixed equipment realize.
In addition, in some instances, the technology that reference diagram 1A and 1B are described combines.That is, in some instances, mobile device can be configured to based on various configuration datas, provides application state to upgrade to application state server and/or computing equipment.For example, use for first, mobile device can be configured to directly provide application state information to computing equipment, and for Another application, and mobile device can be configured to provide application state information to the application state server such as the application state server 12 of Figure 1A.
Fig. 2 is diagram provides block diagram from the example mobile device 30 of application state information to the external unit such as application state server or remote computing device.In the example of Fig. 2, mobile device 30 comprises display 32, control module 34 and external apparatus interface 44.Control module 34 comprises state determination module 36, state update module 38, time block 40 and one or more application 42.Mobile device 30 can be corresponding to mobile device 16(Figure 1A) or mobile device 22(Figure 1B), and in some instances, can comprise being similar to both functional of mobile device 16 and mobile device 22.
Display 32 can or can represent other displays of text and/or image to the user corresponding to liquid crystal display (LCD) screen, touch-screen display.Display 32 can form user interface at least part of of mobile device 30.When corresponding to touch-screen, display 32 can pass through touch-screen in addition, for example when the user selects touch-screen regional, receives input from the user.External apparatus interface 44 can be corresponding to the interface that is used for external device communication.External apparatus interface 44 can be corresponding to small-sized or micro USB port, network interface unit, radio network interface, such as the interface or other interfaces that are used for being connected to wireless lan (wlan) or third generation partner program (3GPP) network.In some instances, mobile device 30 can comprise more than an external apparatus interface, with in various manners with external device communication.
Control module 34 can comprise one or more processors or processing unit, such as microprocessor, special IC (ASIC), digital signal processor (DSP), field programmable gate array (FPGA) or other processing units.Control module 34 may further include and can and use the computer-readable recording medium of 42 storage instructions for for example state determination module 36, state update module 38, time block 40, such as flash memory.Therefore, one or more processing units can be carried out described instruction and carry out and belong to state determination module 36, state update module 38, time block 40 and use 42 function.In some instances, state determination module 36, state update module 38, time block 40 and use in 42 any one or all can be corresponding to single hardware cell.State determination module 36, state update module 38, time block 40 and use any one in 42 or all can be integrated into and/or be divided into further module or unit in function.
Using 42 can comprise that control module 34 can be carried out and also can be carried out one or more application of (or for it, can carry out functional analogue) by another equipment.For example, use 42 can comprise following one or more: web browser, email client, recreation, document reader, spreadsheet program, text editor, such as multimedia player or other application of video and/or music player.As mentioned above, be used for any one of application 42 or the computer-readable recording medium that whole instructions can be stored in control module 34.Described instruction can be carried out by one or more processors or the processing unit of control module 34.
State determination module 36 can be configured to definite one or more application state of using in 42 when using 34 execution of 42 controlled units.The execution of application 42 generally comprises in response to which is used 42 generation outputs, and for example vision shows, receives input from for example user.The current application state generally can be corresponding to about using the information of one execution in 42, and this information is enough to impel the identical or different equipment of carrying out this application to represent at least part of that this vision shows under the situation that need not receive the same subscriber input.
As example, with reference to the web browser application, the web browser can receive to expect the input of URL(uniform resource locator) (URL) form of webpage from the user.In addition, this web browser can receive to be rolled to user's input of the specific part form of this webpage.The example application state of Web browser can comprise URL, and in some instances, as the part of current shown, corresponding with this URL webpage of the result of the rolling of importing as the user or other mobile sequences.That is, state determination module 36 can be determined the current location of the webpage corresponding with this URL that this URL and display 32 are shown, and makes up the application state of the expression of the position that comprises this URL and webpage.Therefore, another equipment of carrying out the web browser can receive application state from mobile device 30 by external apparatus interface 44, and based on the application state information that receives from mobile device 30, this web browser is directed to this URL, is automatically scrolling to the part of the shown webpage of mobile device 30 then.
As another example, with reference to e-mail, the input of the email documents form that email client can receive to select.In addition, this email client can receive to be rolled to user's input of the specific part form of this email documents.State determination module 36 can be determined the current email documents that when control module 34 is carried out email clients display 32 is shown, and in some instances, shown email documents work as forward part, and make up the application state information of working as forward part of the current email documents of expression and shown email documents.Therefore, another equipment of carrying out email client can---be supposed the e-mail server that this another equipment can calling party---and receive application states by external apparatus interface 44 from mobile device 30, and based on the application state information that receives from mobile device 30, impel email client to show identical email documents, be automatically scrolling to the part of the shown email documents of mobile device 30 then.
In other examples, based on the performed application-specific of control module 34, application state can comprise other information.For example, the performed recreation of control module 34 are used can have the following application state of indication: still the chess piece on the match chessboard, still the board in secondary playing cards with and order in these pair playing cards, still the board in being at play with and position (for example, for mah-jong pieces), score value, timing information or be used for creating again other at least part of data of the visual representation of recreation.As another example, document reader can have the application state of the part of the document opened of indication and current shown document.As another example again, can have the application state of the current time of the played song of indication or video and played song or video such as the multimedia application of video or audio player.In the example of multimedia application, the part of visual representation can be corresponding to the HScrollBar corresponding with the current time position of song or video.
In some instances, for example, as shown in Figure 1B, state determination module 36 can be according to the request from external unit, is the one or more definite current application state in the performed application 42 of control module 34.In other examples, state determination module 36 can be for example in response to the request from state update module 38, for determining the current application state as the one or more periodicity in the performed application 42 of control module 34.State update module 38 can be configured to the 42 periodic request current application states of application, and will offer the applications state server to the renewal of using, for example, and as shown in Figure 1A.In such example, state update module 38 can be configured to and will one or more state update cycle property of using in 42 be offered the application state server.
State update module 38 can be from state determination module 36 for using the indication of the one or more reception current application states 42.State update module 38 can offer application state information the application state server then.The contextual information that state update module 38 can further provide state to upgrade to the application state server is such as the peculiar identifier of the mobile device 30 of unique identification mobile device 30.State update module 38 can determine to provide to the application state server times of state renewal alternately with time block 40.For example, state update module 38 can be configured to the Delta Time section, for example every X minute or hour, provide application state to upgrade to the application state server.Therefore, when time block when 40 instruction time, section was expired, state update module 38 can be from state determination module 36 retrieval current application states, and should send to the application state server by current application state.
In response to the indication that has begun to carry out this application from another computing equipment of external unit, for example, from the message of application state server or computing equipment self, state update module 38 can forbid that following application state upgrades.For example, state update module 38 can be forbidden time block 40, the update mode flag is set to vacation (wherein when time block 40 expirations, state update module 38 can check that the update mode flag determines whether to send the application state renewal to the application state server), stops to carry out application or stop following application state renewal to be sent out from mobile device 30 in addition.State update module 38 can no longer be carried out the indication of this application in response to external computing device, continues to send application state and upgrades.
In some instances, mobile device 30 can receive from the user and indicate this user no longer to wish the input that mobile device 30 provides application state to upgrade to the application state server.In some instances, mobile device 30 can only receive and stop to send the indication that application state upgrades, and transmitting apparatus can begin to carry out mobile device 30 performed one or more application and generates this indication and send it to mobile device 30 in response to definite computing equipment.Under any circumstance, when another equipment that is associated with mobile device 30 has begun executing state update module 38 when generating the application that application state upgrades for it, state update module 38 can forbid that generally application state upgrades.
Although the example with reference to mobile device is described, yet other equipment can comprise those the similar assemblies with mobile device 30.For example, laptop computer, flat computer, personal computer, workstation computer or other such computing equipments can comprise those similar assemblies of describing with reference mobile device 30.
Fig. 3 is the block diagram of exemplary arrangement of the assembly of diagram application state server 12.In the example of Fig. 3, application state server 12 comprises control module 52 and external apparatus interface 60.External apparatus interface 44 can be corresponding to the interface that is used for external device communication.External apparatus interface 44 can be corresponding to USB port, network interface unit, radio network interface, such as the interface or other interfaces that are used for being connected to wireless lan (wlan).In some instances, application state server 12 can comprise more than an external apparatus interface, with in various manners with external device communication.
In the example of Fig. 3, control module 52 comprises that state update module 54, status retrieval module 56, status data 58 and equipment gather pack module 62.Control module 52 can comprise one or more processors or processing unit, such as microprocessor, ASIC, DSP, FPGA or other processing units.Control module 52 may further include can be for for example computer-readable recording medium of poly-pack module 62 storage instructions of state update module 54, status retrieval module 56 and equipment, such as flash memory.Therefore, these one or more processing units can be carried out described instruction and carry out the function that belongs to the poly-pack module 62 of state update module 54, status retrieval module 56 and equipment.In some instances, any one in the poly-pack module 62 of state update module 54, status retrieval module 56 and equipment or all can be corresponding to single hardware cell.In the poly-pack module 62 of state update module 54, status retrieval module 56 and equipment any one or all can be integrated into and/or be divided into further module or unit in function.
Status data 58 can be corresponding to the database of the application state that comprises the application that multiple distinct device is performed.In other examples, status data 58 can be organized into flat file, one or more data structure or other organization schemes.Generally speaking, status data 58 is can be by the application memory current application state of any one execution in the equipment of a plurality of associations.As example, the equipment group can comprise user's personal computer and this user's cell phone.Status data 58 can for as the group in equipment in a performed application (for example, web browser, email client, recreation, multimedia application etc.) storage current application state, other equipment in this group of making can be retrieved this application state and continue execution to this application, for example, when the user switches in other equipment in this group and begins to carry out this application.
Status data 58 can be a plurality of application memory current application states that are associated with the equipment group.In addition, status data 58 can be a plurality of equipment group storage current application states.The poly-pack module 62 of equipment can make equipment be associated to form group.Keeper or other users can be provided for making the information of device association formation group together.For example, when use will be added to the equipment of group, the user can should be added to the group that is associated with this user's login authority to this equipment that application state server 12 provide login authority (for example, username and password) and indication to be used.The user can create a plurality of groups.Each group can with can be associated by one or more application of any one execution in the equipment of this group.The poly-pack module 62 of equipment can be with the association store of equipment room in status data 58.
State update module 54 can receive application state by the equipment of external apparatus interface 60 from group and upgrade.When having received application state and upgraded, state update module 54 can query State data 58 determine to comprise from the group that has received the equipment that this application state upgrades.The current application state that state update module 54 can be used correspondence then with comprise from the group of the equipment that has received this renewal be stored in explicitly in the status data 58.
Status retrieval module 56 can receive the request to the current application state of application-specific from the equipment of particular group.In response, status retrieval module 56 can and comprise the group of the equipment of the request of sending to status data 58 these application of inquiry, retrieves this current application state and provides this current application state by external apparatus interface 60 to the equipment that has sent this request.In addition, status retrieval module 56 can generate and send message and give by external apparatus interface 60 and sent the equipment of this group of should current state upgrading to application state server 12, stops to send the application state renewal to impel this equipment.
In some instances, control module 52 can be realized the token transmission scheme, and wherein the only equipment in the group can be given " token ".Can authorize the equipment that has token and send the right that application state upgrades.Therefore, state update module 54 can be when having received the application state renewal, determine to provide the equipment of this renewal whether token (for example, whether this equipment is allowed to provide application state to upgrade) to be provided and only when this equipment has token (or being allowed to upgrade the current application state in addition), just to upgrade this current application state.The equipment except the equipment that has been awarded token in the group can be asked token, and in this case, this token can be removed and pass to the equipment of the request of sending from current device.Generally speaking, having the equipment of token can be corresponding to the current equipment that is used for carrying out application-specific of user.
Fig. 4 is that diagram is used for providing the periodically process flow diagram of the exemplary method of application state renewal to the application state server.Although for illustrative purposes, with reference to mobile device 30(Fig. 2) be described, yet, should be understood that, can use any suitable equipment to realize the also exemplary method of execution graph 4.
At first, mobile device 30 can begin to carry out application (80).For example, control module 34 can begin to carry out one that uses in 42.One the selection that control module 34 can for example receive using 42 from the user begins to carry out.For example, the user can select with the touch screen interaction of mobile device 30 and use corresponding icon, and control module 34 can receive the selecteed indication of this icon, and and then, retrieve and begin to carry out instruction for this application.
State determination module 36 can be determined current application state (82) for performed application then.For example, for the web browser application, state determination module 36 can be determined the position of current web page URL and this webpage that is shown.As another example, for e-mail applications, state determination module 36 can be determined the position of the current email documents of being read and this email documents that is shown.As another example, use for recreation, state determination module 36 can be determined the current state of playing, for example, board in secondary playing cards with its order and be at play in board and its position (for example, for patience), board be at play position (for example, for mah-jong pieces) in the district or other positions of game chess-card and existence/do not exist.As another example again, for multimedia application, state determination module 36 can be determined current multimedia file (for example, song or video) and the current time position in played multi-medium data that multimedia application is play.
State update module 38 then can be to such as application state server 12(Figure 1A) the application state server provide application state to upgrade (84).In some instances, state update module 38 can directly provide application state to upgrade to the equipment that can carry out by this performed application of control module 34.After the application state renewal was provided, in the example of Fig. 4, state update module 38 can be carried out time block 40(86), for example, before application state renewal subsequently is provided, to wait for predetermined time quantum.
When waiting for the indication (90) that predetermined time quantum has expired, state update module 38 can check the indication (for example, message or signal) (88) that stops to provide the application state renewal.If do not receive such message (88 "No" branches), then control module 34 can continue to carry out time block 40(86).If predetermined time quantum expire (90 "Yes" branches) after previous application state upgrades, then state determination module 36 can be determined current application state (82) for the application that is performed again, state update module 38 can provide application state to upgrade (82) to for example application state server, reinitializes time block 40(86 then).If predetermined time quantum is not expiration (90 "No" branches) as yet, then state update module 38 can continue to carry out time block 40(86).
On the other hand, stop to send the message (88 "Yes" branches) that application state upgrades if state update module 38 has received, then state update module 38 can forbid sending following state renewal (92).In some instances, control module 34 can stop to carry out application.Control module 34 can be as an alternative more continues to carry out under the news and uses not sending application state.
The method of Fig. 4 can be summarized as: first equipment is carried out and is used; Determine the current application state of this application, wherein this current application state comprises current visual representation at least part of of this application; Do not having under the situation of user intervention, the indication of determined current application state is sent to the second different equipment from first equipment, and wherein the indication of determined current application state comprises at least part of information for the current visual representation of creating this application again; And carrying out the indication of this application in response to the 3rd equipment that receives, stop the indication subsequently of current application state to be sent to second equipment from first equipment.Though in the above with reference to being described with reference to the exemplary components of figure 2 described mobile devices 30, yet, should be understood that the method that other equipment can execution graph 4.
Fig. 5 is the process flow diagram that diagram is used for exchanging between mobile device and computing equipment by the application state server exemplary method of application state information.Though the example with reference to mobile device and computing equipment is described, yet, should be understood that, the method of Fig. 5 can be by various types of two or more equipment---for example, two or more mobile devices, two or more fixedly any combinations of computing equipment and/or mobile and fixed equipment---carry out.In some instances, can carry out in addition corresponding to the equipment of computing equipment and belong to the functional of application state server.
In the example of Fig. 5, mobile device 16(Figure 1A for example) mobile device is carried out and is used (100).When carrying out application, mobile device 16 upgrades (102) to the application state that application state server 12 periodically sends indication current application states, and application state server 12 is stored these current application states (104).For example, application state server 12 can be determined the identifier of mobile device 16, and with the application state that receives with comprise that the equipment group of the identifier of mobile device 16 is stored in the database explicitly.
When the message that does not stop to send renewal was received (106 "No" branches), mobile device 16 can continue to carry out this application (100) and periodically send application state to application state server 12 and upgrades (102).For example begin to carry out this application (or similar application) (108) afterwards at computing equipment 18, computing equipment 18 can be to the current application state (110) of application state server 12 these application of request.Suppose as shown in example, the application state server has been stored the current application state of this application, application state server 12 can be retrieved the application state of storing (112) and the indication (114) that has begun to carry out this application to the new equipment (in this example, computing equipment 18) of mobile device 16 transmissions.Therefore, mobile device 16 can forbid that following state upgrades (116) in response to receiving this indication (106 "Yes" branches) from application state server 12.
In addition, application state server 12 can send the indication (118) of current application state to computing equipment 18.In the indication (120) that receives the current application state afterwards, computing equipment 18 can continue the execution (122) to this application from the indicated point of indication of the application state that receives.For example, for the web browser application, computing equipment 18 can be from the indicated URL searching web pages of the designator of current application state, shows this webpage and is automatically scrolling to the indicated position of designator of current application state.As another example, for e-mail, computing equipment 18 can represent the email documents of the designator of application state, and is automatically scrolling to the indicated position of application state.Use for recreation, computing equipment 18 can be created the state as the indicated recreation of the designator of application state again.For multimedia application, computing equipment 18 can load the indicated multimedia data file of current application state (for example, song or video), and begins to play this multimedia data file from the indicated time location of the designator of application state.
Fig. 6 is the process flow diagram that diagram is used for exchanging between mobile device and computing equipment by the application state server another exemplary method of application state information.In the example of Fig. 6, mobile device 16 for example in response to the request from application state server 12, provides the indication of current application state according to demand, rather than the indication of application state periodically is provided.Again, although the element with reference to the example of Figure 1A is described, yet, should be understood that, the method of Fig. 6 can be by any suitable equipment---for example, two or more mobile devices, two or more fixedly any combinations of computing equipment or mobile and fixed equipment---carry out.
In the example of Fig. 6, mobile device 16 can be carried out application (140), and before the request of for example application state server 12 reception transmission current application states, continues to carry out this application (142).In a certain moment during carrying out this application, computing equipment 18 can begin to carry out this application (144).Therefore, computing equipment 18 can be to application state server 12 request current application states (146).In response to the request to the current application state, application state server 12 can be determined and may carry out computing equipment 18 associated device (in this example, mobile device 16) of this application.Therefore, application state server 12 can be to mobile device 16 these current application states (148) of request.
In response to the request to the current application state, mobile device 16 can send the indication (150) of this current application state to application state server 12.Application state server 12 can receive the indication (152) of this current application state, and indication that then will this current application state sends to computing equipment 18(154).In the indication (156) that receives this current application state afterwards, computing equipment 18 can be in the execution (158) of this current application state continuation to this application.
Fig. 7 is that diagram is used at for example mobile device 22 and computing equipment 24(Figure 1B) the process flow diagram of another exemplary method of two exchanged between equipment application states.In the exemplary method of Fig. 7, mobile device 22 and computing equipment 24 exchange the indication of current application state under the situation of not using the application state server.Though for illustrative purposes, be described with reference to mobile device 22 and computing equipment 24, yet, should be understood that, any two equipment can execution graph 7 technology, for example, two or more mobile devices, two or more fixedly computing equipment or its any combinations.
In the example of Fig. 7, mobile device 22 is carried out and is used (180), and waits for the request (182) that receives the current application state.In a certain moment during mobile device 22 is carried out this application, computing equipment 24 can begin to carry out this application or can for example receive the request (184) that begin to carry out this application from the user.In response, computing equipment 18 can send the request (186) as the indication of the performed current application state of mobile device 22 to mobile device 22.
In response to this request, mobile device 22 can send the indication (188) of this current application state to computing equipment 18.In the indication (190) that receives these current application states from mobile device 22 afterwards, computing equipment 18 can continue execution (192) to this application from the indicated state of the indication of this current application state.
Technology described in the disclosure can at least part ofly realize with hardware, software, firmware or its any combination.For example, the various aspects of described technology can be at one or more processors, comprise in any combination of the of equal value integrated or discrete logic circuitry of one or more microprocessors, digital signal processor (DSP), special IC (ASIC), field programmable gate array (FPGA) or any other and such assembly realizing.Word " processor " or " treatment circuit " generally can refer to separately or with any aforementioned logical circuit or any other equivalent circuit of other logical circuits combinations.The control module that comprises hardware also can be carried out one or more in the technology of the present disclosure.
Can realize in same equipment or in separation equipment that such hardware, software and firmware are supported in various operations and the function described in the disclosure.In addition, but but any described unit, module or assembly can be together or are implemented as the logical device of discrete co-operate respectively.Different characteristic is depicted as module or unit is intended to outstanding different function aspects, and might not hint that such module or unit must be realized by isolating hardware or component software.On the contrary, functional can or being integrated in common or isolating hardware or the component software by isolating hardware or component software execution that is associated with one or more modules or unit.
Can also be with comprising in the technology described in the disclosure or being coded in the computer-readable medium that comprises instruction, in computer-readable recording medium.The instruction that embeds or be coded in the computer-readable medium can impel programmable processor or other processors to carry out described method for example when described instruction is performed.Computer-readable recording medium can comprise random-access memory (ram), ROM (read-only memory) (ROM), programmable read-only memory (prom), EPROM (Erasable Programmable Read Only Memory) (EPROM), EEPROM (Electrically Erasable Programmable Read Only Memo) (EEPROM), flash memory, hard disk, CD-ROM, floppy disk, tape drum, magnetic medium, light medium or other computer-readable recording mediums.Should be understood that word " computer-readable recording medium " refers to physical storage medium, and do not refer to signal, carrier wave or other temporary media.By this way, computer-readable recording medium should be interpreted as nonvolatile, physical medium.
Various examples have been described.These and its example are within the scope of the appended claims.