CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    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 
       [0002]    The embodiments discussed herein are related to a service provision method, a system, and an apparatus. 
       BACKGROUND 
       [0003]    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. 
         [0004]    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. 
         [0005]    Related techniques are disclosed in, for example, Japanese Laid-open Patent Publication Nos. 2006-012076, 2014-191686, 2000-207216, and 2014-010537. 
         [0006]    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&#39;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 
       [0007]    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. 
         [0008]    The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
         [0009]    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 invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0010]      FIG. 1  illustrates an example learning system utilizing a service provision apparatus; 
           [0011]      FIG. 2  is a diagram illustrating an example functional configuration of the learning system; 
           [0012]      FIG. 3  is a diagram illustrating an example hardware configuration of a first service provision apparatus; 
           [0013]      FIGS. 4A to 4C  are each a table illustrating example resource information; 
           [0014]      FIG. 5  is a table illustrating example resource management information on the first service provision apparatus; 
           [0015]      FIG. 6  is a table illustrating example resource management information on a second service provision apparatus; 
           [0016]      FIG. 7  illustrates a result of distribution of applications when a service for learning is provided by the first service provision apparatus; 
           [0017]      FIG. 8  is a first diagram illustrating a result of distribution of applications when a service for learning is provided by the second service provision apparatus; 
           [0018]      FIGS. 9A to 9C  provide first diagrams for explaining the flow of processing up to the point when the first service provision apparatus provides the service for learning; 
           [0019]      FIGS. 10A and 10B  provide first 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; 
           [0020]      FIGS. 11A to 11C  provide first diagrams for explaining the flow of processing up to the point when the second service provision apparatus provides the service for learning; 
           [0021]      FIG. 12  illustrates an example detailed functional configuration of the first service provision apparatus and a service execution apparatus; 
           [0022]      FIG. 13  illustrates an example detailed functional configuration of the second service provision apparatus and a service execution apparatus; 
           [0023]      FIG. 14  is a flow chart of service provision end processing; 
           [0024]      FIG. 15  is a flow chart of service provision start processing; 
           [0025]      FIG. 16  is a flow chart of service provision additional processing; 
           [0026]      FIG. 17  is a second diagram illustrating a result of distribution of applications when the service for learning is provided by the first service provision apparatus; 
           [0027]      FIGS. 18A to 18C  provide second diagrams for explaining the flow of processing up to the point when the first service provision apparatus provides the service for learning; 
           [0028]      FIGS. 19A and 19B  provide second 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 
           [0029]      FIGS. 20A to 20C  provide second diagrams for explaining the flow of processing up to the point when the second service provision apparatus provides the service for learning. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0030]    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 Embodiment 
       [0031]    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. 
         [0032]      FIG. 1  illustrates an example learning system utilizing the service provision apparatus. As illustrated in  FIG. 1 , a learning system  100  has a first service provision apparatus  110 , an electronic whiteboard device  120 , terminal devices  130 _ 1  to  130 _ 3 , a voice output device  140 , a second service provision apparatus  150 , and an information storage server  160 . 
         [0033]    The information storage server  160 , and the first service provision apparatus  110  and the second service provision apparatus  150  are connected via a network  170  which is represented by the Internet or a local area network (LAN). 
         [0034]    In the example of  FIG. 1 , the first service provision apparatus  110 , the electronic whiteboard device  120 , and the voice output device  140  are installed in a school, and the second service provision apparatus  150  is installed in the house of a user  180 _ 1  who has the terminal device  130 _ 1 . 
         [0035]    In a school, the first service provision apparatus  110  distributes an “application for whiteboard”, which is a display application for explanation, to the electronic whiteboard device  120 . Thus, a user (for instance, a teacher)  180  may give an explanation while looking at the application for whiteboard displayed on the electronic whiteboard device  120 . 
         [0036]    In addition, the first service provision apparatus  110  distributes an “application for learning”, which is a display application for notebook, to the terminal devices  130 _ 1  to  130 _ 3 . Thus, users (for instance, students)  180 _ 1  to  180 _ 3  may take notes while looking at the application for learning displayed on the terminal devices  130 _ 1  to  130 _ 3 , respectively. It is to be noted that the terminal devices  130 _ 1  to  130 _ 3  are each a mobile terminal such as a smartphone or a tablet, which may be carried by the users  180 _ 1  to  180 _ 3 . Although the example of  FIG. 1  illustrates the case where the first service provision apparatus  110  distributes the application for learning to three terminal devices  130 _ 1  to  130 _ 3 , the number of terminal devices, to which the application for learning is distributed by the first service provision apparatus  110 , is not limited to three. 
         [0037]    Furthermore, the first service provision apparatus  110  distributes an “application for speaker”, which is a voice application for explanation, to the voice output device  140 . Thus, the users  180 _ 1  to  180 _ 3  are able to hear the voice for explanation. It is to be noted that the voice output device  140  is a device that has a voice output function such as a speaker. 
         [0038]    On the other hand, neither the electronic whiteboard device  120  nor the voice output device  140  is provided at home. For this reason, the second service provision apparatus  150 , when providing the service for learning, collectively distributes the application for whiteboard, the application for learning, and the application for speaker to the terminal device  130 _ 1 . 
         [0039]    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 apparatus  110 , the second service provision apparatus  150 ). 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. 
         [0040]    In the present embodiment, the second service provision apparatus  150  determines 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 apparatus  150  and the first service provision apparatus  110 . In addition, the second service provision apparatus  150  determines applications to be distributed based on the applications distributed by the first service provision apparatus  110 . 
         [0041]    It is to be noted that the second service provision apparatus  150  obtains via the information storage server  160  information on the resources and distributed applications when the user  180 _ 1  is 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 apparatus  150  is able to determine an application to be distributed and its distribution destination, and to regenerate the application based on the resource management information. 
         [0042]    Consequently, with the learning system  100 , the user  180 _ 1  who 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 apparatus  110 . 
         [0043]    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 device  130 _ 1  in a predetermined area (in a school), may be extended to outside the predetermined area (home). 
         [0044]    Next, the functional configuration of the entire learning system  100  will be described.  FIG. 2  is a diagram illustrating an example functional configuration of the learning system. It is to be noted that in the example of  FIG. 2 , the electronic whiteboard device  120 , the terminal devices  130 _ 1  to  130 _ 3 , and the voice output device  140  which are connected to the first service provision apparatus  110  are collectively depicted as a service execution apparatus  200  for the sake of simplifying the description. 
         [0045]    The first service provision apparatus  110  is an apparatus that provides a service for learning. A service provision program is installed in the first service provision apparatus  110  which serves as a service provision unit  211  by executing the program. 
         [0046]    When the service execution apparatus  200  is in a predetermined area, the service provision unit  211  receives check-in to the service for learning from the service execution apparatus  200 . It is to be noted that the predetermined area indicates a predetermined area related to the first service provision apparatus  110 , such as an area in which radio waves emitted from the first service provision apparatus  110  may 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 apparatus  110 , the service execution apparatus  200  is connected to the first service provision apparatus  110  and is enabled to be provided with the service for learning. 
         [0047]    The service provision unit  211  makes a request to the service execution apparatus  200  which has received check-in, for transmission of information on the resources owned by the service execution apparatus  200  (hereinafter information on the resources owned by each service execution apparatus is referred to as “resource information”). The service provision unit  211  also collects the resource information transmitted from the service execution apparatus  200  in response to a transmission request for resource information, and stores the resource information in the resource management information storage unit  212  as resource management information. 
         [0048]    The service provision unit  211  determines assignment of applications to be executed by the resources, according to the resource management information stored in the resource management information storage unit  212 , and updates the resource management information by storing a result of the assignment in the resource management information storage unit  212 . In addition, the service provision unit  211  reads an application with the application determined for assignment from an application storage unit  213 , and regenerates and distributes the application for and to each distribution destination (each of the service execution apparatuses  200  having the resources). 
         [0049]    The service provision unit  211  starts to provide the service for learning by performing control to cause each resource to execute the corresponding applications distributed to the service execution apparatus  200 . 
         [0050]    In addition, the service provision unit  211 , when receiving a continuation instruction from the service execution apparatus  200 , transmits the resource management information and the like stored in the resource management information storage unit  212  to the information storage server  160 . The continuation instruction refers to an instruction issued by the service execution apparatus  200  for requesting another service provision apparatus (for instance, the second service provision apparatus  150 ) to continuously provide the service for learning, when the service execution apparatus  200  is 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 unit  211  has ended and the case where the service execution apparatus  200  has moved out from the predetermined area. 
         [0051]    Transmission of the resource management information to the information storage server  160  allows the service execution apparatus  200  to be provided with the service for learning from the second service provision apparatus  150  based on the resource management information. A state in which the second service provision apparatus  150  is 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 apparatus  200  to the service for learning to be maintained. 
         [0052]    The service execution apparatus  200  is an apparatus that is provided with the service for learning by executing the applications distributed from the first service provision apparatus  110 . A service execution program is installed in the service execution apparatus  200  which serves as a service execution unit  201  by executing the program. 
         [0053]    The service execution unit  201  checks in to the service for learning provided by the first service provision apparatus  110 . Alternatively, in a state in which the check-in to the service for learning provided by the first service provision apparatus  110  is maintained, the service execution unit  201  checks in to the service for learning provided by the second service provision apparatus  150 . 
         [0054]    The service execution unit  201 , when receiving a transmission request for the resource information from the first service provision apparatus  110  or the second service provision apparatus  150 , reads the resource information on the apparatus stored in the resource information storage unit  202 . In addition, the service execution unit  201  transmits the read resource information to the first service provision apparatus  110  or the second service provision apparatus  150 . 
         [0055]    The service execution unit  201  receives applications distributed from the first service provision apparatus  110  or the second service provision apparatus  150  in response to the transmission of the resource information. Also, the service execution unit  201  executes the distributed applications using the resources of the apparatus  110  or  150  under the control of the service provision unit  211  or  221 . 
         [0056]    Although the second service provision apparatus  150  is an apparatus that provides the service for learning and is a separate body from the first service provision apparatus  110 , the second service provision apparatus  150  has the same functions as those of the first service provision apparatus  110 . 
         [0057]    However, when the service for learning is provided to the service execution apparatus  200  which maintains the check-in to the service for learning, the service provision unit  221  of the second service provision apparatus  150  obtains the resource management information stored in the information storage server  160 . 
         [0058]    Thus, the service provision unit  221  is able to provide the service for learning based on the resource management information stored in the information storage server  160 . Specifically, the service provision unit  221  is able to regenerate and distribute the same applications as the applications distributed when the service for learning is provided by the first service provision apparatus  110 , according to the resources available to the second service provision apparatus  150 . 
         [0059]    The information storage server  160  stores the resource management information and the like which are transmitted from the first service provision apparatus  110 . In addition, in response to a request from the second service provision apparatus  150 , the information storage server  160  transmits the stored resource management information to the second service provision apparatus  150 . 
         [0060]    Next, the hardware configuration of each of the first service provision apparatus  110 , the service execution apparatus  200  (the electronic whiteboard device  120 , the terminal devices  130 _ 1  to  130 _ 3 , the voice output device  140 ), the second service provision apparatus  150 , and the information storage server  160  will be described. It is to be noted that each of the first service provision apparatus  110 , the service execution apparatus  200 , the second service provision apparatus  150 , and the information storage server  160  has the same hardware configuration. For this reason, the hardware configuration of the first service provision apparatus will be described with reference to  FIG. 3  below. 
         [0061]      FIG. 3  is a diagram illustrating an example hardware configuration of the first service provision apparatus. As illustrated in  FIG. 3 , the first service provision apparatus  110  includes a CPU  301 , a read only memory (ROM)  302 , and a random access memory (RAM)  303 . In addition, the first service provision apparatus  110  includes an auxiliary storage unit  304 , an input unit  305 , a display unit  306 , a communication unit  307 , and a drive unit  308 . It is to be noted that the units of the first service provision apparatus  110  are connected to one another via a bus  309 . 
         [0062]    The CPU  301  is a computer that executes various programs (for instance, a service provision program) installed in the auxiliary storage unit  304 . The ROM  302  is a nonvolatile memory. The ROM  302  serves as a main memory unit that stores various programs, data, or the like to be used by the CPU  301  for executing various programs stored in the auxiliary storage unit  304 . Specifically, the ROM  302  stores boot programs such as a basic input/output system (BIOS) or an extensible firmware interface (EFI). 
         [0063]    The RAM  303  is 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 RAM  303  provides a workspace used when the various programs stored in the auxiliary storage unit  304  are executed by the CPU  301 . 
         [0064]    The auxiliary storage unit  304  stores various programs installed in the first service provision apparatus  110  and information (such as resource management information and the like) which is used when the various programs are executed. In addition, the auxiliary storage unit  304  stores applications (such as the application for whiteboard, the application for learning, the application for speaker) which are distributed by executing the various programs. 
         [0065]    The input unit  305  is used when various instructions are inputted to the first service provision apparatus  110 . The display unit  306  displays an internal state of the first service provision apparatus  110 . 
         [0066]    The communication unit  307  is a device for communicating with an external device (such as the service execution apparatus  200 , the information storage server  160 ) to be connected to the first service provision apparatus  110 . An application to be distributed to the service execution apparatus  200  is transmitted via the communication unit  307 . Also, resource information to be transmitted from the service execution apparatus  200  is received via the communication unit  307 . Furthermore, resource management information and the like to be transmitted to the information storage server  160  are transmitted via the communication unit  307 . 
         [0067]    The drive unit  308  is a device for setting a recording medium  310 . The recording medium  310  referred 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 medium  310  includes a semiconductor memory or the like that records information electrically, such as a ROM, a flash memory. 
         [0068]    It is to be noted that the service provision program in the auxiliary storage unit  304  is stored therein, for instance, in the following manner: distributed recording medium  310  is set to the drive unit  308 , and the service provision program recorded in the recording medium  310  is read by the drive unit  308 . Alternatively, the service provision program may be stored by being received via the communication unit  307 . 
         [0069]    Next, the resource information stored in the resource information storage unit  202  of the service execution apparatus  200  will be described.  FIGS. 4A to 4C  are each a table illustrating example resource information,  FIG. 4A  illustrates example resource information  410  on the electronic whiteboard device  120 ,  FIG. 4B  illustrates example resource information  421  to  423  on the terminal devices  130 _ 1  to  130 _ 3 , and  FIG. 4C  illustrates example resource information  430  on the voice output device  140 . As illustrated in  FIGS. 4A to 4C , the resource information includes “device ID”, “output function”, and “controller type” as the items of information. 
         [0070]    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 device  120 , the terminal devices  130 _ 1  to  130 _ 3 , and the voice output device  140 . Even for the same terminal device, different identifiers are stored for the terminal device  130 _ 1 , the terminal device  130 _ 2 , and the terminal device  130 _ 3 . 
         [0071]    The “output function” stores information on the output function owned by each service execution apparatus. The example of  FIGS. 4A to 4C  indicates that the electronic whiteboard device  120  has a display function as the output function. The example also indicates that the terminal devices  130 _ 1  to  130 _ 3  each have a display function and a voice output function as the output function. In addition, the example indicates that the voice output device  140  has a voice output function as the output function. 
         [0072]    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 device  120 , the “controller type” stores “WhiteBoard” which indicates that the application for whiteboard is executable. 
         [0073]    On the other hand, in the case of the terminal device  130 , 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. 
         [0074]    In the case of the voice output device  140 , the “controller type” stores “Speaker” indicating that the application for speaker is executable. 
         [0075]    Since the resource information includes the “output function” and the “controller type” like this, it is possible for the service provision unit  211  to determine the resource owned by each service execution apparatus  200  based on the combination of the “output function” and the “controller type”. Also, it is possible for the service provision unit  211  to determine usable applications when the service for learning is provided, based on the determined resource. 
         [0076]    For instance, the electronic whiteboard device  120  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”. 
         [0077]    Also, the terminal devices  130 _ 1  to  130 _ 3  each 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 devices  130 _ 1  to  130 _ 3  each 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 devices  130 _ 1  to  130 _ 3  each 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”. 
         [0078]    Also, the voice output device  140  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”. 
         [0079]    Consequently, it is possible for the service provision unit  211  to determine the application for whiteboard, the application for learning, and the application for speaker as usable applications when the service for learning is provided. 
         [0080]    Next, the resource management information stored in the resource management information storage unit  212  of the first service provision apparatus  110  will be described.  FIG. 5  is a table illustrating example resource management information on the first service provision apparatus. Resource management information  500  stores the resource information of each service execution apparatus  200  which has checked in to the service for learning provided by the first service provision apparatus  110 , and stores the applications assigned to each resource included in the resource information. 
         [0081]    Specifically, the resource management information  500  includes “device ID”, “output function”, “output object”, “controller type”, and “controller object” as the items of information. 
         [0082]    The “device ID”, “output function”, and “controller type” store relevant resource information received from each service execution apparatus  200 . 
         [0083]    The “output object”, “controller object” store applications for which assignment is determined by the service provision unit  211  based on the resource information received from each service execution apparatus  200 . 
         [0084]    For instance, in the case of the electronic whiteboard device  120  with the device ID=“A 001 ”, the service provision unit  211  determines that the electronic whiteboard device  120  has a resource that executes the application for whiteboard. Thus, in the example of  FIG. 5 , the service provision unit  211  has determined that the output object=“Di_A_ 001 ” and the controller object=“Wb 001 ” are assigned to the application for whiteboard. 
         [0085]    In the case of the terminal device  130 _ 1  with the device ID=“B 001 ”, the service provision unit  211  determines that the terminal device  130 _ 1  has a resource that executes the application for learning, the application for speaker, and the application for whiteboard. Among these, in the example of  FIG. 5 , the service provision unit  211  has determined that the output object=“Di_B_ 001 ” and the controller object=“Ed 001 ” are assigned to the application for learning. 
         [0086]    Similarly, in the case of the terminal device  130 _ 2  with the device ID=“B 002 ”, the service provision unit  211  determines that the terminal device  130 _ 2  has a resource that executes the application for learning, the application for speaker, and the application for whiteboard. Among these, in the example of  FIG. 5 , the service provision unit  211  has determined that the output object=“Di_B_ 002 ” and the controller object=“Ed 002 ” are assigned to the application for learning. 
         [0087]    Similarly, in the case of the terminal device  130 _ 3  with the device ID=“B 003 ”, the service provision unit  211  determines that the terminal device  130 _ 3  has a resource that executes the application for learning, the application for speaker, and the application for whiteboard. Among these, in the example of  FIG. 5 , the service provision unit  211  has determined that the output object=“Di_B_ 003 ” and the controller object=“Ed 003 ” are assigned to the application for learning. 
         [0088]    On the other hand, in the case of the voice output device  140  with the device ID=“C 001 ”, the service provision unit  211  determines that the voice output device  140  has a resource that executes the application for speaker. Thus, in the example of  FIG. 5 , the service provision unit  211  has determined that the output object=“Au_C_ 001 ” and the controller object=“Sp 001 ” are assigned to the application for speaker. 
         [0089]    Next, the resource management information stored in the resource management information storage unit  222  of the second service provision apparatus  150  will be described.  FIG. 6  is a table illustrating example resource management information on the second service provision apparatus. The resource management information  600  stores the resource information of a device (here, the terminal device  130 _ 1 ) which has checked in to the service for learning provided by the second service provision apparatus  150 , and information on the applications assigned to each resource included in the resource information. 
         [0090]    Similarly to the resource management information  500 , the resource management information  600  includes “device ID”, “output function”, “output object”, “controller type”, and “controller object” as the items of information. 
         [0091]    In the example of  FIG. 6 , the terminal device  130 _ 1  has checked in, and thus each of the “device ID”, “output function”, and “controller type” stores relevant resource information received from the terminal device  130 _ 1 . 
         [0092]    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 unit  221 . It is to be noted that when an application to be assigned to each resource is determined, the service provision unit  221  obtains and analyzes the resource management information  500 . 
         [0093]    According to the resource management information  500 , the first service provision apparatus  110 , when providing the service for learning, distributes the application for whiteboard, the application for learning, and the application for speaker. Thus, the service provision unit  221  determines assignment of the applications to each resource so that the applications are distributed. 
         [0094]    In the example of  FIG. 6 , the service provision unit  221  has determined that the output object=“Di_B_ 004 ” and the controller object=“Ed 004 ” are assigned to the application for learning. Also, the service provision unit  221  has determined that the output object=“Di_B_ 005 ” and the controller object=“Wb 002 ” are assigned to the application for whiteboard. In addition, the service provision unit  221  has determined that the output object=“Au_B_ 002 ” and the controller object=“Sp 002 ” are assigned to the application for speaker. 
         [0095]    In this manner, the service provision unit  221  is able to distribute the same applications as the applications distributed when the service for learning is provided by the first service provision apparatus  110 , according to the resources available to the second service provision apparatus  150 . 
         [0096]    Next, a result of distribution will be described in the case where the service provision unit  211  of the first service provision apparatus  110  determines assignment of applications and distributes assigned applications to each service execution apparatus  200 .  FIG. 7  illustrates a result of distribution of applications when the service for learning is provided by the first service provision apparatus. 
         [0097]    As illustrated in  FIG. 7 , the application for whiteboard is distributed to the electronic whiteboard device  120  and is executed by a service execution unit  201   a . Also, the application for learning is distributed to each of the terminal devices  130 _ 1  to  130 _ 3 , and is executed by service execution units  201   b  to  201   d . In addition, the application for speaker is distributed to the voice output device  140 , and is executed by a service execution unit  201   e.    
         [0098]    In this manner, when the service for learning is provided, the service provision unit  211  distributes usable applications to each service execution apparatus according to the determined assignment, the usable applications being determined according to a resource. 
         [0099]    Next, a result of distribution will be described in the case where the service provision unit  221  of the second service provision apparatus  150  determines assignment of applications based on the resource management information  500  and available resources, and distributes the applications to the terminal device  130 _ 1 .  FIG. 8  is a diagram illustrating a result of the distribution of applications when the service for learning is provided by the second service provision apparatus. 
         [0100]    As illustrated in  FIG. 8 , the applications including the application for whiteboard, the application for learning, and the application for speaker are distributed to the terminal device  130 _ 1 , and are executed by the service execution unit  201   b.    
         [0101]    In this manner, the service provision unit  221  distributes the applications, which have been determined based on the resource management information  500  and available resources, to the service execution apparatuses according to the determined assignment. 
         [0102]    As is obvious from the contrast between  FIGS. 7 and 8 , the second service provision apparatus  150  determines a distribution destination of each application in consideration of the difference between the resources available to the first service provision apparatus  110  and the resources available to the second service provision apparatus  150 . Therefore, a user provided with the service for learning in a school is able to continuously utilize the service for learning even at home. 
         [0103]    As illustrated in  FIG. 8 , in the display unit  306 , the display screen of the application for whiteboard and the display screen of the application for learning both executed by the service execution unit  201   b  in a common execution environment are displayed in a common window. 
         [0104]    Next, the flow of processing in the learning system  100  since the service for learning is provided in a school until the service for learning is continuously utilized at home will be described with reference to  FIGS. 9A to 11C . It is to be noted that in  FIGS. 9A to 11C , only one (the terminal device  130 _ 1 ) of three terminal devices  130 _ 1  to  130 _ 3  is illustrated for the sake of simplifying the description. 
         [0105]    First, the flow of processing up to the point when the first service provision apparatus  110  provides the service for learning in a school will be described.  FIGS. 9A to 9C  provide diagrams for explaining the flow of processing up to the point when the first service provision apparatus provides the service for learning. 
         [0106]    As illustrated in  FIG. 9A , when the electronic whiteboard device  120 , the terminal device  130 _ 1 , and the voice output device  140  check in to the service for learning, the first service provision apparatus  110  makes a transmission request for the resource information to each service execution apparatus. 
         [0107]    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 unit  202 , and transmits the resource information to the first service provision apparatus  110  as illustrated in  FIG. 9B . Specifically, the electronic whiteboard device  120 , the terminal device  130 _ 1 , and the voice output device  140  transmit the resource information  410 , the resource information  421 , and the resource information  430 , respectively to the first service provision apparatus  110 . 
         [0108]    The first service provision apparatus  110 , which has received the resource information  410 ,  421 ,  430 , determines usable applications when the service for learning is provided, determines assignment of applications, and updates the resource management information  500 . In addition, the first service provision apparatus  110  distributes the applications to each service execution apparatus based on the resource management information  500  ( FIG. 9B ). Specifically, the application for whiteboard, the application for learning, and the application for speaker are distributed to the electronic whiteboard device  120 , the terminal device  130 _ 1 , and the voice output device  140 , respectively. 
         [0109]    Consequently, as illustrated in  FIG. 9C , the first service provision apparatus  110  controls each distributed application, and starts to provide the service for learning. 
         [0110]    Next, the flow of processing until the terminal device  130 _ 1  is moved since the provision of the service for learning by the first service provision apparatus  110  in a school ends will be described.  FIGS. 10A and 10B  provide 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. 
         [0111]    As illustrated in  FIG. 10A , the first service provision apparatus  110  sends a notification of end of provision of the service for learning to the electronic whiteboard device  120 , the terminal device  130 _ 1 , and the voice output device  140 . 
         [0112]    Upon receiving the notification, the electronic whiteboard device  120 , the terminal device  130 _ 1 , and the voice output device  140  each 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 apparatus  110 . The example of  FIG. 10A  indicates that the terminal device  130 _ 1  has transmitted a continuation instruction. 
         [0113]    Because the continuation instruction has been received from the terminal device  130 _ 1 , the first service provision apparatus  110  determines that the terminal device  130 _ 1  uses the application distributed by the first service provision apparatus  110  even when the terminal device  130 _ 1  is located outside a predetermined area. 
         [0114]    In this case, the first service provision apparatus  110  transmits the resource management information  500  stored in the resource management information storage unit  212  along with the service ID of the service for learning to the information storage server  160 . 
         [0115]    Thus, the check-in of the terminal device  130 _ 1  to the service for learning provided by the first service provision apparatus  110  is maintained. 
         [0116]    Assume that subsequently, the user  180 _ 1  carries the terminal device  130 _ 1  and moves out of a predetermined area.  FIG. 10B  illustrates the manner in which the user  180 _ 1  carries the terminal device  130 _ 1  and moves out of a predetermined area. 
         [0117]    The terminal device  130 _ 1 , which has transmitted a continuation instruction, deletes the application (the application for learning) distributed by the first service provision apparatus  110 , and transmits a deletion completion notification indicating completion of deletion to the first service provision apparatus  110 . 
         [0118]    The first service provision apparatus  110 , after receiving the deletion completion notification from the terminal device  130 _ 1 , transmits the service ID of the service for learning to the terminal device  130 _ 1 . Thus, when the terminal device  130 _ 1  checks in to the second service provision apparatus  150 , the second service provision apparatus  150  is able to recognize that the checked-in terminal device  130 _ 1  has been provided with the service for learning identified by the service ID. In addition, the service for learning, with which the checked-in terminal device  130 _ 1  is provided, is uniquely identifiable by the second service provision apparatus  150 . 
         [0119]    Next, the flow of processing after return of the user  180 _ 1  to home up to the point when the terminal device  130 _ 1  is provided with the service for learning by the second service provision apparatus  150  will be described.  FIGS. 11A to 11C  provide diagrams for explaining the flow of processing up to the point when the second service provision apparatus provides the service for learning. 
         [0120]    As illustrated in  FIG. 11A , when the terminal device  130 _ 1  checks in, the second service provision apparatus  150  makes a transmission request for the resource information to the terminal device  130 _ 1 . 
         [0121]    The terminal device  130 _ 1 , which has received the transmission request for the resource information, reads the resource information  421  from the resource information storage unit  202 , and transmits the resource information  421  to the second service provision apparatus  150  as illustrated in  FIG. 11B . The terminal device  130 _ 1  also transmits the service ID to the second service provision apparatus  150  along with the transmission of the resource information  421 . 
         [0122]    The second service provision apparatus  150 , which has received the resource information  421  from the terminal device  130 _ 1 , stores the received resource information in the resource management information storage unit  222  as the resource management information. 
         [0123]    The second service provision apparatus  150 , which has received the service ID from the terminal device  130 _ 1 , transmits the received service ID to the information storage server  160 . 
         [0124]    The information storage server  160 , which has received the service ID from the second service provision apparatus  150 , 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 apparatus  150  ( FIG. 11C ). Here, it is assumed that the resource management information  500  is retrieved and transmitted to the second service provision apparatus  150 . 
         [0125]    The second service provision apparatus  150 , which has received the resource management information  500  from the information storage server  160 , analyzes the received resource management information  500 . Thus, the second service provision apparatus  150  is able to recognize the application distributed by the first service provision apparatus  110  when the terminal device  130 _ 1  is provided with the service for learning by the first service provision apparatus  110 . 
         [0126]    The second service provision apparatus  150  also determines assignment of the applications distributed by the first service provision apparatus  110 , based on the resource information received from the terminal device  130 _ 1 . In addition, the second service provision apparatus  150  updates the resource management information based on the determined assignment, and stores the updated resource management information in the resource management information storage unit  222 . 
         [0127]    The second service provision apparatus  150  regenerates the applications based on the updated resource management information  600 , and distributes the regenerated applications to the terminal device  130 _ 1 . Specifically, the second service provision apparatus  150  regenerates the applications including the application for whiteboard, the application for learning, and the application for speaker, and distributes the applications to the terminal device  130 _ 1  ( FIG. 11C ). 
         [0128]    Consequently, the second service provision apparatus  150  is able to control the same applications as the applications distributed by the first service provision apparatus  110  and to provide the same service for learning as that provided by the first service provision apparatus  110 . 
         [0129]    Next, the more detailed functional configuration of the first service provision apparatus  110 , the service execution apparatus  200 , and the second service provision apparatus  150  will be described. 
         [0130]      FIG. 12  illustrates an example detailed functional configuration of the first service provision apparatus and the service execution apparatus. As illustrated in  FIG. 12 , the service provision unit  211  has a check-in determination unit  1201 , a collection unit  1202 , a determination unit  1203 , a service control unit  1204 , a continuous use determination unit  1205 , an information storage unit  1206 , and an information acquisition unit  1207 . 
         [0131]    The check-in determination unit  1201  sends a check-in request and determines the presence of check-in based on a response from the service execution apparatus  200  located in a predetermined area. When check-in is determined to be present, the check-in determination unit  1201  notifies the collection unit  1202  of the presence. 
         [0132]    Upon receiving a notification of the presence of check-in from the check-in determination unit  1201 , the collection unit  1202  makes a transmission request for the resource information to the service execution apparatus  200 . When the resource information is received from the service execution apparatus  200  in response to the transmission request for the resource information, the collection unit  1202  notifies the determination unit  1203  of the received resource information. 
         [0133]    The determination unit  1203  stores the resource information on each service execution apparatus received by the collection unit  1202  in the resource management information storage unit  212  as the resource management information  500 . In addition, the determination unit  1203  determines 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 unit  1202 . The determination unit  1203  updates the resource management information  500  by storing a result of the assignment in the resource management information. The determination unit  1203  also reads an application from the application storage unit  213  based on the updated resource management information  500 , regenerates the application for each service execution apparatus which is a distribution destination, and notifies the service control unit  1204  of the application. 
         [0134]    The service control unit  1204  distributes the application in the notification from the determination unit  1203  to each service execution apparatus. Also, the service control unit  1204  controls 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 unit  1204  notifies 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 apparatus  200  in response to the notification of end of the provision of the service for learning, the service control unit  1204  receives the deletion completion notification and notifies the information storage unit  1206  of the deletion completion notification. 
         [0135]    When a continuation instruction is transmitted from the service execution apparatus  200  in response to the notification of end of the provision of the service for learning by the service control unit  1204 , the continuous use determination unit  1205  receives the continuation instruction and notifies the information storage unit  1206  of the continuation instruction. When the service ID is received from the information storage unit  1206  in response to the notification of the continuation instruction to the information storage unit  1206 , the continuous use determination unit  1205  transmits the service ID to the service execution apparatus  200 . 
         [0136]    When a deletion completion notification is received from the service control unit  1204  after the continuation instruction is received from the continuous use determination unit  1205 , the information storage unit  1206  notifies the continuous use determination unit  1205  of the service ID for identifying the service for learning provided by the service control unit  1204 . Also, the information storage unit  1206 , when receiving a continuation instruction from the continuous use determination unit  1205 , reads the resource management information  500  from the resource management information storage unit  212 , and transmits the resource management information  500  in association with the service ID to the information storage server  160 . 
         [0137]    It is to be noted that the information acquisition unit  1207  is operated when the second service provision apparatus  150  provides the service for learning, and thus the information acquisition unit  1207  will be described later as a functional configuration of the second service provision apparatus  150 . 
         [0138]    On the other hand, as illustrated in  FIG. 12 , the service execution unit  201  of the service execution apparatus  200  has a check-in unit  1211 , an information transmission unit  1212 , an execution unit  1213 , and a continuation instruction unit  1214 . 
         [0139]    In response to a check-in request sent by the check-in determination unit  1201 , the check-in unit  1211  checks in to the service for learning provided by the service provision unit  211 . 
         [0140]    In response to the check-in of the check-in unit  1211 , the information transmission unit  1212  receives a transmission request for the resource information, which is transmitted from the collection unit  1202 . Also, the information transmission unit  1212  reads the resource information stored in the resource information storage unit  202 , and transmits the resource information to the collection unit  1202 . 
         [0141]    The execution unit  1213  receives applications distributed from the service control unit  1204 , and executes the received applications under the control of the service control unit  1204  to receive the service for learning. The execution unit  1213 , when receiving a notification of end of the provision of the service for learning from the service control unit  1204 , deletes the applications distributed from the service control unit  1204 . In addition, upon completion of the deletion of the applications, the execution unit  1213  transmits a deletion completion notification to the service control unit  1204 . 
         [0142]    The continuation instruction unit  1214 , when receiving a notification of end of the provision of the service for learning from the service control unit  1204 , receives a continuation instruction if the continuation instruction is inputted by a user (for instance, the user  180 _ 1 ). The continuation instruction unit  1214  also transmits the received continuation instruction to the continuous use determination unit  1205 . In addition, after the transmission of the continuation instruction, when the service ID is transmitted from the continuous use determination unit  1205  due to transmission of a deletion completion notification from the execution unit  1213 , the continuation instruction unit  1214  receives the service ID, and notifies the information transmission unit  1212  of the service ID. 
         [0143]      FIG. 13  illustrates 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 apparatus  150  illustrated in  FIG. 13  is the same as the functional configuration of the first service provision apparatus  110  illustrated in  FIG. 12 , and the functional configuration of the service execution apparatus  200  illustrated in  FIG. 13  is the same as the functional configuration of the service execution apparatus  200  illustrated in  FIG. 12 . 
         [0144]    However, each unit illustrated in  FIG. 13  performs a different operation from that performed by each unit illustrated in  FIG. 12 , and thus the point of difference between the operations will be mainly described below. 
         [0145]    In the service provision unit  211 , the collection unit  1202 , when receiving resource information and a service ID from the service execution apparatus  200  in response to a transmission request for resource information, notifies the determination unit  1203  of the received resource information and service ID. 
         [0146]    The determination unit  1203  stores the resource information in the notification from the collection unit  1202  in the resource management information storage unit  212  as resource management information  600 . Also, the determination unit  1203  notifies the information acquisition unit  1207  of the service ID in the notification from the collection unit  1202 , thereby obtaining the resource management information  500  from the information acquisition unit  1207 . The determination unit  1203  analyzes the obtained resource management information  500 , thereby recognizing the applications distributed when the service for learning is provided by the first service provision apparatus  110 . 
         [0147]    In addition, the determination unit  1203  assigns the recognized applications to each resource included in the resource information in the notification from the collection unit  1202 . The determination unit  1203  updates the resource management information  600  by storing a result of the assignment in the resource management information storage unit  212 . The determination unit  1203  also reads an application from the application storage unit  213  based on the updated resource management information  600 , regenerates the application for each service execution apparatus which is a distribution destination, and notifies the service control unit  1204  of the application. Here, the determination unit  1203  regenerates the applications including the application for whiteboard, the application for learning, and the application for speaker, and notifies the service control unit  1204  of the regenerated applications. The service control unit  1204  distributes the applications in the notification from the determination unit  1203  to the terminal device  130 _ 1 . 
         [0148]    In this manner, the determination unit  1203  of the first service provision apparatus  110  regenerates applications based on the resource information group (the resource management information  500 ) received by the collection unit  1202  of the first service provision apparatus  110 . On the other hand, the determination unit  1203  of the second service provision apparatus  150  regenerates applications based on the resource information groups (the resource management information  500 ,  600 ) received by the collection units  1202  of the first and second service provision apparatuses  110 ,  150 . That is, the determination unit  1203  of the second service provision apparatus  150  regenerates different applications from the applications regenerated by the determination unit  1203  of the first service provision apparatus  110 . 
         [0149]    As illustrated in  FIG. 13 , in the service execution unit  201  of the service execution apparatus  200 , the information transmission unit  1212 , when receiving a transmission request for the resource information from the collection unit  1202 , transmits the resource information and the service ID to the collection unit  1202 . 
         [0150]    Next, the flow of service provision end processing performed by the first service provision apparatus  110  will be described.  FIG. 14  is a flow chart of the service provision end processing. The flow chart illustrated in  FIG. 14  starts when the service control unit  1204  starts to provide the service for learning. 
         [0151]    In S 1401 , the service control unit  1204  determines whether or not provision of the service for learning has ended. In S 1401 , when it is determined that the provision of the service for learning has not ended, the flow stands by until the provision ends. 
         [0152]    On the other hand, in S 1401 , when it is determined that the provision of the service for learning has ended, the flow proceeds to S 1402 . In S 1402 , the continuous use determination unit  1205  determines whether or not any of the service execution apparatuses  200 , which have checked in to the service for learning provided by the first service provision apparatus  110 , has transmitted a continuation instruction. 
         [0153]    In S 1402 , when it is determined that no service execution apparatus  200  has transmitted a continuation instruction, the service provision end processing is terminated. 
         [0154]    On the other hand, in S 1402 , when it is determined that a service execution apparatus  200  has transmitted a continuation instruction, the flow proceeds to S 1403 . In S 1403 , the information storage unit  1206  transmits the resource management information  500  stored in the resource management information storage unit  212  in association with the service ID to the information storage server  160 . 
         [0155]    In S 1404 , the service control unit  1204  determines whether or not a deletion completion notification for distributed applications has been received from the service execution apparatus  200  which has transmitted a continuation instruction. 
         [0156]    In S 1404 , 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 S 1404 , when it is determined that a deletion completion notification has been received, the flow proceeds to S 1405 . 
         [0157]    In S 1405 , the continuous use determination unit  1205  transmits the service ID to the service execution apparatus  200  which has transmitted a continuation instruction. 
         [0158]    Next, the flow of service provision start processing performed by the second service provision apparatus  150  will be described.  FIG. 15  is a flow chart of the service provision start processing. 
         [0159]    In S 1501 , the check-in determination unit  1201  determines whether or not a service execution apparatus  200  has checked in. In S 1501 , when it is determined that no service execution apparatus  200  has checked in, the flow stands by until check-in occurs. 
         [0160]    On the other hand, in S 1501 , when check-in is determined to be present, the flow proceeds to S 1502 . In S 1502 , the collection unit  1202  makes a transmission request for the resource information to a service execution apparatus  200  which has checked in. 
         [0161]    In S 1503 , the collection unit  1202  determines whether or not both the resource information and the service ID have been received from the service execution apparatus  200  in response to the transmission request for the resource information. In S 1503 , when it is determined that one of the resource information and the service ID has not been received, the flow proceeds to S 1504 . 
         [0162]    In S 1504 , the collection unit  1202  determines whether or not the resource information has been received. In S 1504 , 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 S 1507 . 
         [0163]    On the other hand, in S 1503 , when it is determined that both the resource information and the service ID have been received, the flow proceeds to S 1505 . In S 1505 , the determination unit  1203  stores the received resource information in the resource management information storage unit  212  as the resource management information  600 . Also, the information acquisition unit  1207  makes a request to the information storage server  160  for resource management information corresponding to the received service ID. 
         [0164]    In S 1506 , the determination unit  1203  analyzes the resource management information  500  obtained from the information storage server  160 , and recognizes the applications distributed when the service for learning is provided by the first service provision apparatus  110 . 
         [0165]    In S 1507 , the determination unit  1203  determines assignment of applications to be distributed, based on the resource information received in S 1503 . 
         [0166]    Specifically, when the service ID has not been received in S 1503 , 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 S 1503 , assignment of the applications recognized in S 1506  to each resource is determined based on the resource information. 
         [0167]    In S 1508 , the determination unit  1203  updates the resource management information  600  by storing a result of the assignment in the resource management information. 
         [0168]    In S 1509 , the determination unit  1203  also reads an application from the application storage unit  213  based on the updated resource management information  600 , regenerates the application for each service execution apparatus which is a distribution destination, and notifies the service control unit  1204  of the application. The service control unit  1204  distributes the application in the notification to each service execution apparatus which is a distribution destination, thereby starting provision of the service for learning. 
         [0169]    As is obvious from the description above, in the learning system  100 , the first service provision apparatus  110  obtains the resource information owned by the service execution apparatus  200  in a predetermined area. The first service provision apparatus  110  determines 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. 
         [0170]    In the learning system  100 , when a continuation instruction is received from the service execution apparatus  200  after the provision of the service for learning ends, the first service provision apparatus  110  transmits the resource management information  500  along with the service ID to the information storage server  160 . When a deletion completion notification for distributed applications is received from the service execution apparatus  200  which has sent a continuation instruction, the first service provision apparatus  110  transmits the service ID to the service execution apparatus  200  which has sent a continuation instruction. 
         [0171]    Consequently, in a state in which check-in to the service for learning provided by the first service provision apparatus  110  is maintained, the service execution apparatus  200  is able to check in to the service for learning provided by the second service provision apparatus  150 . The second service provision apparatus  150 , to which the service execution apparatus  200  has checked in, is able to recognize the applications distributed when the service for learning is provided by the first service provision apparatus  110 , based on the resource management information  500 . In addition, the second service provision apparatus  150  is able to determine assignment using the same applications as the applications distributed when the service for learning is provided by the first service provision apparatus  110 , and to provide the service for learning. 
         [0172]    Consequently, with the learning system  100 , it is possible to extend the area where a similar service for learning may be provided. 
       Second Embodiment 
       [0173]    In the first embodiment described above, the resource information is obtained and assignment of applications to each resource is determined before the service provision unit  211  starts 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 unit  211  starts to provide the service for learning, assignment of applications to each resource is changed. 
         [0174]    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. 
         [0175]      FIG. 16  is a flow chart of the service provision additional processing. The flow chart illustrated in  FIG. 16  is to be executed after the service provision unit  211  of the first service provision apparatus  110  starts to provide the service for learning. 
         [0176]    In S 1601 , the check-in determination unit  1201  determines 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. 
         [0177]    On the other hand, in S 1601 , when it is determined that a new service execution apparatus has checked in, the flow proceeds to S 1602 . In S 1602 , the collection unit  1202  makes a transmission request for the resource information to the newly checked-in service execution apparatus. 
         [0178]    In S 1603 , the collection unit  1202  determines 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 S 1603 , when it is determined that one of the resource information and the service ID has not been received, the flow proceeds to S 1604 . 
         [0179]    In S 1604 , the collection unit  1202  determines whether or not the resource information has been received. In S 1604 , 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 S 1608 . 
         [0180]    On the other hand, in S 1603 , when it is determined that both the resource information and the service ID have been received, the flow proceeds to S 1605 . In S 1605 , the determination unit  1203  updates the resource management information  500  stored in the resource management information storage unit  212  based on the received resource information. Also, the determination unit  1203  determines 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. 
         [0181]    In S 1605 , when it is determined that two service IDs match, the flow proceeds to S 1606 . In S 1606 , the information acquisition unit  1207  makes a request to the information storage server  160  for resource management information corresponding to the service ID. 
         [0182]    In S 1607 , the determination unit  1203  analyzes the resource management information obtained from the information storage server  160 , and recognizes the applications distributed when the new service execution apparatus is provided with the service for learning by another service provision apparatus. 
         [0183]    In S 1608 , the determination unit  1203  determines assignment of applications to be distributed based on the resource management information  500  updated by the resource information received in S 1603 . 
         [0184]    Specifically, when a service ID has not been received in S 1603 , the determination unit  1203  determines usable applications based on the resource included in the updated resource management information  500 . Also, the determination unit  1203  determines assignment of usable applications to each resource included in the updated resource management information  500 . 
         [0185]    On the other hand, when a service ID has been received in S 1603 , the determination unit  1203  determines applications to be distributed based on the resource management information obtained from the information storage server  160  according to the service ID. Also, the determination unit  1203  determines assignment of applications to each resource included in the updated resource management information  500 . 
         [0186]    In S 1609 , the determination unit  1203  updates the resource management information  500  again by storing a result of the assignment in the resource management information. 
         [0187]    In S 1610 , the determination unit  1203  also reads an application from the application storage unit  213  based on the again updated resource management information  500 , regenerates the application for each service execution apparatus which is a distribution destination, and notifies the service control unit  1204  of the application. The service control unit  1204  distributes the application in the notification to each service execution apparatus which is a distribution destination, thereby starting provision of the service for learning. 
         [0188]    As is obvious from the description above, in the learning system  100 , 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. 
         [0189]    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. 
         [0190]    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. 
       Third Embodiment 
       [0191]    In the first embodiment described above, description has been given in which the execution unit  1213  in the service execution unit  201  included in the service execution apparatus  200  executes 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. 
         [0192]      FIG. 17  is 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. 
         [0193]    As illustrated in  FIG. 17 , the terminal device  130 _ 1  has execution units  1701  to  1703 . When an application for whiteboard is distributed from the first service provision apparatus  110 , the execution unit  1701  of these units executes the application for whiteboard. When an application for learning is distributed from the first service provision apparatus  110 , the execution unit  1702  executes the application for learning. In addition, when an application for speaker is distributed from the first service provision apparatus  110 , the execution unit  1703  executes the application for speaker. In this manner, an execution unit is provided for each application, and thus the display unit  306  allows the application for whiteboard and the application for learning to be displayed in separate windows. 
       Fourth Embodiment 
       [0194]    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. 
         [0195]      FIGS. 18A to 18C  provide 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 to  FIGS. 9A to 9C  of the first embodiment. The point of difference from  FIGS. 9A to 9C  is that in  FIG. 18B , the terminal device  130 _ 2  obtains an application from the terminal device  130 _ 1 , the application being distributed to the terminal device  130 _ 1 . As illustrated in  FIG. 18B , the terminal device  130 _ 2  has the same resources as those of the terminal device  130 _ 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 device  130 _ 1  by obtaining the applications distributed to the terminal device  130 _ 1 . 
       Fifth Embodiment 
       [0196]    In the first embodiment described above, the case has been described where the user  180 _ 1  provided with the service for learning by the first service provision apparatus  110  is continuously provided with the service for learning by the second service provision apparatus  150 . That is, in the first embodiment, the case has been described where the user  180 _ 1  carries the terminal device  130 _ 1  and moves once. However, the number of movements of the user  180 _ 1  carrying the terminal device  130 _ 1  is not limited to one, and the user  180 _ 1  may move multiple times. That is, the user may be allowed to continuously receive the service for learning at three or more locations. 
         [0197]    In this case, when a service provision apparatus installed in any one of the locations receives a continuation instruction from the terminal device  130 _ 1  after 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 server  160 . 
         [0198]    Thus, in the service provision apparatus to which the terminal device  130 _ 1  has newly checked in, when pieces of resource management information is obtained from the information storage server  160  based on the service ID, the service provision apparatus may obtain the position information on the resource as well. Consequently, the user  180 _ 1  is able to recognize the resources available to the service provision apparatus at each of the positions. Hereinafter, a fifth embodiment will be described. 
         [0199]      FIGS. 19A and 19B  provide 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 to  FIGS. 10A and 10B  described in the first embodiment. A point of difference from  FIGS. 10A and 10B  is that in  FIG. 19A , the first service provision apparatus  110  transmits position information. As illustrated in  FIG. 19A , in the first service provision apparatus  110 , when a continuation instruction is received from the terminal device  130 _ 1 , the position information on the first service provision apparatus  110  in addition to the resource management information  500  and the service ID is transmitted to the information storage server  160 . 
         [0200]    Another point of difference from  FIGS. 10A and 10B  is that after the terminal device  130 _ 1  is provided with the service for learning by a third service provision apparatus  1940 , the terminal device  130 _ 1  is provided with the service for learning by the second service provision apparatus  150 . 
         [0201]      FIGS. 20A to 20C  provide 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 to  FIGS. 11A to 11C  described in the first embodiment. A point of difference from  FIGS. 11A to 11C  is that in  FIG. 20C , the information storage server  160  transmits the resource management information and the position information to the second service provision apparatus  150 . Another point of difference is that the second service provision apparatus  150  distributes the resource management information and the position information in addition to the applications to the terminal device  130 _ 1 . 
         [0202]    In this manner, the second service provision apparatus  150  distributes the resource management information and the position information to the terminal device  130 _ 1 , thereby allowing the user  180 _ 1  of the terminal device  130 _ 1  to 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. 
         [0203]    That is, even when the resources available to the second service provision apparatus  150  are limited, the resources available to another service provision apparatus and its position are recognizable to the user  180 _ 1 . Consequently, the user  180 _ 1  may grasp the location where desired resources are available. 
       OTHER EMBODIMENTS 
       [0204]    Although the resource management information  500  is stored in the information storage server  160  in the embodiments described above, distributed applications in addition to the resource management information  500  may be stored. This allows the second service provision apparatus  150  to directly obtain the applications distributed by the first service provision apparatus  150 , from the information storage server  160 . 
         [0205]    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. 
         [0206]    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. 
         [0207]    In the embodiments described above, description has been given in which when the position of the service execution apparatus  200  is 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 apparatus  200  is 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 apparatus  200  other than its position is in a predetermined state. 
         [0208]    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.
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.