This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2011-080936, filed on Mar. 31, 2011 and Japanese Patent Application No. 2011-125701, filed on Jun. 3, 2011, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are directed to an application providing system and an application providing method.
In recent years, web applications that provide clients with various applications stored on web servers have become widely known. Thus, even when applications are not installed in the clients, the clients can still execute various processes by using the web applications via online web servers.
Furthermore, in recent years, the hyper text markup language (HTML) 5 has had a web application cache function. In the web application cache function, the clients cache, in application caches in web browsers, all the resources, such as the HTML, a cascading style sheet (CSS), and JavaScript (registered trademark), that are elements constituting the web applications. Then, in accordance with the resources that are cached in the application caches, the clients execute the web applications as local applications even when the clients are offline. Furthermore, after editing the content using the web applications, the clients can store the content in the clients and, when the clients are online, can store the edited content on the servers by uploading the content.
Patent Document 1: Japanese National Publication of International Patent Application No. 2010-508581
Patent Document 2: Japanese National Publication of International Patent Application No. 2007-519071
Patent Document 3: Japanese Laid-open Patent Publication No. 2004-213243
Patent Document 4: Japanese Laid-open Patent Publication No. 2005-107842
Patent Document 5: Japanese Laid-open Patent Publication No. 2003-308210
When referring to manifest files, which contain a list of resources of a web application being described, when there are resources that have been updated on a web server, a web browser usually updates the resources that have been automatically cached. In contrast, a web browser does not automatically update data resources of web applications that are not described in manifests, such as the content files that are created by clients and that are uploaded to web servers. Accordingly, a method is usually used in which, when executing a web application, the web application is described such that the latest contents are acquired from web servers.
However, even if web applications are executed offline, it is not possible for the client to acquire the latest edited content. For example, suppose there were case in which, after editing the content by using a web application, a client edits the edited content by using a web application provided from another terminal. In such a case, even if the client that uses the web application via that terminal executes the web application while offline, the client does not acquire the latest edited content; therefore, each edited content stored in each client terminal differs. Accordingly, it is not possible for the client to re-edit the latest edited content.
According to an aspect of an embodiment of the invention, an application providing system includes a communication device that includes a processor; and an application providing device that includes a processor and that provides a resource of a web application to the communication device, wherein when the processor in the application providing device detects a content that is edited by the web application executed by the communication device, the processor in the application providing device stores the edited content in the resource of the web application, and, when the processor in the application providing device detects, from the communication device, an application request for the resource of the web application, the processor in the application providing device provides the resource of the web application to the communication device that executes the application request, and when the processor in the communication device receives the resource of the web application from the application providing device, the processor in the communication device temporally stores the resource, synchronizes the stored resource with a cache in a web browser, executes the web application in accordance with the cached resource, and restores the content stored in the resource in accordance with the cached resource.
The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed.
Preferred embodiments of the present invention will be explained with reference to accompanying drawings.
The present invention is not limited to the embodiments described below.
The present inventors have developed a web application providing system for a push system.
The personal computer 4A, which is online with the web server 3, acquires, for example, a web application of document creation software from the web server 3 by using a web browser. The personal computer 4A creates and edits the content by using the web application, (Step S11). The personal computer 4A stores the created and edited content locally in the personal computer 4A and uploads the content to the web server 3 (Step S12). Then, the web server 3 stores the content uploaded from the personal computer 4A in association with the web application (Step S13). Accordingly, the same content is stored in the personal computer 4A and the web server 3.
When the push server 2 detects an update of the web application, for example, an update of the edited content (Step S14), the push server 2 performs push transmission by transmitting to, for example, the tablet device 4B an updated storage destination address related to a resource of the web application (Step S15). Then, when receiving the storage destination address, the tablet device 4B acquires the updated resource of the web application from the web server 3 in accordance with the storage destination address (Step S16). The tablet device 4B caches the resource of the web application that is acquired from the web server 3 and executes the web application in accordance with the cached resource (Step S17). Accordingly, the tablet device 4B can locally execute the web application in accordance with the cached resources even when the tablet device 4B is offline.
Furthermore, when the tablet device 4B is online with the web server 3, the tablet device 4B can acquire the latest edited content stored in the web server 3 when the web application is executed. As a result, the same content is stored in the personal computer 4A and the tablet device 4B. However, when the tablet device 4B does not execute the web application when it is online with the web server 3, the tablet device 4B does not acquire the edited content stored in the web server 3. Accordingly, while offline, the edited content locally stored in the personal computer 4A is different from that stored in the tablet device 4B (Step S18); therefore, it is not possible for the tablet device 4B to re-edit the edited content created by the personal computer 4A. Accordingly, the inventors have developed the web application providing system that can acquire the latest edited data when the web application is being executed even if it is offline.
Various timings can be conceived as the providing timing 13E. The providing timing 13E is a timing at which, for example, an update of a web application is detected by the update monitoring unit 12. The update of the web application also includes, in addition to an update of a program of the web application itself, a content update in which the content is edited by using the web application. Furthermore, when the web application is, for example, an application for browsing a menu that provides an eating place, the providing timing 13E is the timing at which, for example, the communication terminal 4 enters the communication area near the eating place. Furthermore, when the web application is a schoolbook browsing application that provides a schoolbook for a school, the providing timing 13E is the timing at which the communication terminal 4 enters the communication area in the site of the school. Furthermore, when the web application is a reference material distribution application that distributes reference materials for a meeting, the providing timing 13E is the timing at which the communication terminal 4 enters the communication area in the meeting room. Furthermore, when the web application is updated, the providing timing 13E is the timing at which the communication terminal 4 that uses the web application enters a predetermined communication area.
The timing monitoring unit 14 determines, in accordance with the providing timing 13E in the address management unit 13, whether the current timing is the providing timing 13E. When the current timing is the providing timing 13E, the timing monitoring unit 14 acquires, from the address management unit 13, the user ID 13A, the terminal ID 13B, and the storage destination address 13D that are associated with the providing timing 13E. In accordance with the acquired terminal ID 13B, the timing monitoring unit 14 specifies the communication terminal 4 associated with the providing timing. Furthermore, in accordance with the acquired storage destination address 13D, the timing monitoring unit 14 specifies a storage destination of the resource of the web application provided to the communication terminal 4 that is associated with the providing timing. When it is possible to transmit by push transmission to the communication terminal 4 that is specified by the timing monitoring unit 14, the push transmitting unit 15 transmits by push transmission the storage destination address to the communication terminal 4.
Each web server 3 includes an application management unit 21, an application providing unit 22, a content storing unit 23, a storing control unit 24, and a content acquisition unit 25. The application providing unit 22, the storing control unit 24, the content acquisition unit 25, and the like are executed by a processor (not illustrated) in the web server 3. The application management unit 21 manages, for each storage destination address, an application package 21A that stores therein the resource and the manifest of the web application. The application package 21A includes a manifest 210 and a resource 220.
The resource 220 contains the content of the resources used for the web application. The resource 220 includes an Index.html 221 that is the top page itself and a Restore.js 222 that is the restoration program itself. Furthermore, the resource 220 includes an aaa.jpg 223 that is the image file itself and a Data.json 224 that is the container file that contains the content. The JavaScript Object Notation (JSON) file is a data file having a data format with which JavaScript programs executed by the web browser can be interpreted. The restoration program is a program that extracts the content from the Data.json file and restores the content in the local storage. The Data.json 224 contains attribute information on the stored content and data on the converted content.
The content acquisition unit 25 acquires edited content in accordance with the upload of the edited content by using the web application on the communication terminal 4 side. Furthermore, the content storing unit 23 stores therein, in the content file format, the edited content of the web application acquired by the content acquisition unit 25. The storing control unit 24 includes a converting unit 24A and a storing unit 24B. The converting unit 24A converts the edited content stored in the content storing unit 23 to a data format, such as a JSON format, that can be interpreted by the restoration program in the resource. The storing unit 24B stores therein the data converted to the JSON format in the container file in the resource, such as the Data.json file. When an application request received from the communication terminal 4 is detected, the application providing unit 22 acquires, from the application management unit 21, the manifest 210 and the resource 220 of the web application for the application request. Furthermore, the application providing unit 22 provides the acquired manifest 210 and the resource 220 of the web application to the communication terminal 4 that executes the application request.
The communication terminal 4 corresponds to, for example, a mobile phone, a smart phone, a personal computer, or a tablet device that has a communication function. The communication terminal 4 includes a communication unit 31, an operating unit 32, a display unit 33, a memory 34, and a CPU 35 such as a processor. The communication unit 31 communicates with another communication terminal 4 or a server via, for example, a communication network. The operating unit 32 inputs various commands. The display unit 33 displays various kinds of information. The memory 34 stores therein various kinds of information. The CPU 35 performs the overall control of the communication terminal 4. The CPU 35 executes software, such as a web browser 40 and a push client 36. The web browser 40 and the push client 36 may also be executed on a different CPU.
The push client 36 includes a push receiving unit 51, an application acquisition unit 52, and a temporary storage 53. The push receiving unit 51 receives, from the push server 2, a storage destination address that contains the resource of the web application related to the providing timing. In accordance with the storage destination address received by the push receiving unit 51, the application acquisition unit 52 requests the resource of the web application from the web server 3. When acquiring the resource of the web application from the web server 3, the application acquisition unit 52 registers the resource of the web application in the temporary storage 53.
The web browser 40 includes a cache synchronizing unit 41, an application cache 42, an application execution unit 43, and a local storage 45. The cache synchronizing unit 41 converts the resource registered in the temporary storage 53 to the data format interpreted by the web browser and caches in the application cache 42. The application execution unit 43 executes the web application in accordance with the resource that is cached in the application cache 42. Furthermore, the application execution unit 43 executes a restoration program (Restore.js) of the resource cached in the application cache 42. By executing the restoration program, the application execution unit 43 restores the content stored in the Data.json file in the resource and stores the restored content in the local storage 45. The cache synchronizing unit 41 may also be arranged outside the web browser.
The web application providing system 1 includes a pull system and a push system. In the pull system, the communication terminal 4 requests, from the push server 2, a storage destination address of the resource of the desired web application. Then, in accordance with the storage destination address acquired from the push server 2, the communication terminal 4 acquires the resource of the web application. Furthermore, as described above, in the push system, the push server 2 provides, in accordance with the providing timing of the web application, the storage destination address of the resource of the web application to the communication terminal 4.
In the following, the operation of the web application providing system 1 according to the first embodiment will be described.
As illustrated in
Furthermore, when the user who uses the communication terminal 4 is in the vicinity of an eating place, the push server 2 determines the state of being near the eating place as the providing timing and transmits by push transmission, to the communication terminal 4, a storage destination address of the resource related to a web application for browsing the menu of the eating place. Then, the communication terminal 4 acquires, from the web server 3 containing the storage destination address received from the push server 2, the resource related to the web application for browsing the menu and caches it. Then, in accordance with the cached resource, the communication terminal 4 executes the web application for browsing the menu. Accordingly, the user can browse the menu of the eating place with the menu browsing application without performing the acquisition operation of the web application for browsing the menu.
Furthermore, when the user who uses the communication terminal 4 comes to a school, the push server 2 determines the state of coming to the school as the providing timing and transmits by push transmission, to the communication terminal 4, a storage destination address related to a web application for browsing the schoolbook. Then, the communication terminal 4 acquires, from the web server 3 containing the storage destination address received from the push server 2, the resource related to the web application for browsing the schoolbook and caches it. Then, in accordance with the cached resource, the communication terminal 4 executes the web application for browsing the schoolbook. Accordingly, the user can browse the schoolbook with the schoolbook browsing application without performing the acquisition operation of the web application for browsing the schoolbook.
Furthermore, when the user who uses the communication terminal 4 enters a meeting room, the push server 2 determines the state of entering the meeting room as the providing timing and transmits by push transmission, to the communication terminal 4, a storage destination address of the resource related to a web application for browsing the presentation material. Then, the communication terminal 4 acquires, from the web server 3 containing the storage destination address received from the push server 2, the resource of the web application for browsing the presentation material and caches it. Then, in accordance with the cached resource, the communication terminal 4 executes the web application for browsing the presentation material. Accordingly, the user can browse the presentation materials with the material browsing application without performing the acquisition operation of the web application for browsing the presentation material.
Furthermore, the storing unit 24B in the storing control unit 24 stores the content, which has been converted to the JSON-format data, in the Data.json file that is the container file in the resource (Step S24). The storing unit 24B replaces the container file in the resource with a new created container file Data.json (Step S25) and then ends the processes illustrated in
In the content update process illustrated in
When the push transmitting unit 15 in the push server 2 specifies the terminal ID 13B and the storage destination address 13D, the push transmitting unit 15 transmits, to the communication terminal 4 in the terminal ID 13B, by push transmission the storage destination address 13D (Step S33) and ends the processes illustrated in
In the address providing process illustrated in
When the application acquisition unit 52 acquires the resource (Yes at Step S43), the application acquisition unit 52 registers the acquired resource in the temporary storage 53 (Step S44). The cache synchronizing unit 41 in the web browser 40 converts the resource registered in the temporary storage 53 to the data format that can be interpreted by the web browser 40 (Step S45). Furthermore, the cache synchronizing unit 41 caches the converted resource in the application cache 42 (Step S46). The CPU 35 in the communication terminal 4 determines whether the web browser 40 has been started up (Step S47).
When the web browser 40 has been started up (Yes at Step S47), the application execution unit 43 in the web browser 40 executes the web application in accordance with the resource that is cached in the application cache 42 (Step S48). Furthermore, the restoration program that is executed by the web browser 40 determines whether content is present in the resource container (Step S49). When the content is present in the resource container (Yes at Step S49), the restoration program restores the content in the Data.json file contained in the resource (Step S50). The restoration program updates the content by storing the restored content in the local storage 45 (Step S51) and ends the processes illustrated in
When the application acquisition unit 52 has not received the storage destination address (No at Step S41), the application acquisition unit 52 determines whether the registered resource is present in the temporary storage 53 (Step S53). When the registered resource is present in the temporary storage 53 (Yes at Step S53), the application acquisition unit 52 proceeds to Step S45 in order to convert the resource.
In contrast, when the registered resource is not present in the temporary storage 53 (No at Step S53), the application acquisition unit 52 ends the processes illustrated in
In the web application acquisition process illustrated in
In the web application acquisition process, even if the web browser 40 has not been started up, the resource of the web application can be registered in the temporary storage 53. Accordingly, the web application associated with the providing timing can be automatically acquired even if the web browser 40 is not started up.
In the web application acquisition process, the resource registered in the temporary storage 53 is read and then cached in the application cache 42. Accordingly, the web application associated with the providing timing can be automatically acquired.
Furthermore, in the web application acquisition process, when content is present in the resource container that is cached in the application cache 42, the content is restored in accordance with the restoration program stored in the resource and the restored content is stored in the local storage 45. Accordingly, the client can acquire the latest content at the time of execution of the web application even when it is offline.
In the following, the operation performed when the web browser 40 in the communication terminal 4 acquires the resource of the web application from the web server 3 will be described.
When the web server 3 detects the manifest acquisition request, the web server 3 transmits, to the web browser 40, the manifest 210 in the application package 21A of the web application (Step S66). When the web browser 40 acquires the manifest 210, the web browser 40 analyzes the manifest 210 and extracts a list of resources of the web application to be acquired (Step S67). When the web browser 40 extracts the list of the resource, the web browser 40 transmits an HTML file acquisition request that is described in the manifest to the web server 3 (Step S68). Furthermore, in accordance with the resource acquisition request described in the manifest, the web server 3 transmits the resource to the web browser 40 (Step S69). In the above processes, the web server 3 transmits the resource of the web application to the web browser 40; however, when transmitting the resource next time and subsequently to that time, an updated file, such as content, may also be transmitted. When the resource is acquired, the web browser 40 caches the acquired resource in the application cache 42 (Step S70). The web browser 40 executes the web application in accordance with the cached resource (Step S71).
When the push server 2 detects an update of the web application, such as an update of the edited content (Step S84), the push server 2 transmits by push transmission the storage destination address related to the resource of the updated web application to, for example, the tablet device 4B (Step S85). Then, when receiving the storage destination address, the tablet device 4B acquires, from the web server 3 in accordance with the storage destination address, the resource of the updated web application (Step S86). At this stage, the edited content is stored in the container of the resource of the web application.
The tablet device 4B caches the resource of the web application acquired from the web server 3 and executes the web application in accordance with the cached resource (Step S87). Furthermore, the tablet device 4B restores the edited content that is stored in the container and that is a restoration program contained in the cached resource (Step S87). Specifically, the same and the latest data are stored in the local storage 45 in the personal computer 4A and the tablet device 4B (Step S88). Accordingly, the tablet device 4B can locally execute, in accordance with the cached resource, a web application even when it is offline and can edit the latest edited content by using the web application.
In the first embodiment, the edited content is stored in the resource of the web application and the resource is provided to the communication terminal 4, which is on the client side, when the content of the web application is updated. The communication terminal 4 caches the provided resource; executes the web application in accordance with the cached resource; and restores the edited content that is stored in the resource. Accordingly, the client can acquire the latest edited content when executing the web application even if it is offline. Furthermore, because each content stored in each local storage 45 in each communication terminal 4 that uses the web application has the same and the latest content, each communication terminal 4 can edit the latest edited content that is stored in each local storage 45.
Furthermore, in the first embodiment, the web application can provides the resource containing the edited content stored in the client-side communication terminal 4 in accordance with an update of the edited content.
Furthermore, in the first embodiment, a dynamically created content can also be acquired at the same time together with the web application, and furthermore, the subject content can also be acquired when downloading the web application, thus increasing the range of use of the web application.
Furthermore, in the first embodiment, the content is only stored in the container of the resource and the manifest that indicates the list of resources can be used without changing anything, thus enhancing the usability.
Furthermore, in the first embodiment, when the edited content is stored in the resource of the web application, the edited content is converted to the JSON-format data and is stored in the Data.json file; however, the type of formatting and file is not limited thereto. For example, it is also possible to use another format type or another storing file type.
Furthermore, the timing monitoring unit 14 according to the first embodiment monitors, in accordance with the providing timing 13E for each terminal ID 13B in the address management unit 13, the providing timing for each communication terminal 4 that is identified by the terminal ID 13B. However, the timing monitoring unit 14 may also monitor the providing timing 13E of each user ID 13A in the address management unit 13. In such a case, the timing monitoring unit 14 monitors each providing timing 13E of a user identified by the user ID 13A.
Furthermore, in the first embodiment, when a user who uses the communication terminal 4 enters a meeting room, the push server 2 determines the state of entering the meeting room as the providing timing and provides, to the communication terminal 4 in accordance with the providing timing, a storage destination address of the resource related to the web application for browsing the presentation material. Then, in accordance with the storage destination address, the communication terminal 4 acquires the resource related to the web application for browsing the presentation material and caches it. When the confidentiality of the presentation material is taken into consideration, the web application for browsing the presentation material preferably restricts the user's browsing after the user leaves the meeting room. Accordingly, the push server 2 may also include a managing unit that manages, in an associated manner, a terminal ID of the communication terminal 4 that provides a usage forbidden web application, the application ID that identifies the usage forbidden web application, and a usage forbidden time of the usage forbidden web application.
In such a case, when a user who uses the communication terminal 4 leaves the meeting room, the timing monitoring unit 14 in the push server 2 determines the state of leaving the meeting room as the usage forbidden time. In accordance with the usage forbidden time, the timing monitoring unit 14 acquires, from the managing unit, the terminal ID and the application ID associated with the usage forbidden time. In accordance with the acquired terminal ID, the timing monitoring unit 14 specifies an usage forbidden communication terminal 4, and specifies, in accordance with the acquired application ID, the web application of the usage forbidden communication terminal 4. The push transmitting unit 15 notifies, the communication terminal 4, of an usage forbidden request for the usage forbidden web application for, for example, browsing the presentation material. When the usage forbidden request is received, the communication terminal 4 deletes the cached resource of the web application for browsing the presentation material in order to prohibit the execution of the web application. Accordingly, because it is not possible for the user who uses the communication terminal 4 to use the web application for browsing material after he or she leaves the meeting room, the confidentiality of the presentation materials can be ensured.
Furthermore, in the first embodiment, the web browser 40 and the push client 36 are executed by the same CPU 35; however, they may also be executed by the different CPUs.
Furthermore, in the first embodiment, the communication terminal 4 is assumed to be, for example, a mobile phone or a tablet device; therefore, the CPU 35 is always on. However, when the communication terminal 4 is a personal computer or the like, even when the web browser 40 is not started up or even when the power supply of the CPU 35 is not turned on, the power supply of the push client 36 may always be made to turn on in order to receive information from the push server 2.
In addition to the update monitoring unit 12, the address management unit 13, the timing monitoring unit 14, and the push transmitting unit 15, the push server 2 illustrated in
In addition to the communication unit 31, the operating unit 32, the display unit 33, the memory 34, and the CPU 35, the move source communication terminal 4D includes radio frequency identification (RFID) reader-writer 39A. Furthermore, in addition to the communication unit 31, the operating unit 32, the display unit 33, the memory 34, and the CPU 35, the move destination communication terminal 4E includes an RFID tag 39B. The RFID reader-writer 39A executes the near field radio communication with the RFID tag 39B in a predetermined communication distance.
The RFID reader-writer 39A in the move source communication terminal 4D starts the near field radio communication with the RFID tag 39B in accordance with the application move operation performed by the move destination communication terminal 4E. With the application move operation, an error operation can be prevented by holding the RFID tag 39B over the RFID reader-writer 39A and by performing duplex operation with respect to a specific operation of the display unit 33 or the operating unit 32. When the CPU 35 acquires the tag ID of the RFID tag 39B via the RFID reader-writer 39A, the CPU 35 creates move event information including the tag ID.
The move event information includes a tag ID, a storage destination address, an event content, and a command. The tag ID is an ID for identifying the RFID tag 39B of the move destination communication terminal 4E. The storage destination address is a storage destination address of the resource related to the web application that is also executed by the move destination communication terminal 4E and that is currently running on the move source communication terminal 4D. The event content includes a move event that allows the web application, which is executed by the move source communication terminal 4D, to be also executed by the move destination communication terminal 4E. The command includes the execution content of the web application executed by the move destination communication terminal 4E, such as download and execution, only download, only execution, deletion, and the like.
The communication unit 31 in the move source communication terminal 4D transmits the created move event information to the push server 2. The event receiving unit 16 in the push server 2 receives the move event information from the move source communication terminal 4D. When the address management unit 13 receives the move event information, the address management unit 13 in the push server 2 updates the address management table 151 by changing, to “immediate”, the providing timing 151E associated with the terminal ID 151B that is related to the tag ID 151F contained in the move event information. Furthermore, the address management unit 13 updates the address management table 151 by changing the command contained in the move event information to the command 151G associated with the terminal ID 151B.
The timing monitoring unit 14 refers to the providing timing 151E in the address management unit 13 and monitors whether the current timing is the providing timing 151E. When the providing timing 151E is “immediate”, the address management unit 13 immediately specifies, from the address management table 151, the terminal ID 151B, the storage destination address 151D, and the command 151G related to the providing timing 151E. The address management unit 13 includes a table that manages a storage destination address related to the resource of the web application for each terminal type and specifies the terminal type of the terminal ID 151B. When the address management unit 13 specifies the terminal type of the terminal ID 151B, the address management unit 13 determines whether the web application of the storage destination address matches the terminal type of the communication terminal 4. When the web application does not match the terminal type, the address management unit 13 specifies the storage destination address 151D that matches the terminal type.
When the terminal ID 151B, the storage destination address 151D, and the command 151G are specified, the push transmitting unit 15 determines whether push transmission is available for the move destination communication terminal 4E associated with the terminal ID 151B. When the push transmission is available, the push transmitting unit 15 transmits by push transmission the storage destination address 151D and the command 151G to the move destination communication terminal 4E associated with the terminal ID 151B.
When the push receiving unit 51 in the move destination communication terminal 4E receives the storage destination address and the command from the push server 2, the push receiving unit 51 requests, in accordance with the storage destination address, a web application from the web server 3. When the application acquisition unit 52 acquires the resource with respect to the web application request, the application acquisition unit 52 registers the acquired resource in the temporary storage 53. Furthermore, the cache synchronizing unit 41 converts the resource registered in the temporary storage 53 to the data format that can be interpreted by the CPU 35. Furthermore, the cache synchronizing unit 41 caches the converted resource in the application cache 42. The application execution unit 43 executes, in accordance with the command received from the push server 2, the web application that is cached in the application cache 42.
Furthermore, the application execution unit 43 executes the restoration program (Restore.js) of the resource that is cached in the application cache 42. The application execution unit 43 restores, by executing the restoration program, the content stored in the Data.json file contained in the resource and stores the restored content in the local storage 45. The cache synchronizing unit 41 may also be arranged outside the web browser.
As described above, in accordance with the application move operation performed with the move source communication terminal 4D, the move destination communication terminal 4E can execute the web application that is the same web application as that performed by the move source communication terminal 4D.
In the following, the operation of the web application providing system 1B according to a second embodiment will be described.
When the terminal ID 151B, the storage destination address 151D, and the command 151G are specified, the push transmitting unit 15 in the push server 2 transmits by push transmission, to the communication terminal 4 associated with the terminal ID 151B, the storage destination address 151D and the command 151G (Step S163) and ends the processes illustrated in
In the address providing process illustrated in
The application acquisition unit 52 determines whether the acquisition of the resource of the web application is completed (Step S173). When the acquisition of the resource related to the web application is completed (Yes at Step S173), the application acquisition unit 52 registers the resource of the web application in the temporary storage 53 (Step S174). The application execution unit 43 caches the resource of the web application that has been registered in the temporary storage 53 in the application cache 42; executes the cached resource of the web application in accordance with the command received at Step S171 (Step S175); and then ends the processes illustrated in
When the push receiving unit 51 does not receive the storage destination address and the command from the push server 2 (No at Step S171), the push receiving unit 51 ends the processes illustrated in
When the move destination communication terminal 4E receives the storage destination address and the command from the push server 2, the move destination communication terminal 4E acquires the web application and the content in accordance with the storage destination address and executes the web application in accordance with the command. Accordingly, the move destination communication terminal 4E executes the web application that is the same web application as that executed in the move source communication terminal 4D.
When the address management unit 13 in the push server 2 receives the move event information, by changing the providing timing associated with the terminal ID to “immediate”, the address management unit 13 updates the address management table 151 in accordance with the tag ID, the move event, the storage destination address, and the command contained in the move event information. Furthermore, the address management unit 13 updates the address management table 151 by updating the acquired command as the command associated with the terminal ID.
Because the providing timing is “immediate”, the address management unit 13 in the push server 2 specifies, from the address management table 151, the terminal ID, the storage destination address, and the command of the providing timing. The push transmitting unit 15 in the push server 2 transmits by push transmission, to the tablet device 402 associated with the terminal ID, the storage destination address and the command. Then, in accordance with the storage destination address, the tablet device 402 acquires, from the web server 3, the web application and the content that are being executed in the mobile phone 401; executes the acquired web application in accordance with the command; and displays the web application that is being executed on a display unit 402A. Accordingly, as illustrated in
Furthermore, when the mobile phone 401 is placed near the tablet device 402 illustrated in
In the second embodiment, for convenience of description, a case has been described in which the RFID reader-writer 39A is built in the move source communication terminal 4D and the RFID tag 39B is built in the move destination communication terminal 4E. However, both the RFID reader-writer 39A and the RFID tag 39B may also be built in each communication terminal 4 (4D, 4E).
Furthermore, in the second embodiment, the RFID communication function is used for the application move operation between the communication terminals 4. However, it is also possible to use near field radio communication, such as near field communication (NFC) communication, between the communication terminals 4 or possible to use a contact sensor method using a contact sensor between the communication terminals 4.
In the address management unit 13, the providing timing 151E associated with the terminal ID 151B of the communication terminal 4 corresponds to the timing of entering a meeting room by a user who uses the communication terminal 4, whereas the command 151G corresponds to the timing of downloading and executing the web application. The enter timing is a detection timing at which, for example, a user who uses the communication terminal 4 enters a communication region in the meeting room, which is detected by an enter monitoring device arranged at the entrance of the meeting room in accordance with the communication operation between the enter monitoring device and the communication terminal 4. The web application is the web application for browsing a presentation material. The command is the download and the execution of the web application for browsing the presentation material.
Furthermore, in the address management unit 13, the providing timing 151E associated with the identification information on the communication terminal 4 corresponds to the timing of leaving of a user who uses the communication terminal 4, whereas the command 151G corresponds to the timing of deleting the web application. The leaving timing is a detection timing at which, for example, a user who uses the communication terminal 4 re-enters a communication region in the meeting room, which is detected by the enter monitoring device in accordance with the communication operation between the enter monitoring device and the communication terminal 4. The web application is the web application for browsing a presentation material. The command is the deletion of the web application for browsing the presentation material.
When the enter timing at which the communication terminal 4 enters the meeting room is detected, the address management unit 13 in the push server 2 specifies, from the address management table 151, the terminal ID 151B, the storage destination address 151D, and the command 151G of the communication terminal 4. Furthermore, the push transmitting unit 15 in the push server 2 transmits the specified storage destination address and the command to the communication terminal 4. Then, the communication terminal 4 in the meeting room acquires, from the web server 3 in accordance with the storage destination address, the resource of the web application for browsing the presentation material and caches it. Then, the communication terminal 4 executes, in accordance with the command content, the web application for browsing the presentation material and acquires the content from the cached resource.
Furthermore, when the leaving timing at which the communication terminal 4 leaves the meeting room is detected, the timing monitoring unit 14 in the push server 2 specifies, from the address management table 151, the terminal ID 151B, the storage destination address 151D, and the command 151G of the communication terminal 4. Furthermore, the push transmitting unit 15 in the push server 2 transmits the specified storage destination address and the command to the communication terminal 4. Then, the communication terminal 4 outside the meeting room specifies, in accordance with the storage destination address, the web application for browsing the presentation material and deletes, in accordance with the command content, the specified web application and the content from the cache.
In the third embodiment, when a user of the communication terminal 4 enters the meeting room, the push server 2 determines the state of entering the meeting room as the providing timing and provides, to the communication terminal 4, a storage destination address and a command of a web application for browsing a presentation material. Then, the communication terminal 4 in the meeting room acquires, in accordance with the storage destination address, the resource related to a web application for browsing the presentation material; caches it; executes, in accordance with the command, the web application for browsing the presentation material; and acquires the content.
Furthermore, in the third embodiment, when a user of the communication terminal 4 leaves the meeting room, the push server 2 determines the state of leaving the meeting room as the providing timing and provides, to the communication terminal 4, a storage destination address and a command of a web application for browsing the presentation material. Then, the communication terminal 4 outside the meeting room specifies, in accordance with the storage destination address, the resource related to the web application for browsing the presentation material and deletes, in accordance with the command, the web application for browsing the presentation material and the content from the cache. Accordingly, because the user of the communication terminal 4 is not be able to browse the web application for browsing the presentation material and the content after he or she leaves the meeting room, the confidentiality of the presentation material can be ensured.
In addition to the update monitoring unit 12, the address management unit 13, the timing monitoring unit 14, and the push transmitting unit 15, the push server 2 illustrated in
Furthermore, the address management unit 13 manages the address management table 151 and a user management table 152 and dynamically updates and registers the table contents of the address management table 151 and the user management table 152. Furthermore, the address management unit 13 refers to the table contents of the address management table 151 and the user management table 152 to execute various determination operations.
Furthermore, the address management unit 13 manages an attribute information table (not illustrated) that stores therein attribute information on each web application; recognizes, by referring to the attribute information table, the terminal type or a place associated with each web application or a storage destination address of the resource related to that web application.
The last notice time 152D is the time at which the push server 2 communicates with the communication terminal 4 last time. The last used time 152E is the time at which a user uses the communication terminal 4 last time. In addition to detecting the state of a network, the last used time 152E performs the determination in accordance with the information contained in a sensor included in various devices in the communication terminal 4 or information contained in an external sensor. For example, when the communication terminal 4 is a personal computer, the last used time is determined by detecting an input via a keyboard of the personal computer arranged in the push server 2. Furthermore, for example, when the communication terminal 4 is a mobile phone, the last used time of the mobile phone is determined, in accordance with collection results, by collecting information acquired by a vibration sensor or an acceleration sensor arranged in the mobile phone in the push server 2. A method for determining the last used time can appropriately be changed.
The position information 152F is position information on, for example, the position coordinates or a location name of the communication terminal 4 obtained using a global positioning system (GPS) function or a communication module of the communication terminal 4. The unnoticeable time zone 152G is the time zone during which notification of a web application set by a user is not delivered. In
In the following, the operation of the web application providing system 1D according to a fourth embodiment will be described.
In
When the specified web application is a limited terminal type application (Yes at Step S182), the address management unit 13 determines, by referring to the connection state 152C in the management list, whether there is the communication terminal 4 whose connection state is “ON” (Step S183). When the communication terminal 4 whose connection state is “ON” is present (Yes at Step S183), the address management unit 13 determines that the communication terminal 4 can execute the specified web application. Furthermore, in accordance with the position information 152F in the management list and the attribute information table used for the web application, the address management unit 13 determines whether the specified web application is a limited place application (Step S184). The limited place application is the web application that is only executed at a specific place. When the specified web application is the limited place application (Yes at Step S184), the address management unit 13 determines, by referring to the connection state 152C in the management list, whether there is the communication terminal 4 whose connection state is “ON” (Step S185).
Furthermore, when the communication terminal 4 whose connection state is “ON” is present (Yes at Step S185), the address management unit 13 determines that the specified web application is the communication terminal 4 that is in an executable place. Furthermore, the address management unit 13 determines whether the communication terminal 4 that provides the specified web application is present (Step S186). The communication terminals 4 may also includes the communication terminal 4 that can execute the specified web application in which, for example, the condition for the unnoticeable time zone 152G is reset. When the subject communication terminal 4 is present (Yes at Step S186), the address management unit 13 determines, by referring to the last used time 152E in the management list, whether a terminal ID of the latest last used time is present in the terminal ID of the subject communication terminal 4 (Step S187).
When the terminal ID of the latest last used time is not present (No at Step S187), the address management unit 13 acquires, by referring to the last notice time 152D in the management list, the terminal ID of the latest last notice time in the terminal ID of the subject communication terminal 4 (Step S188). When the terminal ID of the latest last notice time is acquired, the address management unit 13 acquires, from the address management table 151, the storage destination address and the command related to the subject web application associated with the subject terminal ID (Step S189).
When the storage destination address and the command related to the subject web application that is associated with the terminal ID, the push transmitting unit 15 transmits the storage destination address and the command to the communication terminal 4 associated with the terminal ID (Step S190). The push transmitting unit 15 determines whether the transmission of the storage destination address and the command is successful at Step S190 (Step S191). When the transmission of the storage destination address and the command is successful (Yes at Step S191), the push transmitting unit 15 ends the processes illustrated in
When the transmission of the storage destination address and the command is not successful (No at Step S191), from among the subject communication terminals 4, the address management unit 13 acquires the terminal ID of the second latest last used time or the last notice time (Step S192). Furthermore, the address management unit 13 proceeds to Step S189 in order to acquire the storage destination address and the command associated with the terminal ID.
Furthermore, when the terminal ID of the latest last used time is present (Yes at Step S187), the address management unit 13 acquires the subject terminal ID from the address management table 151 (Step S193). Furthermore, the address management unit 13 proceeds to Step S189 in order to acquire the storage destination address and the command associated with the terminal ID.
When the subject communication terminal 4 is not present (No at Step S186), the address management unit 13 holds the transmission of the storage destination address and the command related to the subject web application (Step S194) and ends the processes illustrated in
Furthermore, when there is no communication terminal 4 whose connection state is “ON” (No at Step S183 and No at Step S185), the address management unit 13 holds the transmission of the storage destination address and the command related to the subject web application (Step S195) and ends the processes illustrated in
In the processes illustrated in
Furthermore, from among the multiple communication terminal 4 belonged to the user that specifies the web application, the push server 2 transmits the storage destination address and the command related to the specified web application to the communication terminal 4 that has a high possibility of currently being used and that is associated with the limited terminal type application. With the push server 2, when the communication terminal 4 that has a high possibility of currently being used is a personal computer, it is possible to avoid a case in which, even though the web application is only for mobile phones, a storage destination address of a web application only for a mobile phone is transmitted to the personal computer.
Furthermore, from among the multiple communication terminal 4 belonged to the user that specifies the web application, the push server 2 transmits the storage destination address and the command related to the specified web application to the communication terminal 4 that has a high possibility of currently being used by a user and that is associated with the limited place application. With the push server 2, it is possible to avoid a case in which a storage destination address of a web application for browsing a confidential document is transmitted to the communication terminal 4 having a high possibility of currently being used, i.e., a home personal computer outside the office, even though the web application is used for browsing a confidential document that is only for office use.
When the communication terminal 4 receives the storage destination address and the command from the push server 2, the communication terminal 4 acquires, from the web server 3, the resource of the web application specified by the storage destination address and caches the resource in the application cache 42. Furthermore, in accordance with the command received from the push server 2, the communication terminal 4 executes the web application cached in the application cache 42. Furthermore, by executing the restoration program of the resource that is cached in the application cache 42, the communication terminal 4 restores the content and stores the content in the local storage 45. Accordingly, a user of the communication terminal 4 can acquire the specified web application as well as the content.
In the fourth embodiment, when the push server 2 receives a transmission request for the web application specified by a user, from among the multiple communication terminal 4 belonged to a user that specifies the web application, the push server 2 acquires the terminal ID of the communication terminal 4 that has a high possibility of currently being used and that is limited to the terminal type or a place. Furthermore, the push server 2 transmits the storage destination address and the command of the specified web application to the communication terminal 4 having the acquired terminal ID. Accordingly, from among the multiple communication terminals 4 belonged to the user who specifies the web application, the push server 2 can notify the communication terminal 4 having a high possibility of currently being used by the user of the storage destination address and the command related to the specified web application.
For example, a system is assumed in which, by using a web application for circular memo approval, each user checks the content of the circular memo on a user's communication terminal 4 and approves the content of the circular memo. In such a case, the communication terminal 4 of each user needs, in addition to the web application for the circular memo approval, the content of the circular memo. Accordingly, each user transmits a transmission request for the specified circular memo approval web application to the push server 2. When the push server 2 receives the transmission request, from among the multiple communication terminals 4 belonged to the user, the push server 2 acquires the terminal ID of the communication terminal 4 having a high possibility of currently being used. Then, the push server 2 transmits the storage destination address and the command of the web application for the circular memo approval to the communication terminal 4 having the acquired terminal ID. In the storage destination address of the web server 3, the content of the circular memo is contained in the resource of the web application for the circular memo approval. Accordingly, in accordance with the storage destination address, the communication terminal 4 acquires the resource of the web application for the circular memo approval from the web server 3; executes, in accordance with the command, the acquired web application for the circular memo approval; and also acquires the content thereof. Accordingly, by using the web application for the circular memo approval in the user's communication terminal 4, each user can check the content of the circular memo and approves the circular memo.
In the fourth embodiment, the push transmitting unit 15 transmits the storage destination address and the command of the specified web application to the communication terminal 4 that satisfies all of the conditions, i.e., the limited terminal type application, the limited place type application, the connection state, the last notice time, the last used time, and the unnoticeable time zone. However, the push transmitting unit 15 may also transmit the storage destination address and the command of the specified web application to the communication terminal 4 that satisfies some conditions mentioned above. The conditions can appropriately be selected.
Furthermore, in the fourth embodiment, when the push server 2 receives a transmission request for the web application specified by a user, from among the multiple communication terminals 4 belonged to the user who specifies the web application, the push server 2 transmits the storage destination address and the command to the communication terminal 4 that has a high possibility of currently being used. However, the number of communication terminals 4 that have a high possibility of currently being used is not limited to one. The push server 2 may also transmits the storage destination address and the command to multiple communication terminals 4. Furthermore, the push server 2 transmits the storage destination address and the command to the communication terminal 4 having a high possibility of currently being used; however, the configuration is not limited thereto. For example, the push server 2 may also transmit the storage destination address and the command to all of the communication terminals 4 belonged to the user.
The components of each unit illustrated in the drawings are not always physically configured as illustrated in the drawings. In other words, the specific shape of a separate or integrated unit is not limited to the drawings; however, all or part of the unit can be configured by functionally or physically separating or integrating any of the units depending on various loads or use conditions.
Furthermore, all or any part of the processing functions performed by each unit may also be executed by a central processing unit (CPU) (or a microcomputer, such as a micro processing unit (MPU) or a micro controller unit (MCU)). Furthermore, all or any part of the processing functions may also be executed by programs analyzed and executed by the CPU (or the microcomputer, such as the MPU or the MCU) or executed by hardware by wired logic.
Various kinds of processes described in the above embodiments can be implemented by programs prepared in advance and executed by a computer. Accordingly, in the following, a computer that executes programs having the same function as those described in the embodiments described above will be described as an example with reference to
As illustrated in
The ROM 130 or the HDD 110 previously stores therein an application providing program having the same function as that performed by the units described in the embodiments described above. Furthermore, instead of the ROM 130 and the HDD 110, computer-readable recording medium may also stores therein the application providing program using a drive (not illustrated). The recording medium may be a portable recording medium, such as a CD-ROM, a DVD disk, and a USB memory or a semiconductor memory, such as a flash memory. As illustrated in
Then, the CPU 140 reads and executes the storing program 131 and the providing program 132 from the ROM 130. Then, as illustrated in
When the CPU 140 detects a content edited by a web application executed by the communication terminal 4, the CPU 140 stores the edited content in the resource of the web application. When the CPU 140 detects, from the communication terminal 4, an application request for a web application, the CPU 140 provides the resource of the web application to the communication terminal 4 that issues the application request. Accordingly, the communication terminal 4, i.e., the client, can acquire the latest edited content when the communication terminal 4 executes the web application even when it is offline.
With the system disclosed in the present invention, an advantage is provided in that a client can acquire the latest edited content when the client executes a web application even when the client is offline.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2011-080936 | Mar 2011 | JP | national |
2011-125701 | Jun 2011 | JP | national |