Service provisioning and application distribution based on terminal location

A service provision method executed by a system including a terminal configured to use a service and a service provision apparatus configured to provide the service, the service providing method includes collecting resource information of an output device coupled to the service provision apparatus when the terminal checks in to the service provision apparatus, providing a first application to the terminal and a second application to the output device from the service provision apparatus when the output device is usable in accordance with the resource information, and providing a third application to the terminal from the service provision apparatus, the third application generated on the basis of the first application and the second application, when the output device is unusable in accordance with the resource information.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-162009, filed on Aug. 19, 2015, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to a service provision method, a system, and an apparatus.

BACKGROUND

With recent proliferation of terminals such as smartphones and tablets, there have been an increasing number of cases where users use applications by downloading them on the spot as requested. In addition, application distribution services suitable for such uses also have been proposed.

As an example, an application distribution service is known which distributes an application to terminals checked in to a service provided in a predetermined area so that only the users located in the predetermined area may use the application. In this service, when a user moves out from the predetermined area (outside the area provided with the distribution service), the application distributed to the terminal of the user is automatically deleted.

However, the above-described service is inconvenient for a user who wants to use a distributed application outside the area provided with the service. For instance, when a user wants to use an application, distributed in a school, at the user's house to do homework or the like, the above-described service is inconvenient because the service does not allow the application to be used outside the school.

SUMMARY

According to an aspect of the invention, a service provision method executed by a system including a terminal configured to use a service and a service provision apparatus configured to provide the service, the service providing method includes collecting resource information of an output device coupled to the service provision apparatus when the terminal checks in to the service provision apparatus, providing a first application to the terminal and a second application to the output device from the service provision apparatus when the output device is usable in accordance with the resource information, and providing a third application to the terminal from the service provision apparatus, the third application generated on the basis of the first application and the second application, when the output device is unusable in accordance with the resource information.

DESCRIPTION OF EMBODIMENTS

According to an aspect of the embodiments, the area provided with a service is extended. Hereinafter, embodiments will be described with reference to the accompanying drawings. It is to be noted that in the present description and the drawings, components having substantially the same functional configuration are labeled with the same symbol, and redundant description is omitted.

First, a learning system will be described, which is an example of a service provision system utilizing a service provision apparatus according to a first embodiment. Although the service provision apparatus according to the first embodiment allows various distribution services to be provided in various situations, a case will be described herein where the service provision apparatus is applied to a learning system that provides a service for learning by distributing applications related to learning materials. In particular, a learning system will be described, which allows a user (for instance, a student) provided with a service for learning in a school to continuously utilize the service even at home.

FIG. 1illustrates an example learning system utilizing the service provision apparatus. As illustrated inFIG. 1, a learning system100has a first service provision apparatus110, an electronic whiteboard device120, terminal devices130_1to130_3, a voice output device140, a second service provision apparatus150, and an information storage server160.

The information storage server160, and the first service provision apparatus110and the second service provision apparatus150are connected via a network170which is represented by the Internet or a local area network (LAN).

In the example ofFIG. 1, the first service provision apparatus110, the electronic whiteboard device120, and the voice output device140are installed in a school, and the second service provision apparatus150is installed in the house of a user180_1who has the terminal device130_1.

In a school, the first service provision apparatus110distributes an “application for whiteboard”, which is a display application for explanation, to the electronic whiteboard device120. Thus, a user (for instance, a teacher)180may give an explanation while looking at the application for whiteboard displayed on the electronic whiteboard device120.

In addition, the first service provision apparatus110distributes an “application for learning”, which is a display application for notebook, to the terminal devices130_1to130_3. Thus, users (for instance, students)180_1to180_3may take notes while looking at the application for learning displayed on the terminal devices130_1to130_3, respectively. It is to be noted that the terminal devices130_1to130_3are each a mobile terminal such as a smartphone or a tablet, which may be carried by the users180_1to180_3. Although the example ofFIG. 1illustrates the case where the first service provision apparatus110distributes the application for learning to three terminal devices130_1to130_3, the number of terminal devices, to which the application for learning is distributed by the first service provision apparatus110, is not limited to three.

Furthermore, the first service provision apparatus110distributes an “application for speaker”, which is a voice application for explanation, to the voice output device140. Thus, the users180_1to180_3are able to hear the voice for explanation. It is to be noted that the voice output device140is a device that has a voice output function such as a speaker.

On the other hand, neither the electronic whiteboard device120nor the voice output device140is provided at home. For this reason, the second service provision apparatus150, when providing the service for learning, collectively distributes the application for whiteboard, the application for learning, and the application for speaker to the terminal device130_1.

The school and home have different environments like this when the service for learning is provided by the respective service provision apparatuses (the first service provision apparatus110, the second service provision apparatus150). The environment when the service for learning is provided refers to the types and number of resources by which applications are executed, the applications being distributed when the service for learning is provided. The types and number of resources depend on the types and number of devices connectable to each service provision apparatus, and on the types and number of output functions (such as a display function, voice output function) of the connectable devices. Hereinafter, “resources” refer to the resources by which applications are executed using the output functions of the devices connected to each service provision apparatus when the service for learning is provided. Therefore, the difference in environment when the service for learning is provided indicates the difference in the types and number of resources available to the service provision apparatuses under respective environments.

In the present embodiment, the second service provision apparatus150determines a distribution destination of an application and regenerates the application for each distribution destination in consideration of the difference in available resources between the second service provision apparatus150and the first service provision apparatus110. In addition, the second service provision apparatus150determines applications to be distributed based on the applications distributed by the first service provision apparatus110.

It is to be noted that the second service provision apparatus150obtains via the information storage server160information on the resources and distributed applications when the user180_1is provided with the service for learning in a school. Hereinafter, “resource management information” refers to the information on the resources and distributed applications under each environment. Thus, the service provision apparatus150is able to determine an application to be distributed and its distribution destination, and to regenerate the application based on the resource management information.

Consequently, with the learning system100, the user180_1who has returned home is able to review lessons and do additional exercises (homework) at home by utilizing the same applications as the application distributed by the first service provision apparatus110.

In other words, the service for learning same as that in a school may be continuously utilized even at home, and thus the area provided with the service for learning, which is provided to the terminal device130_1in a predetermined area (in a school), may be extended to outside the predetermined area (home).

Next, the functional configuration of the entire learning system100will be described.FIG. 2is a diagram illustrating an example functional configuration of the learning system. It is to be noted that in the example ofFIG. 2, the electronic whiteboard device120, the terminal devices130_1to130_3, and the voice output device140which are connected to the first service provision apparatus110are collectively depicted as a service execution apparatus200for the sake of simplifying the description.

The first service provision apparatus110is an apparatus that provides a service for learning. A service provision program is installed in the first service provision apparatus110which serves as a service provision unit211by executing the program.

When the service execution apparatus200is in a predetermined area, the service provision unit211receives check-in to the service for learning from the service execution apparatus200. It is to be noted that the predetermined area indicates a predetermined area related to the first service provision apparatus110, such as an area in which radio waves emitted from the first service provision apparatus110may be received, or an area in which an SSID may be obtained. The check-in refers to becoming a state in which in response to a check-in request sent from the first service provision apparatus110, the service execution apparatus200is connected to the first service provision apparatus110and is enabled to be provided with the service for learning.

The service provision unit211makes a request to the service execution apparatus200which has received check-in, for transmission of information on the resources owned by the service execution apparatus200(hereinafter information on the resources owned by each service execution apparatus is referred to as “resource information”). The service provision unit211also collects the resource information transmitted from the service execution apparatus200in response to a transmission request for resource information, and stores the resource information in the resource management information storage unit212as resource management information.

The service provision unit211determines assignment of applications to be executed by the resources, according to the resource management information stored in the resource management information storage unit212, and updates the resource management information by storing a result of the assignment in the resource management information storage unit212. In addition, the service provision unit211reads an application with the application determined for assignment from an application storage unit213, and regenerates and distributes the application for and to each distribution destination (each of the service execution apparatuses200having the resources).

The service provision unit211starts to provide the service for learning by performing control to cause each resource to execute the corresponding applications distributed to the service execution apparatus200.

In addition, the service provision unit211, when receiving a continuation instruction from the service execution apparatus200, transmits the resource management information and the like stored in the resource management information storage unit212to the information storage server160. The continuation instruction refers to an instruction issued by the service execution apparatus200for requesting another service provision apparatus (for instance, the second service provision apparatus150) to continuously provide the service for learning, when the service execution apparatus200is in a state in which provision of the service for learning is not receivable. It is to be noted that the state in which provision of the service for learning is not receivable includes the case where provision of the service for learning by the service provision unit211has ended and the case where the service execution apparatus200has moved out from the predetermined area.

Transmission of the resource management information to the information storage server160allows the service execution apparatus200to be provided with the service for learning from the second service provision apparatus150based on the resource management information. A state in which the second service provision apparatus150is able to provide the service for learning in this manner using the resource management information relevant in the service for learning provided by the first service provision apparatus is referred to as a state in which “check-in to the service for learning is maintained”. In the present embodiment, transmission of a continuation instruction allows the check-in of the service execution apparatus200to the service for learning to be maintained.

The service execution apparatus200is an apparatus that is provided with the service for learning by executing the applications distributed from the first service provision apparatus110. A service execution program is installed in the service execution apparatus200which serves as a service execution unit201by executing the program.

The service execution unit201checks in to the service for learning provided by the first service provision apparatus110. Alternatively, in a state in which the check-in to the service for learning provided by the first service provision apparatus110is maintained, the service execution unit201checks in to the service for learning provided by the second service provision apparatus150.

The service execution unit201, when receiving a transmission request for the resource information from the first service provision apparatus110or the second service provision apparatus150, reads the resource information on the apparatus stored in the resource information storage unit202. In addition, the service execution unit201transmits the read resource information to the first service provision apparatus110or the second service provision apparatus150.

The service execution unit201receives applications distributed from the first service provision apparatus110or the second service provision apparatus150in response to the transmission of the resource information. Also, the service execution unit201executes the distributed applications using the resources of the apparatus110or150under the control of the service provision unit211or221.

Although the second service provision apparatus150is an apparatus that provides the service for learning and is a separate body from the first service provision apparatus110, the second service provision apparatus150has the same functions as those of the first service provision apparatus110.

However, when the service for learning is provided to the service execution apparatus200which maintains the check-in to the service for learning, the service provision unit221of the second service provision apparatus150obtains the resource management information stored in the information storage server160.

Thus, the service provision unit221is able to provide the service for learning based on the resource management information stored in the information storage server160. Specifically, the service provision unit221is able to regenerate and distribute the same applications as the applications distributed when the service for learning is provided by the first service provision apparatus110, according to the resources available to the second service provision apparatus150.

The information storage server160stores the resource management information and the like which are transmitted from the first service provision apparatus110. In addition, in response to a request from the second service provision apparatus150, the information storage server160transmits the stored resource management information to the second service provision apparatus150.

Next, the hardware configuration of each of the first service provision apparatus110, the service execution apparatus200(the electronic whiteboard device120, the terminal devices130_1to130_3, the voice output device140), the second service provision apparatus150, and the information storage server160will be described. It is to be noted that each of the first service provision apparatus110, the service execution apparatus200, the second service provision apparatus150, and the information storage server160has the same hardware configuration. For this reason, the hardware configuration of the first service provision apparatus will be described with reference toFIG. 3below.

FIG. 3is a diagram illustrating an example hardware configuration of the first service provision apparatus. As illustrated inFIG. 3, the first service provision apparatus110includes a CPU301, a read only memory (ROM)302, and a random access memory (RAM)303. In addition, the first service provision apparatus110includes an auxiliary storage unit304, an input unit305, a display unit306, a communication unit307, and a drive unit308. It is to be noted that the units of the first service provision apparatus110are connected to one another via a bus309.

The CPU301is a computer that executes various programs (for instance, a service provision program) installed in the auxiliary storage unit304. The ROM302is a nonvolatile memory. The ROM302serves as a main memory unit that stores various programs, data, or the like to be used by the CPU301for executing various programs stored in the auxiliary storage unit304. Specifically, the ROM302stores boot programs such as a basic input/output system (BIOS) or an extensible firmware interface (EFI).

The RAM303is a volatile memory such as a dynamic random access memory (DRAM) or a static random access memory (SRAM), and serves as the main memory unit. The RAM303provides a workspace used when the various programs stored in the auxiliary storage unit304are executed by the CPU301.

The auxiliary storage unit304stores various programs installed in the first service provision apparatus110and information (such as resource management information and the like) which is used when the various programs are executed. In addition, the auxiliary storage unit304stores applications (such as the application for whiteboard, the application for learning, the application for speaker) which are distributed by executing the various programs.

The input unit305is used when various instructions are inputted to the first service provision apparatus110. The display unit306displays an internal state of the first service provision apparatus110.

The communication unit307is a device for communicating with an external device (such as the service execution apparatus200, the information storage server160) to be connected to the first service provision apparatus110. An application to be distributed to the service execution apparatus200is transmitted via the communication unit307. Also, resource information to be transmitted from the service execution apparatus200is received via the communication unit307. Furthermore, resource management information and the like to be transmitted to the information storage server160are transmitted via the communication unit307.

The drive unit308is a device for setting a recording medium310. The recording medium310referred herein includes a medium that records information optically, electrically, or magnetically, such as a CD-ROM, a flexible disk, a magneto-optical disk. In addition, the recording medium310includes a semiconductor memory or the like that records information electrically, such as a ROM, a flash memory.

It is to be noted that the service provision program in the auxiliary storage unit304is stored therein, for instance, in the following manner: distributed recording medium310is set to the drive unit308, and the service provision program recorded in the recording medium310is read by the drive unit308. Alternatively, the service provision program may be stored by being received via the communication unit307.

Next, the resource information stored in the resource information storage unit202of the service execution apparatus200will be described.FIGS. 4A to 4Care each a table illustrating example resource information,FIG. 4Aillustrates example resource information410on the electronic whiteboard device120,FIG. 4Billustrates example resource information421to423on the terminal devices130_1to130_3, andFIG. 4Cillustrates example resource information430on the voice output device140. As illustrated inFIGS. 4A to 4C, the resource information includes “device ID”, “output function”, and “controller type” as the items of information.

The “device ID” stores an identifier (identifier specific to the device) for identifying each service execution apparatus. The “device ID” stores a different identifier for each device even for the same type of service execution apparatus. Thus, different identifiers are stored for the electronic whiteboard device120, the terminal devices130_1to130_3, and the voice output device140. Even for the same terminal device, different identifiers are stored for the terminal device130_1, the terminal device130_2, and the terminal device130_3.

The “output function” stores information on the output function owned by each service execution apparatus. The example ofFIGS. 4A to 4Cindicates that the electronic whiteboard device120has a display function as the output function. The example also indicates that the terminal devices130_1to130_3each have a display function and a voice output function as the output function. In addition, the example indicates that the voice output device140has a voice output function as the output function.

The “controller type” stores information indicating the types of applications executable by each service execution apparatus when the service for learning is provided. For instance, in the case of the electronic whiteboard device120, the “controller type” stores “WhiteBoard” which indicates that the application for whiteboard is executable.

On the other hand, in the case of the terminal device130, the “controller type” stores “EducationApp” indicating that the application for learning is executable, and also stores “WhiteBoard” indicating that the application for whiteboard is executable. In addition, the “controller type” stores “Speaker” indicating that the application for speaker is executable.

In the case of the voice output device140, the “controller type” stores “Speaker” indicating that the application for speaker is executable.

Since the resource information includes the “output function” and the “controller type” like this, it is possible for the service provision unit211to determine the resource owned by each service execution apparatus200based on the combination of the “output function” and the “controller type”. Also, it is possible for the service provision unit211to determine usable applications when the service for learning is provided, based on the determined resource.

For instance, the electronic whiteboard device120may be determined to have a resource that executes an application for whiteboard using a display function, based on the combination of the output function=“display” and the controller type=“WhiteBoard”.

Also, the terminal devices130_1to130_3each may be determined to have a resource that executes an application for learning using a display function, based on the combination of the output function=“display” and the controller type=“EducationApp”. Also, the terminal devices130_1to130_3each may be determined to have a resource that executes an application for whiteboard using a display function, based on the combination of the output function=“display” and the controller type=“WhiteBoard”. In addition, the terminal devices130_1to130_3each may be determined to have a resource that executes an application for speaker using a voice output function, based on the combination of the output function=“voice” and the controller type=“Speaker”.

Also, the voice output device140may be determined to have a resource that executes an application for speaker using a voice output function, based on the combination of the output function=“voice” and the controller type=“Speaker”.

Consequently, it is possible for the service provision unit211to determine the application for whiteboard, the application for learning, and the application for speaker as usable applications when the service for learning is provided.

Next, the resource management information stored in the resource management information storage unit212of the first service provision apparatus110will be described.FIG. 5is a table illustrating example resource management information on the first service provision apparatus. Resource management information500stores the resource information of each service execution apparatus200which has checked in to the service for learning provided by the first service provision apparatus110, and stores the applications assigned to each resource included in the resource information.

The “device ID”, “output function”, and “controller type” store relevant resource information received from each service execution apparatus200.

The “output object”, “controller object” store applications for which assignment is determined by the service provision unit211based on the resource information received from each service execution apparatus200.

For instance, in the case of the electronic whiteboard device120with the device ID=“A001”, the service provision unit211determines that the electronic whiteboard device120has a resource that executes the application for whiteboard. Thus, in the example ofFIG. 5, the service provision unit211has determined that the output object=“Di_A_001” and the controller object=“Wb001” are assigned to the application for whiteboard.

In the case of the terminal device130_1with the device ID=“B001”, the service provision unit211determines that the terminal device130_1has a resource that executes the application for learning, the application for speaker, and the application for whiteboard. Among these, in the example ofFIG. 5, the service provision unit211has determined that the output object=“Di_B_001” and the controller object=“Ed001” are assigned to the application for learning.

Similarly, in the case of the terminal device130_2with the device ID=“B002”, the service provision unit211determines that the terminal device130_2has a resource that executes the application for learning, the application for speaker, and the application for whiteboard. Among these, in the example ofFIG. 5, the service provision unit211has determined that the output object=“Di_B_002” and the controller object=“Ed002” are assigned to the application for learning.

Similarly, in the case of the terminal device130_3with the device ID=“B003”, the service provision unit211determines that the terminal device130_3has a resource that executes the application for learning, the application for speaker, and the application for whiteboard. Among these, in the example ofFIG. 5, the service provision unit211has determined that the output object=“Di_B_003” and the controller object=“Ed003” are assigned to the application for learning.

On the other hand, in the case of the voice output device140with the device ID=“C001”, the service provision unit211determines that the voice output device140has a resource that executes the application for speaker. Thus, in the example ofFIG. 5, the service provision unit211has determined that the output object=“Au_C_001” and the controller object=“Sp001” are assigned to the application for speaker.

Next, the resource management information stored in the resource management information storage unit222of the second service provision apparatus150will be described.FIG. 6is a table illustrating example resource management information on the second service provision apparatus. The resource management information600stores the resource information of a device (here, the terminal device130_1) which has checked in to the service for learning provided by the second service provision apparatus150, and information on the applications assigned to each resource included in the resource information.

Similarly to the resource management information500, the resource management information600includes “device ID”, “output function”, “output object”, “controller type”, and “controller object” as the items of information.

In the example ofFIG. 6, the terminal device130_1has checked in, and thus each of the “device ID”, “output function”, and “controller type” stores relevant resource information received from the terminal device130_1.

On the other hand, each of the “output object” and “controller object” stores an object according to the assignment of applications determined by the service provision unit221. It is to be noted that when an application to be assigned to each resource is determined, the service provision unit221obtains and analyzes the resource management information500.

According to the resource management information500, the first service provision apparatus110, when providing the service for learning, distributes the application for whiteboard, the application for learning, and the application for speaker. Thus, the service provision unit221determines assignment of the applications to each resource so that the applications are distributed.

In the example ofFIG. 6, the service provision unit221has determined that the output object=“Di_B_004” and the controller object=“Ed004” are assigned to the application for learning. Also, the service provision unit221has determined that the output object=“Di_B_005” and the controller object=“Wb002” are assigned to the application for whiteboard. In addition, the service provision unit221has determined that the output object=“Au_B_002” and the controller object=“Sp002” are assigned to the application for speaker.

In this manner, the service provision unit221is able to distribute the same applications as the applications distributed when the service for learning is provided by the first service provision apparatus110, according to the resources available to the second service provision apparatus150.

Next, a result of distribution will be described in the case where the service provision unit211of the first service provision apparatus110determines assignment of applications and distributes assigned applications to each service execution apparatus200.FIG. 7illustrates a result of distribution of applications when the service for learning is provided by the first service provision apparatus.

As illustrated inFIG. 7, the application for whiteboard is distributed to the electronic whiteboard device120and is executed by a service execution unit201a. Also, the application for learning is distributed to each of the terminal devices130_1to130_3, and is executed by service execution units201bto201d. In addition, the application for speaker is distributed to the voice output device140, and is executed by a service execution unit201e.

In this manner, when the service for learning is provided, the service provision unit211distributes usable applications to each service execution apparatus according to the determined assignment, the usable applications being determined according to a resource.

Next, a result of distribution will be described in the case where the service provision unit221of the second service provision apparatus150determines assignment of applications based on the resource management information500and available resources, and distributes the applications to the terminal device130_1.FIG. 8is a diagram illustrating a result of the distribution of applications when the service for learning is provided by the second service provision apparatus.

As illustrated inFIG. 8, the applications including the application for whiteboard, the application for learning, and the application for speaker are distributed to the terminal device130_1, and are executed by the service execution unit201b.

In this manner, the service provision unit221distributes the applications, which have been determined based on the resource management information500and available resources, to the service execution apparatuses according to the determined assignment.

As is obvious from the contrast betweenFIGS. 7 and 8, the second service provision apparatus150determines a distribution destination of each application in consideration of the difference between the resources available to the first service provision apparatus110and the resources available to the second service provision apparatus150. Therefore, a user provided with the service for learning in a school is able to continuously utilize the service for learning even at home.

As illustrated inFIG. 8, in the display unit306, the display screen of the application for whiteboard and the display screen of the application for learning both executed by the service execution unit201bin a common execution environment are displayed in a common window.

Next, the flow of processing in the learning system100since the service for learning is provided in a school until the service for learning is continuously utilized at home will be described with reference toFIGS. 9A to 11C. It is to be noted that inFIGS. 9A to 11C, only one (the terminal device130_1) of three terminal devices130_1to130_3is illustrated for the sake of simplifying the description.

First, the flow of processing up to the point when the first service provision apparatus110provides the service for learning in a school will be described.FIGS. 9A to 9Cprovide diagrams for explaining the flow of processing up to the point when the first service provision apparatus provides the service for learning.

As illustrated inFIG. 9A, when the electronic whiteboard device120, the terminal device130_1, and the voice output device140check in to the service for learning, the first service provision apparatus110makes a transmission request for the resource information to each service execution apparatus.

Each service execution apparatus, which has received the transmission request for the resource information, reads the resource information related to the checked-in service from a corresponding resource information storage unit202, and transmits the resource information to the first service provision apparatus110as illustrated inFIG. 9B. Specifically, the electronic whiteboard device120, the terminal device130_1, and the voice output device140transmit the resource information410, the resource information421, and the resource information430, respectively to the first service provision apparatus110.

The first service provision apparatus110, which has received the resource information410,421,430, determines usable applications when the service for learning is provided, determines assignment of applications, and updates the resource management information500. In addition, the first service provision apparatus110distributes the applications to each service execution apparatus based on the resource management information500(FIG. 9B). Specifically, the application for whiteboard, the application for learning, and the application for speaker are distributed to the electronic whiteboard device120, the terminal device130_1, and the voice output device140, respectively.

Consequently, as illustrated inFIG. 9C, the first service provision apparatus110controls each distributed application, and starts to provide the service for learning.

Next, the flow of processing until the terminal device130_1is moved since the provision of the service for learning by the first service provision apparatus110in a school ends will be described.FIGS. 10A and 10Bprovide diagrams for explaining the flow of processing until the terminal device is moved since the provision of the service for learning by the first service provision apparatus ends.

As illustrated inFIG. 10A, the first service provision apparatus110sends a notification of end of provision of the service for learning to the electronic whiteboard device120, the terminal device130_1, and the voice output device140.

Upon receiving the notification, the electronic whiteboard device120, the terminal device130_1, and the voice output device140each determine whether or not the service for learning is to be continuously provided via another service provision apparatus. When it is determined that the service for learning is to be continuously provided via another service provision apparatus, a continuation instruction is transmitted to the first service provision apparatus110. The example ofFIG. 10Aindicates that the terminal device130_1has transmitted a continuation instruction.

Because the continuation instruction has been received from the terminal device130_1, the first service provision apparatus110determines that the terminal device130_1uses the application distributed by the first service provision apparatus110even when the terminal device130_1is located outside a predetermined area.

In this case, the first service provision apparatus110transmits the resource management information500stored in the resource management information storage unit212along with the service ID of the service for learning to the information storage server160.

Thus, the check-in of the terminal device130_1to the service for learning provided by the first service provision apparatus110is maintained.

Assume that subsequently, the user180_1carries the terminal device130_1and moves out of a predetermined area.FIG. 10Billustrates the manner in which the user180_1carries the terminal device130_1and moves out of a predetermined area.

The terminal device130_1, which has transmitted a continuation instruction, deletes the application (the application for learning) distributed by the first service provision apparatus110, and transmits a deletion completion notification indicating completion of deletion to the first service provision apparatus110.

The first service provision apparatus110, after receiving the deletion completion notification from the terminal device130_1, transmits the service ID of the service for learning to the terminal device130_1. Thus, when the terminal device130_1checks in to the second service provision apparatus150, the second service provision apparatus150is able to recognize that the checked-in terminal device130_1has been provided with the service for learning identified by the service ID. In addition, the service for learning, with which the checked-in terminal device130_1is provided, is uniquely identifiable by the second service provision apparatus150.

Next, the flow of processing after return of the user180_1to home up to the point when the terminal device130_1is provided with the service for learning by the second service provision apparatus150will be described.FIGS. 11A to 11Cprovide diagrams for explaining the flow of processing up to the point when the second service provision apparatus provides the service for learning.

As illustrated inFIG. 11A, when the terminal device130_1checks in, the second service provision apparatus150makes a transmission request for the resource information to the terminal device130_1.

The terminal device130_1, which has received the transmission request for the resource information, reads the resource information421from the resource information storage unit202, and transmits the resource information421to the second service provision apparatus150as illustrated inFIG. 11B. The terminal device130_1also transmits the service ID to the second service provision apparatus150along with the transmission of the resource information421.

The second service provision apparatus150, which has received the resource information421from the terminal device130_1, stores the received resource information in the resource management information storage unit222as the resource management information.

The second service provision apparatus150, which has received the service ID from the terminal device130_1, transmits the received service ID to the information storage server160.

The information storage server160, which has received the service ID from the second service provision apparatus150, searches for resource management information which is stored in association with the received service ID. When corresponding resource management information is retrieved as a result of the search, the retrieved resource management information is transmitted to the second service provision apparatus150(FIG. 11C). Here, it is assumed that the resource management information500is retrieved and transmitted to the second service provision apparatus150.

The second service provision apparatus150, which has received the resource management information500from the information storage server160, analyzes the received resource management information500. Thus, the second service provision apparatus150is able to recognize the application distributed by the first service provision apparatus110when the terminal device130_1is provided with the service for learning by the first service provision apparatus110.

The second service provision apparatus150also determines assignment of the applications distributed by the first service provision apparatus110, based on the resource information received from the terminal device130_1. In addition, the second service provision apparatus150updates the resource management information based on the determined assignment, and stores the updated resource management information in the resource management information storage unit222.

The second service provision apparatus150regenerates the applications based on the updated resource management information600, and distributes the regenerated applications to the terminal device130_1. Specifically, the second service provision apparatus150regenerates the applications including the application for whiteboard, the application for learning, and the application for speaker, and distributes the applications to the terminal device130_1(FIG. 11C).

Consequently, the second service provision apparatus150is able to control the same applications as the applications distributed by the first service provision apparatus110and to provide the same service for learning as that provided by the first service provision apparatus110.

Next, the more detailed functional configuration of the first service provision apparatus110, the service execution apparatus200, and the second service provision apparatus150will be described.

FIG. 12illustrates an example detailed functional configuration of the first service provision apparatus and the service execution apparatus. As illustrated inFIG. 12, the service provision unit211has a check-in determination unit1201, a collection unit1202, a determination unit1203, a service control unit1204, a continuous use determination unit1205, an information storage unit1206, and an information acquisition unit1207.

The check-in determination unit1201sends a check-in request and determines the presence of check-in based on a response from the service execution apparatus200located in a predetermined area. When check-in is determined to be present, the check-in determination unit1201notifies the collection unit1202of the presence.

Upon receiving a notification of the presence of check-in from the check-in determination unit1201, the collection unit1202makes a transmission request for the resource information to the service execution apparatus200. When the resource information is received from the service execution apparatus200in response to the transmission request for the resource information, the collection unit1202notifies the determination unit1203of the received resource information.

The determination unit1203stores the resource information on each service execution apparatus received by the collection unit1202in the resource management information storage unit212as the resource management information500. In addition, the determination unit1203determines each usable application when the service for learning is provided, and determines a resource to be assigned with the application to be distributed, based on the resource information on each service execution apparatus received by the collection unit1202. The determination unit1203updates the resource management information500by storing a result of the assignment in the resource management information. The determination unit1203also reads an application from the application storage unit213based on the updated resource management information500, regenerates the application for each service execution apparatus which is a distribution destination, and notifies the service control unit1204of the application.

The service control unit1204distributes the application in the notification from the determination unit1203to each service execution apparatus. Also, the service control unit1204controls the execution of the application by each service execution apparatus, and starts to provide the service for learning. When the provision of the service for learning ends, the service control unit1204notifies each service execution apparatus of the end of the provision of the service for learning. In addition, when a deletion completion notification for the distributed applications is transmitted from the service execution apparatus200in response to the notification of end of the provision of the service for learning, the service control unit1204receives the deletion completion notification and notifies the information storage unit1206of the deletion completion notification.

When a continuation instruction is transmitted from the service execution apparatus200in response to the notification of end of the provision of the service for learning by the service control unit1204, the continuous use determination unit1205receives the continuation instruction and notifies the information storage unit1206of the continuation instruction. When the service ID is received from the information storage unit1206in response to the notification of the continuation instruction to the information storage unit1206, the continuous use determination unit1205transmits the service ID to the service execution apparatus200.

When a deletion completion notification is received from the service control unit1204after the continuation instruction is received from the continuous use determination unit1205, the information storage unit1206notifies the continuous use determination unit1205of the service ID for identifying the service for learning provided by the service control unit1204. Also, the information storage unit1206, when receiving a continuation instruction from the continuous use determination unit1205, reads the resource management information500from the resource management information storage unit212, and transmits the resource management information500in association with the service ID to the information storage server160.

It is to be noted that the information acquisition unit1207is operated when the second service provision apparatus150provides the service for learning, and thus the information acquisition unit1207will be described later as a functional configuration of the second service provision apparatus150.

On the other hand, as illustrated inFIG. 12, the service execution unit201of the service execution apparatus200has a check-in unit1211, an information transmission unit1212, an execution unit1213, and a continuation instruction unit1214.

In response to a check-in request sent by the check-in determination unit1201, the check-in unit1211checks in to the service for learning provided by the service provision unit211.

In response to the check-in of the check-in unit1211, the information transmission unit1212receives a transmission request for the resource information, which is transmitted from the collection unit1202. Also, the information transmission unit1212reads the resource information stored in the resource information storage unit202, and transmits the resource information to the collection unit1202.

The execution unit1213receives applications distributed from the service control unit1204, and executes the received applications under the control of the service control unit1204to receive the service for learning. The execution unit1213, when receiving a notification of end of the provision of the service for learning from the service control unit1204, deletes the applications distributed from the service control unit1204. In addition, upon completion of the deletion of the applications, the execution unit1213transmits a deletion completion notification to the service control unit1204.

The continuation instruction unit1214, when receiving a notification of end of the provision of the service for learning from the service control unit1204, receives a continuation instruction if the continuation instruction is inputted by a user (for instance, the user180_1). The continuation instruction unit1214also transmits the received continuation instruction to the continuous use determination unit1205. In addition, after the transmission of the continuation instruction, when the service ID is transmitted from the continuous use determination unit1205due to transmission of a deletion completion notification from the execution unit1213, the continuation instruction unit1214receives the service ID, and notifies the information transmission unit1212of the service ID.

FIG. 13illustrates an example detailed functional configuration of the second service provision apparatus and the service execution apparatus. It is to be noted that the functional configuration of the second service provision apparatus150illustrated inFIG. 13is the same as the functional configuration of the first service provision apparatus110illustrated inFIG. 12, and the functional configuration of the service execution apparatus200illustrated inFIG. 13is the same as the functional configuration of the service execution apparatus200illustrated inFIG. 12.

However, each unit illustrated inFIG. 13performs a different operation from that performed by each unit illustrated inFIG. 12, and thus the point of difference between the operations will be mainly described below.

In the service provision unit211, the collection unit1202, when receiving resource information and a service ID from the service execution apparatus200in response to a transmission request for resource information, notifies the determination unit1203of the received resource information and service ID.

The determination unit1203stores the resource information in the notification from the collection unit1202in the resource management information storage unit212as resource management information600. Also, the determination unit1203notifies the information acquisition unit1207of the service ID in the notification from the collection unit1202, thereby obtaining the resource management information500from the information acquisition unit1207. The determination unit1203analyzes the obtained resource management information500, thereby recognizing the applications distributed when the service for learning is provided by the first service provision apparatus110.

In addition, the determination unit1203assigns the recognized applications to each resource included in the resource information in the notification from the collection unit1202. The determination unit1203updates the resource management information600by storing a result of the assignment in the resource management information storage unit212. The determination unit1203also reads an application from the application storage unit213based on the updated resource management information600, regenerates the application for each service execution apparatus which is a distribution destination, and notifies the service control unit1204of the application. Here, the determination unit1203regenerates the applications including the application for whiteboard, the application for learning, and the application for speaker, and notifies the service control unit1204of the regenerated applications. The service control unit1204distributes the applications in the notification from the determination unit1203to the terminal device130_1.

In this manner, the determination unit1203of the first service provision apparatus110regenerates applications based on the resource information group (the resource management information500) received by the collection unit1202of the first service provision apparatus110. On the other hand, the determination unit1203of the second service provision apparatus150regenerates applications based on the resource information groups (the resource management information500,600) received by the collection units1202of the first and second service provision apparatuses110,150. That is, the determination unit1203of the second service provision apparatus150regenerates different applications from the applications regenerated by the determination unit1203of the first service provision apparatus110.

As illustrated inFIG. 13, in the service execution unit201of the service execution apparatus200, the information transmission unit1212, when receiving a transmission request for the resource information from the collection unit1202, transmits the resource information and the service ID to the collection unit1202.

Next, the flow of service provision end processing performed by the first service provision apparatus110will be described.FIG. 14is a flow chart of the service provision end processing. The flow chart illustrated inFIG. 14starts when the service control unit1204starts to provide the service for learning.

In S1401, the service control unit1204determines whether or not provision of the service for learning has ended. In S1401, when it is determined that the provision of the service for learning has not ended, the flow stands by until the provision ends.

On the other hand, in S1401, when it is determined that the provision of the service for learning has ended, the flow proceeds to S1402. In S1402, the continuous use determination unit1205determines whether or not any of the service execution apparatuses200, which have checked in to the service for learning provided by the first service provision apparatus110, has transmitted a continuation instruction.

In S1402, when it is determined that no service execution apparatus200has transmitted a continuation instruction, the service provision end processing is terminated.

On the other hand, in S1402, when it is determined that a service execution apparatus200has transmitted a continuation instruction, the flow proceeds to S1403. In S1403, the information storage unit1206transmits the resource management information500stored in the resource management information storage unit212in association with the service ID to the information storage server160.

In S1404, the service control unit1204determines whether or not a deletion completion notification for distributed applications has been received from the service execution apparatus200which has transmitted a continuation instruction.

In S1404, when it is determined that a deletion completion notification has not been received, the service provision end processing is terminated. On the other hand, in S1404, when it is determined that a deletion completion notification has been received, the flow proceeds to S1405.

In S1405, the continuous use determination unit1205transmits the service ID to the service execution apparatus200which has transmitted a continuation instruction.

Next, the flow of service provision start processing performed by the second service provision apparatus150will be described.FIG. 15is a flow chart of the service provision start processing.

In S1501, the check-in determination unit1201determines whether or not a service execution apparatus200has checked in. In S1501, when it is determined that no service execution apparatus200has checked in, the flow stands by until check-in occurs.

On the other hand, in S1501, when check-in is determined to be present, the flow proceeds to S1502. In S1502, the collection unit1202makes a transmission request for the resource information to a service execution apparatus200which has checked in.

In S1503, the collection unit1202determines whether or not both the resource information and the service ID have been received from the service execution apparatus200in response to the transmission request for the resource information. In S1503, when it is determined that one of the resource information and the service ID has not been received, the flow proceeds to S1504.

In S1504, the collection unit1202determines whether or not the resource information has been received. In S1504, when it is determined that the resource information has not been received, the service provision start processing is terminated. On the other hand, when it is determined that the resource information has been received, the flow proceeds to S1507.

On the other hand, in S1503, when it is determined that both the resource information and the service ID have been received, the flow proceeds to S1505. In S1505, the determination unit1203stores the received resource information in the resource management information storage unit212as the resource management information600. Also, the information acquisition unit1207makes a request to the information storage server160for resource management information corresponding to the received service ID.

In S1506, the determination unit1203analyzes the resource management information500obtained from the information storage server160, and recognizes the applications distributed when the service for learning is provided by the first service provision apparatus110.

In S1507, the determination unit1203determines assignment of applications to be distributed, based on the resource information received in S1503.

Specifically, when the service ID has not been received in S1503, usable applications are determined and assignment of the applications to each resource is determined based on the resource information. When the service ID has been received in S1503, assignment of the applications recognized in S1506to each resource is determined based on the resource information.

In S1508, the determination unit1203updates the resource management information600by storing a result of the assignment in the resource management information.

In S1509, the determination unit1203also reads an application from the application storage unit213based on the updated resource management information600, regenerates the application for each service execution apparatus which is a distribution destination, and notifies the service control unit1204of the application. The service control unit1204distributes the application in the notification to each service execution apparatus which is a distribution destination, thereby starting provision of the service for learning.

As is obvious from the description above, in the learning system100, the first service provision apparatus110obtains the resource information owned by the service execution apparatus200in a predetermined area. The first service provision apparatus110determines usable applications when the service for learning is provided, based on the obtained resource information, determines assignment of applications to each resource, and distributes the applications according to a result of the assignment.

In the learning system100, when a continuation instruction is received from the service execution apparatus200after the provision of the service for learning ends, the first service provision apparatus110transmits the resource management information500along with the service ID to the information storage server160. When a deletion completion notification for distributed applications is received from the service execution apparatus200which has sent a continuation instruction, the first service provision apparatus110transmits the service ID to the service execution apparatus200which has sent a continuation instruction.

Consequently, in a state in which check-in to the service for learning provided by the first service provision apparatus110is maintained, the service execution apparatus200is able to check in to the service for learning provided by the second service provision apparatus150. The second service provision apparatus150, to which the service execution apparatus200has checked in, is able to recognize the applications distributed when the service for learning is provided by the first service provision apparatus110, based on the resource management information500. In addition, the second service provision apparatus150is able to determine assignment using the same applications as the applications distributed when the service for learning is provided by the first service provision apparatus110, and to provide the service for learning.

Consequently, with the learning system100, it is possible to extend the area where a similar service for learning may be provided.

In the first embodiment described above, the resource information is obtained and assignment of applications to each resource is determined before the service provision unit211starts to provide the service for learning. On the other hand, in a second embodiment, service provision additional processing is described, in which when a new service execution apparatus checks in after the service provision unit211starts to provide the service for learning, assignment of applications to each resource is changed.

In the following, service provision additional processing will be described in the case where during provision of the service for learning by the first service provision apparatus, a service execution apparatus which has been provided with the service for learning by another service provision apparatus newly checks in.

FIG. 16is a flow chart of the service provision additional processing. The flow chart illustrated inFIG. 16is to be executed after the service provision unit211of the first service provision apparatus110starts to provide the service for learning.

In S1601, the check-in determination unit1201determines whether or not a new service execution apparatus has checked in. When a new service execution apparatus has not checked in, the service provision additional processing is terminated.

On the other hand, in S1601, when it is determined that a new service execution apparatus has checked in, the flow proceeds to S1602. In S1602, the collection unit1202makes a transmission request for the resource information to the newly checked-in service execution apparatus.

In S1603, the collection unit1202determines whether or not both the resource information and the service ID have been received from the new service execution apparatus in response to the transmission request for the resource information. In S1603, when it is determined that one of the resource information and the service ID has not been received, the flow proceeds to S1604.

In S1604, the collection unit1202determines whether or not the resource information has been received. In S1604, when it is determined that the resource information has not been received, the service provision additional processing is terminated. On the other hand, when it is determined that the resource information has been received, the flow proceeds to S1608.

On the other hand, in S1603, when it is determined that both the resource information and the service ID have been received, the flow proceeds to S1605. In S1605, the determination unit1203updates the resource management information500stored in the resource management information storage unit212based on the received resource information. Also, the determination unit1203determines whether or not the service ID received from the newly checked-in service execution apparatus matches the service ID of the service for learning currently provided.

In S1605, when it is determined that two service IDs match, the flow proceeds to S1606. In S1606, the information acquisition unit1207makes a request to the information storage server160for resource management information corresponding to the service ID.

In S1607, the determination unit1203analyzes the resource management information obtained from the information storage server160, and recognizes the applications distributed when the new service execution apparatus is provided with the service for learning by another service provision apparatus.

In S1608, the determination unit1203determines assignment of applications to be distributed based on the resource management information500updated by the resource information received in S1603.

Specifically, when a service ID has not been received in S1603, the determination unit1203determines usable applications based on the resource included in the updated resource management information500. Also, the determination unit1203determines assignment of usable applications to each resource included in the updated resource management information500.

On the other hand, when a service ID has been received in S1603, the determination unit1203determines applications to be distributed based on the resource management information obtained from the information storage server160according to the service ID. Also, the determination unit1203determines assignment of applications to each resource included in the updated resource management information500.

In S1609, the determination unit1203updates the resource management information500again by storing a result of the assignment in the resource management information.

In S1610, the determination unit1203also reads an application from the application storage unit213based on the again updated resource management information500, regenerates the application for each service execution apparatus which is a distribution destination, and notifies the service control unit1204of the application. The service control unit1204distributes the application in the notification to each service execution apparatus which is a distribution destination, thereby starting provision of the service for learning.

As is obvious from the description above, in the learning system100, when a new service execution apparatus checks in after the start of the provision of the service for learning, the resource management information is updated in consideration of the resources of the newly checked-in service execution apparatus.

When the newly checked-in service execution apparatus has a service ID, the resource management information obtained from the information storage server based on the service ID is analyzed. The applications distributed by another service provision apparatus when the newly checked-in service execution apparatus was provided with the service for learning by the another service provision apparatus are recognized. Furthermore, the resource management information is updated so that the applications are assigned.

In this manner, when the resources available to the service provision apparatus are changed, the resource management information is updated according to the change and applications are redistributed, thereby making it possible to maximize the utilization of available resources.

In the first embodiment described above, description has been given in which the execution unit1213in the service execution unit201included in the service execution apparatus200executes all applications distributed from the service provision apparatus. On the other hand, in a third embodiment, different execution units are provided according to the types of applications distributed from the service provision apparatus, and the execution units are operated according to the types of the applications.

FIG. 17is a diagram illustrating a result of distribution of applications when the service for learning is provided by the first service provision apparatus in the third embodiment.

As illustrated inFIG. 17, the terminal device130_1has execution units1701to1703. When an application for whiteboard is distributed from the first service provision apparatus110, the execution unit1701of these units executes the application for whiteboard. When an application for learning is distributed from the first service provision apparatus110, the execution unit1702executes the application for learning. In addition, when an application for speaker is distributed from the first service provision apparatus110, the execution unit1703executes the application for speaker. In this manner, an execution unit is provided for each application, and thus the display unit306allows the application for whiteboard and the application for learning to be displayed in separate windows.

In the first embodiment described above, description has been given in which each service execution apparatus receives distribution of applications from the service provision apparatus. On the other hand, in a fourth embodiment, part of the service execution apparatuses obtains applications from another service execution apparatus which has received distribution of applications from the service provision apparatus.

FIGS. 18A to 18Cprovide diagrams for explaining the flow of processing up to the point when the first service provision apparatus provides the service for learning, and the diagrams correspond toFIGS. 9A to 9Cof the first embodiment. The point of difference fromFIGS. 9A to 9Cis that inFIG. 18B, the terminal device130_2obtains an application from the terminal device130_1, the application being distributed to the terminal device130_1. As illustrated inFIG. 18B, the terminal device130_2has the same resources as those of the terminal device130_1, and thus the same applications are distributed. Therefore, it is possible to receive the same service as the service for learning received by the terminal device130_1by obtaining the applications distributed to the terminal device130_1.

In the first embodiment described above, the case has been described where the user180_1provided with the service for learning by the first service provision apparatus110is continuously provided with the service for learning by the second service provision apparatus150. That is, in the first embodiment, the case has been described where the user180_1carries the terminal device130_1and moves once. However, the number of movements of the user180_1carrying the terminal device130_1is not limited to one, and the user180_1may move multiple times. That is, the user may be allowed to continuously receive the service for learning at three or more locations.

In this case, when a service provision apparatus installed in any one of the locations receives a continuation instruction from the terminal device130_1after the provision of the service for learning ends, the service provision apparatus transmits the position information on the service provision apparatus in addition to the resource management information and the service ID, to the information storage server160.

Thus, in the service provision apparatus to which the terminal device130_1has newly checked in, when pieces of resource management information is obtained from the information storage server160based on the service ID, the service provision apparatus may obtain the position information on the resource as well. Consequently, the user180_1is able to recognize the resources available to the service provision apparatus at each of the positions. Hereinafter, a fifth embodiment will be described.

FIGS. 19A and 19Bprovide diagrams for explaining the flow of processing until a terminal device is moved since the provision of the service for learning by the first service provision apparatus ends, and the diagrams correspond toFIGS. 10A and 10Bdescribed in the first embodiment. A point of difference fromFIGS. 10A and 10Bis that inFIG. 19A, the first service provision apparatus110transmits position information. As illustrated inFIG. 19A, in the first service provision apparatus110, when a continuation instruction is received from the terminal device130_1, the position information on the first service provision apparatus110in addition to the resource management information500and the service ID is transmitted to the information storage server160.

Another point of difference fromFIGS. 10A and 10Bis that after the terminal device130_1is provided with the service for learning by a third service provision apparatus1940, the terminal device130_1is provided with the service for learning by the second service provision apparatus150.

FIGS. 20A to 20Cprovide diagrams for explaining the flow of processing up to the point when the second service provision apparatus provides the service for learning, and the diagrams correspond toFIGS. 11A to 11Cdescribed in the first embodiment. A point of difference fromFIGS. 11A to 11Cis that inFIG. 20C, the information storage server160transmits the resource management information and the position information to the second service provision apparatus150. Another point of difference is that the second service provision apparatus150distributes the resource management information and the position information in addition to the applications to the terminal device130_1.

In this manner, the second service provision apparatus150distributes the resource management information and the position information to the terminal device130_1, thereby allowing the user180_1of the terminal device130_1to recognize the resources available to another service provision apparatus and the position of the another service provision apparatus. It is to be noted that another service provision apparatus refers to the first and third service provision apparatuses.

That is, even when the resources available to the second service provision apparatus150are limited, the resources available to another service provision apparatus and its position are recognizable to the user180_1. Consequently, the user180_1may grasp the location where desired resources are available.

Although the resource management information500is stored in the information storage server160in the embodiments described above, distributed applications in addition to the resource management information500may be stored. This allows the second service provision apparatus150to directly obtain the applications distributed by the first service provision apparatus150, from the information storage server160.

In the embodiments described above, the case has been described where each service execution apparatus has a display function or a voice output function as the output function. Each service execution apparatus, however, may have a print function as the output function.

In the embodiments described above, the case has been described where the number of service execution apparatuses connectable to the second service provision apparatus is less than the number of service execution apparatuses connectable to the first service provision apparatus. However, the case is similarly applicable where the number of service execution apparatuses connectable to the second service provision apparatus is greater than the number of service execution apparatuses connectable to the first service provision apparatus.

In the embodiments described above, description has been given in which when the position of the service execution apparatus200is in a predetermined area, the service for learning may be provided, and when the position is out of a predetermined area, the service for learning may not be provided. However, making determination as to whether or not the service for learning may be provided based on the position of the service execution apparatus200is only an example. In other words, whether or not the service for learning is provided may be determined based on whether or not the state of the service execution apparatus200other than its position is in a predetermined state.