Patent Description:
A configuration in which, in execution of an application by an information processing apparatus, the information processing apparatus exchanges data with another apparatus through wireless communication has widely been put into practical use. For example, <CIT> discloses a communication system including two portable terminals and two BLE terminals. In this communication system, the portable terminals and the BLE terminals are connected, with the portable terminals being defined as centrals and with the BLE terminals being defined as peripherals.

A peripheral terminal may be used by an application executed in a central terminal. A certain peripheral terminal may be used by a plurality of types of applications. On the other hand, a plurality of applications that use the peripheral terminal are not necessarily executed in the same central terminal.

The present technology provides a scheme that allows suitable use of a peripheral terminal in each application in an environment in which a peripheral terminal can be used by a plurality of applications and the plurality of applications can be executed in different central terminals.

A communication system according to one embodiment includes a first terminal that executes one or more applications and a second terminal that communicates data with the first terminal through wireless communication. The second terminal includes a storage in which first information brought in correspondence for each application executed in the first terminal is stored as pair information and a transmission unit that transmits, in response to a request from an application executed in the first terminal, second information based on the first information stored in the storage and brought in correspondence with the application executed in the first terminal. The first terminal includes a determination unit that determines processing involved with data communication with the second terminal based on a result of comparison between third information brought in correspondence with a running application on the first terminal and the second information received from the second terminal.

According to this configuration, even when various applications are executed in one or more first terminals, appropriate data communication with the second terminal brought in correspondence with each application can be established. Since identification information brought in correspondence with the application executed in the first terminal is stored in the second terminal as pair information, processing necessary for starting data communication between the application executed in the first terminal and the second terminal can be simplified.

The first terminal may include an apparatus that accepts an operation by a user and a management server. According to this configuration, a resource (a storage capacity and a processor resource) necessary for the first terminal can appropriately be designed.

The first terminal may further include a generator that generates the first information to be used as the pair information. According to this configuration, when the first terminal and the second terminal are connected to each other, the first information necessary for the pair information can be provided from the first terminal to the second terminal.

The generator may be provided in the management server. According to this configuration, generation of the first information necessary for the pair information can centrally be processed in the management server.

The management server may compare the third information and the second information with each other. According to this configuration, comparison between the third information and the second information can centrally be made in the management server.

The first terminal may further include a second storage in which, when the first terminal is connected to the second terminal, an address of the connected second terminal is stored. According to this configuration, processing necessary at the time of re-connection between the first terminal and the second terminal, between which connection was established in the past, can be reduced.

The first terminal may further include a search unit that receives an advertisement transmitted from the second terminal and searches for the second terminal to be connected. According to this configuration, the first terminal can search for a second terminal present around the first terminal and can more readily start data communication with the corresponding second terminal.

When an address of the second terminal which is a sender of the received advertisement is included in addresses stored in a second storage, the first terminal may start processing for connection to the second terminal which is the sender, and after connection is established, the first terminal may transmit the request to the second terminal. According to this configuration, the first terminal and the second terminal are automatically connected to each other and processing involved with data communication with the second terminal can successively be performed.

The second terminal may be configured to transmit a plurality of types of advertisements. Each of the applications executed in the first terminal may be configured to refer to one or more advertisements specific to the application among the plurality of types of advertisements. According to this configuration, processing involved with data communication can be performed with the use of an appropriate advertisement for each application executed in the first terminal.

The plurality of types of advertisements may include a constantly transmitted advertisement. At this time, any application configured to refer to the constantly transmitted advertisement among the applications executed in the first terminal may be configured to stop transmission of the constantly transmitted advertisement. According to this configuration, the user can stop a constantly transmitted advertisement from any application configured to refer to the constantly transmitted advertisement.

A communication apparatus according to another embodiment includes an execution unit that executes one or more applications and a communication unit that communicates data with a peripheral terminal through wireless communication. In the peripheral terminal, identification information brought in correspondence with an application executed by the execution unit is stored as first information. The communication apparatus includes a determination unit that determines processing involved with data communication with the peripheral terminal based on a result of comparison between second information obtained from the peripheral terminal and third information brought in correspondence with a running application.

A communication apparatus according to yet another embodiment includes a communication unit that communicates data through wireless communication with a central terminal that executes one or more applications, a storage in which identification information brought in correspondence with an application executed in the central terminal is stored as first information, and a transmission unit that transmits, in response to a request from an application executed in the central terminal, second information based on the first information stored in the storage and brought in correspondence with the application executed in the central terminal.

According to yet another embodiment, a communication method performed by a first terminal and a second terminal that communicate data with each other through wireless communication is provided. The communication method includes executing, by the first terminal, one or more applications, storing in the second terminal, first information brought in correspondence with an application executed in the first terminal as pair information, in response to a request from an application executed in the first terminal, transmitting, by the second terminal, second information based on the first information brought in correspondence with the application executed in the first terminal by referring to the pair information, and determining, by the first terminal, processing involved with data communication with the second terminal based on a result of comparison between the second information received from the second terminal and third information brought in correspondence with a running application on the first terminal.

According to still another embodiment, a communication program executed in a communication apparatus that executes one or more applications is provided. The communication program causes the communication apparatus to perform communicating data with a peripheral terminal through wireless communication. In the peripheral terminal, first information brought in correspondence with an application executed in the communication apparatus is stored as pair information. The communication program causes the communication apparatus to perform determining processing involved with data communication with the peripheral terminal based on a result of comparison between second information obtained from the peripheral terminal and third information brought in correspondence with a running application.

The foregoing and other objects, features, aspects and advantages of the exemplary embodiments will become more apparent from the following detailed description of the exemplary embodiments when taken in conjunction with the accompanying drawings.

The present embodiment will be described in detail with reference to the drawings. The same or corresponding elements in the drawings have the same reference characters allotted and description thereof will not be repeated.

Overview of a general communication system relating to the present embodiment will initially be described.

Referring to <FIG>, a communication system 1A includes, for example, a central terminal <NUM> representing an exemplary communication apparatus and a peripheral terminal <NUM> that can exchange data with central terminal <NUM> through wireless communication.

Central terminal <NUM> is implemented by any information processing apparatus such as a smartphone, a tablet, a personal computer, and a game device. Central terminal <NUM> executes one or more applications. Peripheral terminal <NUM> is implemented by any communication apparatus such as a controller, a speaker, a headphone, a camera, and a portable apparatus.

Peripheral terminal <NUM> communicates data with central terminal <NUM> through wireless communication. Typically, Bluetooth® can be employed for wireless communication between central terminal <NUM> and peripheral terminal <NUM>. Though an exemplary configuration using Bluetooth® is mainly described in the description below, any wireless communication such as ZigBee®, wireless LAN (IEEE <NUM>), or infrared communication may be employed.

In an example shown in <FIG>, communication system 1A includes two central terminals 100A and 100B and peripheral terminal <NUM>. Central terminal 100A can execute an application 150A and an application 150B, and central terminal 100B can execute an application 150C. In other words, applications 150A and 150B have been installed in central terminal 100A, and application 150C has been installed in central terminal 100B.

For the sake of convenience of description, <FIG> shows a state in which central terminal 100A is executing application 150A and a state in which central terminal 100A is executing application 150B as being juxtaposed. The application may be abbreviated as "app".

Any program that communicates data with peripheral terminal <NUM> may be applicable as an application <NUM> executed in central terminal <NUM>.

In communication system 1A shown in <FIG>, peripheral terminal <NUM> is used in execution of applications 150A, 150B, and 150C. Applications 150A, 150B, and 150C, however, are not necessarily executed in the same central terminal <NUM>.

Peripheral terminal <NUM> in which general Bluetooth® is implemented holds pairing information about pairing with central terminal <NUM> to which peripheral terminal <NUM> once established connection, and responds to a connection request from central terminal <NUM> by referring to the pairing information.

In the example shown in <FIG>, pairing information <NUM> of peripheral terminal <NUM> may include an address A of central terminal 100A and an address B of central terminal 100B.

As shown in <FIG>, however, when application 150A or application 150B is executed in central terminal 100A, central terminal 100A and peripheral terminal <NUM> should be connected to each other. When application 150C is executed in central terminal 100B, on the other hand, central terminal 100B and peripheral terminal <NUM> should be connected to each other.

Thus, when peripheral terminal <NUM> is used by applications 150A, 150B, and 150C, applications 150A, 150B, and 150C are not necessarily executed in the same central terminal <NUM>. In other words, when there are a plurality of applications that use peripheral terminal <NUM>, a scene of use in which the plurality of applications are installed in different central terminals <NUM> is assumed.

Then, in a communication system <NUM> according to the present embodiment, pair information <NUM> that defines connection relation between central terminal <NUM> and peripheral terminal <NUM> for each application is used. Pair information <NUM> held in peripheral terminal <NUM> includes identification information for each application. By using such pair information <NUM>, each application <NUM> can suitably use peripheral terminal <NUM>.

Referring to <FIG>, by way of example, pair information <NUM> of peripheral terminal <NUM> includes identification information <NUM> brought in correspondence with each application <NUM>. In the example shown in <FIG>, pair information <NUM> includes (<NUM>) a set of application type information 262A (indicating application 150A) and corresponding identification information 264A, (<NUM>) a set of application type information 262B (indicating application 150B) and corresponding identification information 264B, and (<NUM>) a set of application type information 262C (indicating application 150C) and corresponding identification information 264C.

Each of applications 150A, 150B, and 150C includes as pair information <NUM>, identification information <NUM> identical in value to identification information <NUM> included in pair information <NUM>. More specifically, application 150A of central terminal 100A includes as pair information 160A, identification information 164A identical in value to identification information 264A in pair information <NUM>. Application 150B of central terminal 100A includes as pair information 160B, identification information 164B identical in value to identification information 264B in pair information <NUM>. Application 150C of central terminal 100B includes as pair information 160C, identification information 164C identical in value to identification information 264C in pair information <NUM>.

As shown in <FIG>, connection can be managed for each application <NUM> by checking pair information <NUM> of central terminal <NUM> and pair information <NUM> of peripheral terminal <NUM> against each other. At this time, application <NUM> may be executed in any central terminal <NUM>.

The "pair information" herein can also be concluded as information for (substantially) uniquely determining combination of connection between specific application <NUM> executed in any central terminal <NUM> (or specific central terminal <NUM>) and specific peripheral terminal <NUM>.

Identification information included in "pair information" includes unique information that allows combination for connection to uniquely be specified and allows combinations to be distinguished from each other. Therefore, not only type information alone of application <NUM> itself or an address alone of central terminal <NUM> but also, for example, a randomly determined value (a random number) can be used as identification information. In addition, unique information that substantially allows distinction between combinations from each other may be generated as appropriate.

Pair information <NUM> and pair information <NUM> are generated or updated at the time of connection of central terminal <NUM> that executes any application to peripheral terminal <NUM>. Details of processing involved with generation and update of pair information <NUM> and pair information <NUM> will be described later.

An exemplary hardware configuration of an apparatus included in communication system <NUM> according to the present embodiment will now be described.

Referring to <FIG>, central terminal <NUM> represents an exemplary computer and includes a processor <NUM>, a memory <NUM>, a storage <NUM>, a display <NUM>, an operation unit <NUM>, an audio output unit <NUM>, and a wireless communication unit <NUM>. These components are connected to one another to communicate data through a bus <NUM>.

Processor <NUM> is a processing entity (processing means) that performs processing provided by central terminal <NUM>. Processor <NUM> reads a system program <NUM> and application <NUM> stored in storage <NUM>, develops them on memory <NUM>, and performs various types of information processing as will be described later.

System program <NUM> includes an instruction code for performing various types of processing including communication processing which will be described later. In other words, system program <NUM> includes a communication program according to the present embodiment.

Memory <NUM> is any storage device (storage medium) that can be accessed by processor <NUM>, and implemented, for example, by a volatile storage device such as a dynamic random access memory (DRAM) or a static random access memory (SRAM).

Storage <NUM> is implemented, for example, by a non-volatile storage medium such as a hard disk or a flash memory. Storage <NUM> may be implemented, for example, by a storage medium attachable to and removable from central terminal <NUM> such as an optical disc and a cartridge. In this case, a combination of central terminal <NUM> and any storage medium may implement a communication apparatus.

In storage <NUM>, system program <NUM>, one or more applications <NUM>, and pair information <NUM> are stored. Pair information <NUM> may be stored as an individual file for each application <NUM>.

Display <NUM> shows an image generated as a result of information processing performed by processor <NUM>. An image received from another apparatus may also be shown on display <NUM>. A plurality of displays <NUM> may be provided. Alternatively, central terminal <NUM> may be configured to use one or more external displays.

Operation unit <NUM> accepts an operation from a user of central terminal <NUM>. Operation unit <NUM> includes, for example, a push button, a control lever, a touch panel, a mouse, and the like. Operation unit <NUM> may be a game controller that is separate from central terminal <NUM> and connected through a wire or wirelessly.

Audio output unit <NUM> provides voice and sound from central terminal <NUM> to a user.

Wireless communication unit <NUM> transmits and receives data to and from peripheral terminal <NUM> through a wireless signal. Wireless communication unit <NUM> implements wireless communication in conformity with Bluetooth® by way of example. Connection information <NUM> can be stored in wireless communication unit <NUM>. In other words, wireless communication unit <NUM> includes a storage in which, when connection to peripheral terminal <NUM> is established, an address of connected peripheral terminal <NUM> (connection information <NUM>) is stored.

Processor <NUM> may perform the entirety or a part of processing by wireless communication unit <NUM>.

Though <FIG> shows central terminal <NUM> as an integrated apparatus, the central terminal may be implemented as an assembly of a plurality of apparatuses. In other words, central terminal <NUM> may be implemented by combination of a plurality of independent apparatuses. For example, a configuration composed of a main body including hardware corresponding to processor <NUM>, memory <NUM>, and storage <NUM> and a terminal including hardware corresponding to display <NUM>, operation unit <NUM>, and audio output unit <NUM> may be adopted.

At least a part of information processing performed in central terminal <NUM> may be performed discretely by another apparatus or a plurality of other apparatuses arranged as being distributed over a network (a wide area network and/or a local network).

Referring to <FIG>, peripheral terminal <NUM> represents an exemplary computer and includes a wireless communication unit <NUM>. Peripheral terminal <NUM> may include an input unit <NUM> and an output unit <NUM>.

Wireless communication unit <NUM> transmits and receives data to and from central terminal <NUM> through a wireless signal. More specifically, wireless communication unit <NUM> transmits input information from input unit <NUM> or the like to central terminal <NUM> and gives a command from central terminal <NUM> to output unit <NUM> or the like. Wireless communication unit <NUM> implements wireless communication in conformity with Bluetooth® by way of example.

Wireless communication unit <NUM> includes a storage in which identification information <NUM> brought in correspondence for each application <NUM> executed in central terminal <NUM> is stored as pair information <NUM>. "First information" herein includes identification information <NUM>, and includes, for example, identification information <NUM> alone and a set of application type information <NUM> and identification information <NUM>.

Input unit <NUM> obtains various types of information. Input unit <NUM> includes a device for obtaining operation information from a user, such as a push button, a control lever, a touch panel, or a mouse. Input unit <NUM> includes a device for obtaining various types of information relating to peripheral terminal <NUM>, such as a vibration sensor (an acceleration sensor), a temperature sensor, a pressure sensor, or a global positioning system (GPS) receiver.

Output unit <NUM> provides various types of information to a user. Output unit <NUM> includes, for example, a device that provides visual information, such as a display or a light emitting diode (LED), a device that provides auditory information, such as a speaker or a buzzer, and a device that provides tactile information, such as a vibrator or an electrothermal element.

Processing performed in central terminal <NUM> and/or peripheral terminal <NUM> may be implemented by execution of a program by the processor, or a part or the entirety thereof may be implemented by hard-wired circuitry such as a system on chip (SoC), an application specific integrated circuit (ASIC), or a field programmable gate array (FPGA).

Referring to <FIG>, central terminal <NUM> includes, as its functional configuration, a search unit <NUM>, an application execution unit <NUM>, a processing determination unit <NUM>, a comparator <NUM>, a relay unit <NUM>, and an identification information generator <NUM>. Such a functional configuration is typically implemented by execution of system program <NUM> and/or application <NUM> by processor <NUM> of central terminal <NUM>.

Search unit <NUM> receives an advertisement transmitted from peripheral terminal <NUM> and searches for peripheral terminal <NUM> to be connected.

Application execution unit <NUM> executes one or more applications <NUM>. A part of application execution unit <NUM> may be implemented by an instruction code included in application <NUM>.

Processing determination unit <NUM> determines processing involved with data communication with peripheral terminal <NUM> based on a result of comparison between identification information <NUM> brought in correspondence with running application <NUM> and identification information <NUM> received from peripheral terminal <NUM>. Examples of processing involved with determined data communication include continuation of data communication with peripheral terminal <NUM>, stop of data communication, a notification to the effect that peripheral terminal <NUM> has not been registered, and registration of pair information for the first time. Specific exemplary processing will be described later.

Comparator <NUM> compares identification information <NUM> brought in correspondence with running application <NUM> and identification information <NUM> received from peripheral terminal <NUM> with each other. A result of comparison by comparator <NUM> is provided to processing determination unit <NUM>.

Relay unit <NUM> transmits identification information <NUM> received from peripheral terminal <NUM> to a management server <NUM> and receives a result of comparison from management server <NUM>. Management server <NUM> compares identification information <NUM> brought in correspondence with running application <NUM> and identification information <NUM> received from peripheral terminal <NUM> with each other. Details of management server <NUM> will be described later with reference to <FIG>.

Identification information generator <NUM> generates identification information <NUM> and identification information <NUM> to be used as pair information <NUM> and pair information <NUM>, respectively. More specifically, identification information generator <NUM> includes a random number generator, and determines identification information <NUM> and identification information <NUM> with the use of random numbers. Identification information generator <NUM> may generate application type information indicating a type of application <NUM> executed in central terminal <NUM>.

Peripheral terminal <NUM> includes wireless communication unit <NUM>. Wireless communication unit <NUM> includes a transmission unit that transmits identification information <NUM> or the like stored in wireless communication unit <NUM> (storage) in response to a request from application <NUM> executed in central terminal <NUM>.

An exemplary processing procedure in communication system <NUM> according to the present embodiment will now be described.

<FIG> shows a processing procedure in establishing connection for the first time between central terminal <NUM> that is executing any application and peripheral terminal <NUM>. It is assumed that central terminal <NUM> is executing application <NUM> in the processing procedure shown in <FIG>.

Referring to <FIG>, central terminal <NUM> searches for connectable peripheral terminal <NUM> (sequence SQ10). Search for connectable peripheral terminal <NUM> may be started in response to an operation by a user in application <NUM> that is being executed, or may automatically be started at prescribed timing. Typically, central terminal <NUM> scans advertisements from peripheral terminals <NUM> present therearound to find connectable peripheral terminal <NUM>. When a plurality of peripheral terminals <NUM> are present around central terminal <NUM>, central terminal <NUM> receives an advertisement from each of peripheral terminals <NUM>. In principle, the advertisement itself does not include pair information <NUM> (or identification information <NUM> (first information)).

Central terminal <NUM> starts processing for connection to designated peripheral terminal <NUM> among connectable peripheral terminals <NUM> in response to an operation by the user (sequence SQ12).

In succession, central terminal <NUM> requests connected peripheral terminal <NUM> to give identification information <NUM> held therein (sequence SQ14). At this time, application type information indicating the type of application <NUM> that is being executed is transmitted from central terminal <NUM> to peripheral terminal <NUM>.

Peripheral terminal <NUM> transmits identification information <NUM> corresponding to application type information <NUM> the same as the designated application type information, by referring to pair information <NUM> thereof (sequence SQ16). When connection is established for the first time, corresponding identification information <NUM> has not been registered in pair information <NUM>, and therefore an invalid value is transmitted as identification information <NUM>.

Thus, in sequence SQ14 and sequence SQ16, in response to a request from application <NUM> executed in central terminal <NUM>, peripheral terminal <NUM> transmits second information (for example, identification information <NUM>) based on the first information (for example, identification information <NUM>) brought in correspondence with running application <NUM> on central terminal <NUM>.

The "second information" herein includes information including identification information <NUM> or information generated based on identification information <NUM>. The information including identification information <NUM> includes, for example, identification information <NUM> alone and a set of application type information <NUM> and identification information <NUM>. Therefore, for example, not only identification information <NUM> but also a set of application type information <NUM> and identification information <NUM> may be transmitted as the "second information" to central terminal <NUM>. This processing is also similar for sequence SQ48 (<FIG>, <FIG>, and <FIG>) which will be described later.

Central terminal <NUM> determines whether or not identification information <NUM> from peripheral terminal <NUM> has an invalid value (sequence SQ18).

When identification information <NUM> from peripheral terminal <NUM> has a valid value (NO in sequence SQ18), some pair information <NUM> has previously been registered in peripheral terminal <NUM>, and therefore the user is notified of whether or not update of pair information <NUM> is necessary. As a prescribed operation by the user is performed in response to this notification, processing in sequence SQ20 or later may be continued. In this case, pair information <NUM> registered in peripheral terminal <NUM> is updated. At this time, various types of data stored in peripheral terminal <NUM> such as information on the user or records of use of peripheral terminal <NUM> may be erased.

In contrast, when identification information <NUM> from peripheral terminal <NUM> has an invalid value (YES in sequence SQ18), central terminal <NUM> determines a value for identification information <NUM> to be registered in peripheral terminal <NUM> (sequence SQ20). The value for identification information <NUM> may randomly be determined. Then, central terminal <NUM> requests connected peripheral terminal <NUM> to register determined identification information <NUM> as pair information <NUM> (sequence SQ22). At this time, application type information <NUM> and identification information <NUM> are transmitted from central terminal <NUM> to peripheral terminal <NUM>.

In response to a request for registration of identification information <NUM>, peripheral terminal <NUM> registers designated type information <NUM> and identification information <NUM> as pair information <NUM> (sequence SQ24). Identification information <NUM> brought in correspondence for each application executed in central terminal <NUM> is thus stored in peripheral terminal <NUM> as pair information <NUM>.

On the other hand, central terminal <NUM> registers an address (for example, a Bluetooth® device address) of connected peripheral terminal <NUM> in connection information (sequence SQ26). Central terminal <NUM> registers as pair information <NUM>, identification information <NUM> identical in value to determined identification information <NUM>, as pair information <NUM> of the application that is being executed (sequence SQ28).

As a series of processing involved with connection for the first time as above is completed, data communication between central terminal <NUM> and peripheral terminal <NUM> is started (sequence SQ30).

<FIG> shows a processing procedure in establishing connection between central terminal <NUM> that is executing any application and peripheral terminal <NUM> for the second time or later. It is assumed that central terminal <NUM> is executing application <NUM> in the processing procedure shown in <FIG>.

Referring to <FIG>, central terminal <NUM> searches for connectable peripheral terminal <NUM> (sequence SQ40). Search for connectable peripheral terminal <NUM> may be started in response to an operation by the user in application <NUM> that is being executed or may automatically be started at prescribed timing.

Central terminal <NUM> determines as a connection target, peripheral terminal <NUM> having an address the same as the address registered in connection information <NUM> among connectable peripheral terminals <NUM> (sequence SQ42). Then, central terminal <NUM> starts processing for connection to determined peripheral terminal <NUM> (sequence SQ44).

In succession, central terminal <NUM> requests connected peripheral terminal <NUM> to give identification information <NUM> held therein (sequence SQ46). At this time, application type information indicating the type of the application that is being executed is transmitted from central terminal <NUM> to peripheral terminal <NUM>.

Thus, when the address of peripheral terminal <NUM> which is the sender of the received advertisement is included in addresses (connection information <NUM>) stored in wireless communication unit <NUM>, central terminal <NUM> starts processing for connection to peripheral terminal <NUM> which is the sender, and after connection is established, central terminal <NUM> transmits the request for identification information <NUM> to peripheral terminal <NUM>.

In response to such a request from the application executed in central terminal <NUM>, peripheral terminal <NUM> transmits identification information <NUM> corresponding to application type information <NUM> the same as the designated application type information, by referring to pair information <NUM> thereof (sequence SQ48).

Central terminal <NUM> compares identification information <NUM> brought in correspondence with the running application and identification information <NUM> received from peripheral terminal <NUM> with each other (sequence SQ50). Then, central terminal <NUM> determines whether or not a result of comparison between identification information <NUM> brought in correspondence with the running application and identification information <NUM> received from peripheral terminal <NUM> satisfies a predetermined condition for re-connection (sequence SQ52). For example, the condition for re-connection includes matching of identification information <NUM> given back from peripheral terminal <NUM> with identification information <NUM> of central terminal <NUM>.

When the result of comparison does not satisfy the condition for re-connection (NO in sequence SQ52), connection processing is stopped. In contrast, when the result of comparison satisfies the condition for re-connection (YES in sequence SQ52), data communication between central terminal <NUM> and peripheral terminal <NUM> is started (sequence SQ54).

When the result of comparison does not satisfy the condition for re-connection (NO in sequence SQ52), instead of or in addition to stop of the connection processing, such processing as disconnection from corresponding peripheral terminal <NUM>, notification to the effect that peripheral terminal <NUM> has not been registered, or switching to processing for connection for the first time may be performed. For example, when switching to processing for connection for the first time is made, various types of data stored in peripheral terminal <NUM> such as information on the user or records of use of peripheral terminal <NUM> may be erased.

Thus, central terminal <NUM> determines processing involved with data communication with peripheral terminal <NUM> based on a result of comparison between third information (for example, identification information <NUM>) brought in correspondence with running application <NUM> and the second information received from peripheral terminal <NUM>.

As described above, the "second information" herein includes information including identification information <NUM> or information generated based on identification information <NUM>. Then, the "third information" to be compared includes information including identification information <NUM> or information generated based on identification information <NUM>, and it is, for example, information the same as the second information. The "third information" may be different from the second information. In any case, the "third information" includes information that can be compared with the "second information.

Though an exemplary implementation in which central terminal <NUM> performs processing involved with management of pair information is shown in the description above, without being limited as such, the entirety or a part of necessary processing may be performed by using a computing resource (typically, a computing resource on the cloud) separate from central terminal <NUM>. A form in which the management server performs a part of processing involved with management of pair information will be illustrated below.

Referring to <FIG>, communication system <NUM> includes management servers 300A, 300B, 300C,. (which may also collectively be referred to as "management server <NUM>" below) in addition to central terminal <NUM> and peripheral terminal <NUM>.

In an exemplary configuration shown in <FIG>, central terminal <NUM> functions as an apparatus that accepts an operation by a user, and central terminal <NUM> and management server <NUM> can be regarded as an integrated processing entity (a first terminal) (which is similar in first to third modifications below).

Management server <NUM> is provided for each application. For example, management servers 300A, 300B, and 300C are provided in correspondence with applications 150A, 150B, and 150C, respectively. Management server <NUM> in place of central terminal <NUM> manages pair information <NUM>.

Pair information <NUM> managed by management server <NUM> includes one or more sets of user identification information <NUM> and identification information <NUM>. More specifically, management server 300A manages pair information 160A relating to application 150A. Pair information 160A includes one or more sets of user identification information 166A and identification information 164A. Similarly, management server 300B manages pair information 160B relating to application 150B, and management server 300C manages pair information 160C relating to application 150C. Information included in pair information 160B and pair information 160C is also similar to that of pair information 160A.

As will be described later, management server <NUM> creates, changes, or deletes pair information <NUM> in accordance with a notification from central terminal <NUM> and performs processing such as authentication of identification information from peripheral terminal <NUM>.

User identification information <NUM> is any information that allows management server <NUM> to uniquely distinguish a user. For example, a user account, a randomly determined value (a random number), identification information of central terminal <NUM>, or identification information of an application to be executed which is different for each central terminal <NUM> can be employed as user identification information <NUM>. User identification information <NUM> does not have to identify the user himself/herself.

Management server <NUM> is typically implemented by one or more general-purpose computers. Therefore, description of an exemplary hardware configuration of management server <NUM> will not be repeated.

Since a processing procedure shown in <FIG> is similar to the processing procedure shown in <FIG>, only differences will be described. More specifically, processing in sequences SQ34 to SQ38 is performed instead of the processing in sequence SQ20 shown in <FIG>. Sequence SQ28 is eliminated.

When identification information <NUM> from peripheral terminal <NUM> has an invalid value (YES in sequence SQ18), central terminal <NUM> transmits user identification information <NUM> to management server <NUM> (sequence SQ32).

When management server <NUM> receives user identification information <NUM> from peripheral terminal <NUM>, it determines a value for identification information <NUM> corresponding to received user identification information <NUM> (sequence SQ34) and registers a set of user identification information <NUM> and identification information <NUM> as pair information <NUM> (sequence SQ36). When identification information <NUM> brought in correspondence with the same user identification information <NUM> has already been registered, management server <NUM> updates the already registered information with a presently determined value. At this time, various types of data stored in peripheral terminal <NUM> such as information on the user or records of use of peripheral terminal <NUM> may be erased.

In other words, in a first modification, identification information generator <NUM> (see <FIG>) that generates identification information <NUM> and identification information <NUM> used as pair information <NUM> and pair information <NUM>, respectively, is provided in management server <NUM>.

In succession, management server <NUM> transmits identification information <NUM> included in registered user identification information <NUM> to peripheral terminal <NUM> (sequence SQ38). Then, central terminal <NUM> requests connected peripheral terminal <NUM> to register identification information <NUM> the same as identification information <NUM> received from management server <NUM> as pair information <NUM> (sequence SQ22). At this time, application type information <NUM> in addition to identification information <NUM> may also be transmitted from central terminal <NUM> to peripheral terminal <NUM>.

As a series of processing involved with connection for the first time as above is completed, data communication between central terminal <NUM> and peripheral terminal <NUM> is started.

Since a processing procedure shown in <FIG> is similar to the processing procedure shown in <FIG>, only differences will be described. More specifically, processing in sequences SQ56 to SQ62 is performed instead of the processing in sequences SQ50 and SQ52 shown in <FIG>.

When central terminal <NUM> receives identification information <NUM> from peripheral terminal <NUM>, it transmits user identification information <NUM> and received identification information <NUM> to management server <NUM> (sequence SQ56).

Management server <NUM> extracts identification information <NUM> corresponding to user identification information <NUM> received from central terminal <NUM> by referring to registered pair information <NUM>, and compares extracted identification information <NUM> and received identification information <NUM> with each other (sequence SQ58). Then, management server <NUM> determines whether or not a result of comparison satisfies a predetermined condition for re-connection (sequence SQ60). For example, the condition for re-connection includes matching of extracted identification information <NUM> with received identification information <NUM>.

When the result of comparison does not satisfy the condition for re-connection (NO in sequence SQ60), connection processing is stopped. In contrast, when the result of comparison satisfies the condition for re-connection (YES in sequence SQ60), management server <NUM> notifies central terminal <NUM> that connection can be established (sequence SQ62). Data communication between central terminal <NUM> and peripheral terminal <NUM> is thus started (sequence SQ54).

When the result of comparison does not satisfy the condition for re-connection (NO in sequence SQ60), management server <NUM> may notify central terminal <NUM> that connection cannot be established. Instead of or in addition to the notification that connection cannot be established, switching to processing for connection for the first time may be made. At this time, various types of data stored in peripheral terminal <NUM> such as information on the user or records of use of peripheral terminal <NUM> may be erased. Alternatively, unless central terminal <NUM> receives the notification from management server <NUM> within a prescribed time period (timeout), central terminal <NUM> may stop processing.

Management server <NUM> thus compares third information (for example, identification information <NUM>) brought in correspondence with running application <NUM> on central terminal <NUM> and the second information received from peripheral terminal <NUM> with each other.

According to the configuration in the first modification, management server <NUM> rather than central terminal <NUM> manages pair information <NUM>. Therefore, such a situation that rewriting of pair information <NUM> managed by central terminal <NUM> may affect the result of comparison between the third information and the second information can be avoided.

In the first modification described above, pair information <NUM> managed by management server <NUM> includes one or more sets of user identification information <NUM> and identification information <NUM>. A peripheral terminal address <NUM> may further be brought in correspondence with each set included in such pair information <NUM>.

Referring to <FIG>, pair information <NUM> managed by management server <NUM> includes one or more sets of peripheral terminal address <NUM>, user identification information <NUM>, and identification information <NUM>. More specifically, management server 300A manages pair information 160A relating to application 150A. Pair information 160A includes one or more sets of a peripheral terminal address 168A, user identification information 166A, and identification information 164A. Similarly, management server 300B manages pair information 160B relating to application 150B, and management server 300C manages pair information 160C relating to application 150C. Information included in pair information 160B and pair information 160C is also similar to that in pair information 160A.

Peripheral terminal address <NUM> indicates an address of peripheral terminal <NUM> to which central terminal <NUM> which is a connection target is further connected. Peripheral terminal address <NUM> may include only a part of the address of peripheral terminal <NUM> or may be an address of peripheral terminal <NUM> to which any information has been added. Peripheral terminal address <NUM> may be a specific value calculated from the address of peripheral terminal <NUM>.

Since pair information <NUM> shown in <FIG> includes peripheral terminal address <NUM>, user identification information <NUM>, and identification information <NUM>, any of them may be defined as a search key. Typically, peripheral terminal address <NUM> is set as the search key.

Since a processing procedure shown in <FIG> is similar to the processing procedure shown in <FIG>, only differences will be described. More specifically, processing in sequences SQ33 and SQ37 is performed instead of the processing in sequences SQ32 and SQ36 shown in <FIG>.

When identification information <NUM> from peripheral terminal <NUM> has an invalid value (YES in sequence SQ18), central terminal <NUM> transmits user identification information <NUM> and the address of peripheral terminal <NUM> (peripheral terminal address) to management server <NUM> (sequence SQ33). Central terminal <NUM> has already obtained the address of peripheral terminal <NUM> in the processing for connection to peripheral terminal <NUM> (sequence SQ12).

When management server <NUM> receives user identification information <NUM> and the peripheral terminal address from peripheral terminal <NUM>, it determines a value for identification information <NUM> corresponding to user identification information <NUM> (sequence SQ34) and registers a set of peripheral terminal address <NUM>, user identification information <NUM>, and identification information <NUM> as pair information <NUM> (sequence SQ37). When identification information <NUM> brought in correspondence with the same peripheral terminal address <NUM> has already been registered, management server <NUM> updates the already registered information with a presently determined value. At this time, various types of data stored in peripheral terminal <NUM> such as information on the user or records of use of peripheral terminal <NUM> may be erased.

Since a processing procedure shown in <FIG> is similar to the processing procedure shown in <FIG>, only differences will be described. More specifically, processing in sequences SQ57 and SQ59 is performed instead of the processing in sequences SQ56 and SQ58 shown in <FIG>.

When central terminal <NUM> receives identification information <NUM> from peripheral terminal <NUM>, it transmits received identification information <NUM> in addition to the address of peripheral terminal <NUM> (peripheral terminal address) and user identification information <NUM> to management server <NUM> (sequence SQ57). Central terminal <NUM> has already obtained the address of peripheral terminal <NUM> in the processing for connection to peripheral terminal <NUM> (sequence SQ44).

Management server <NUM> extracts, by referring to registered pair information <NUM>, the set of user identification information <NUM> and identification information <NUM> corresponding to the peripheral terminal address received from central terminal <NUM> and compares the extracted set of user identification information <NUM> and identification information <NUM> with the received set of user identification information <NUM> and identification information <NUM> (sequence SQ59). Then, management server <NUM> determines whether or not a result of comparison satisfies a predetermined condition for re-connection (sequence SQ60). For example, the condition for re-connection includes matching of the extracted set of user identification information <NUM> and identification information <NUM> with the received set of user identification information <NUM> and identification information <NUM>. When the result of comparison does not satisfy the condition for re-connection (NO in sequence SQ60), management server <NUM> may notify central terminal <NUM> that connection cannot be established. Instead of or in addition to the notification that connection cannot be established, switching to processing for connection for the first time may be made. At this time, various types of data stored in peripheral terminal <NUM> such as information on the user or records of use of peripheral terminal <NUM> may be erased.

According to the configuration in a second modification, management server <NUM> rather than central terminal <NUM> manages pair information <NUM>. Therefore, such a situation that rewriting of pair information <NUM> managed by central terminal <NUM> may affect the result of comparison between the third information and the second information can be avoided.

According to the configuration in the second modification, identification information <NUM> is managed in correspondence with the set of peripheral terminal address <NUM> and user identification information <NUM>. Therefore, for example, even when the address of peripheral terminal <NUM> stored in central terminal <NUM> is rewritten in an attempt to use peripheral terminal <NUM> different from the peripheral terminal used so far, pair information <NUM> stored in peripheral terminal <NUM> or the like can reliably be initialized.

Though a configuration in which an address of peripheral terminal <NUM> (peripheral terminal address <NUM>) is included in pair information <NUM> is adopted in the second modification described above, absence of an error in peripheral terminal address <NUM> itself is preferably guaranteed. Therefore, an electronic signature generated from an address of peripheral terminal <NUM> may be obtained from peripheral terminal <NUM>, absence of an error such as garbling in peripheral terminal <NUM> may be checked with the use of the obtained electronic signature, and then processing for registering pair information <NUM> may be performed.

A processing procedure shown in <FIG> is addition of processing in sequences SQ17 and SQ39 to the processing procedure shown in <FIG> and replacement of the processing in sequence SQ33 with sequence SQ33A.

Peripheral terminal <NUM> transmits identification information <NUM> (sequence SQ16), and thereafter transmits an electronic signature <NUM> generated from the address thereof to central terminal <NUM> (sequence SQ17). Electronic signature <NUM> may be, for example, a hash value calculated by input of the address of the peripheral terminal into a prescribed hash function.

Electronic signature <NUM> may be transmitted from peripheral terminal <NUM> automatically after transmission of identification information <NUM> or in response to an explicit request from central terminal <NUM>.

In sequence SQ33A, central terminal <NUM> transmits also electronic signature <NUM> to management server <NUM>, in addition to user identification information <NUM> and the address of peripheral terminal <NUM> (peripheral terminal address).

Management server <NUM> determines whether or not there is an error in the received peripheral terminal address based on electronic signature <NUM> from central terminal <NUM> (sequence SQ39). More specifically, whether or not a value calculated by input of the received peripheral terminal address into a prescribed hash function matches with received electronic signature <NUM> is determined.

When there is an error in the received peripheral terminal address (YES in sequence SQ39), processing is stopped. When there is no error in the received peripheral terminal address (NO in sequence SQ39), processing in sequence SQ34 or later is performed.

A processing procedure shown in <FIG> is addition of processing in sequences SQ49 and SQ63 to the processing procedure shown in <FIG> and replacement of the processing in sequences SQ57 and SQ59 with sequences SQ57A and SQ59A.

Peripheral terminal <NUM> transmits identification information <NUM> (sequence SQ48), and thereafter transmits electronic signature <NUM> generated from the address thereof to central terminal <NUM> (sequence SQ49).

In sequence SQ57A, central terminal <NUM> transmits also electronic signature <NUM> to management server <NUM> in addition to user identification information <NUM> and the address of peripheral terminal <NUM> (peripheral terminal address).

Management server <NUM> determines whether or not there is an error in the received peripheral terminal address based on electronic signature <NUM> from central terminal <NUM> (sequence SQ63).

When there is an error in the received peripheral terminal address (YES in sequence SQ63), processing is stopped. When there is no error in the received peripheral terminal address (NO in sequence SQ63), processing in sequence SQ59A or later is performed.

In sequence SQ59A, management server <NUM> extracts a set of user identification information <NUM>, identification information <NUM>, and peripheral terminal address <NUM> by referring to registered pair information <NUM>, and compares the extracted set of user identification information <NUM>, identification information <NUM>, and peripheral terminal address <NUM> with the received set of user identification information <NUM>, identification information <NUM>, and peripheral terminal address <NUM> (sequence SQ59A).

According to the configuration in a third modification, in the event of occurrence of an error such as garbling in the address (peripheral terminal address) due to a trouble in hardware of peripheral terminal <NUM>, such occurrence can be prevented from affecting management of the pair information.

An exemplary user interface provided in communication system <NUM> according to the present embodiment will now be described.

A user interface screen <NUM> shown in <FIG> is provided in accordance with a result of search for connectable peripheral terminal <NUM> by central terminal <NUM> at the time of connection for the first time between central terminal <NUM> and peripheral terminal <NUM> (see sequence SQ10 or the like in <FIG> and <FIG>). More specifically, user interface screen <NUM> includes a candidate list <NUM> of found peripheral terminals <NUM>. The user selects peripheral terminal <NUM> connection to which is desired, from among peripheral terminals <NUM> shown in candidate list <NUM>. Then, processing for connection between central terminal <NUM> and selected peripheral terminal <NUM> is started (see sequence SQ12 or the like in <FIG> and <FIG>).

A user interface screen <NUM> shown in <FIG> is provided in re-connection between central terminal <NUM> and peripheral terminal <NUM>. More specifically, when central terminal <NUM> is connected to peripheral terminal <NUM> that satisfies the condition for re-connection (see sequence SQ52 in <FIG> and sequence SQ60 in <FIG>), user interface screen <NUM> presents connected peripheral terminal <NUM> to the user.

An advertisement used for search for peripheral terminal <NUM> will now be described.

In some peripheral terminal <NUM>, transmission of an advertisement is started by pressing of a button provided in peripheral terminal <NUM>. Therefore, in connection between central terminal <NUM> and peripheral terminal <NUM>, a user has to perform such an operation as pressing a button in peripheral terminal <NUM>. The user may be supported for such an operation to press the button in peripheral terminal <NUM> by central terminal <NUM>.

When connection to peripheral terminal <NUM> is required while central terminal <NUM> is executing any application, central terminal <NUM> provides a user interface screen <NUM> as shown in <FIG>. User interface screen <NUM> includes a message that invites a user to press the button in peripheral terminal <NUM> connection to which is desired.

When the user presses the button in peripheral terminal <NUM> and central terminal <NUM> finds peripheral terminal <NUM> as connectable peripheral terminal <NUM>, a user interface screen <NUM> as shown in <FIG> is provided.

User interface screen <NUM> includes an OK button <NUM> that accepts an instruction for connection, in addition to specifying information <NUM> indicating connectable peripheral terminal <NUM>. The user checks specifying information <NUM> shown on user interface screen <NUM> and then presses OK button <NUM>. Then, processing for connection between central terminal <NUM> and peripheral terminal <NUM> is started.

Alternatively, processing for connection between central terminal <NUM> and peripheral terminal <NUM> may be started in response to an operation by the user onto input unit <NUM> of peripheral terminal <NUM>.

An application executed in central terminal <NUM> may automatically be connected to peripheral terminal <NUM> nearby without showing the user interface screen as shown in <FIG>, <FIG> and start data communication.

A method of searching for or determining peripheral terminal <NUM> to be connected is various depending on an application executed in central terminal <NUM>. A plurality of types of advertisements transmitted from peripheral terminal <NUM> may be prepared. In other words, peripheral terminal <NUM> may be configured to transmit a plurality of types of advertisements.

Referring to <FIG>, peripheral terminal <NUM> may transmit two types of advertisements.

In an exemplary configuration shown in <FIG>, peripheral terminal <NUM> implements a constantly transmitted advertisement <NUM> and an advertisement <NUM> transmitted at the time when a button <NUM> in peripheral terminal <NUM> is pressed. The advertisement is periodically transmitted in broadcast communication. Therefore, "constant transmission" means continued periodic transmission.

By thus preparing a plurality of advertisements different in transmission condition for peripheral terminal <NUM>, processing for connection to peripheral terminal <NUM> by an application executed in central terminal <NUM> can be various. Specifically, an advertisement to be used in processing for searching for peripheral terminal <NUM> to be connected may be selected as appropriate depending on a type of the application or a scene.

For example, at the time of connection for the first time, in order to simplify or facilitate selection of peripheral terminal <NUM> to be connected, connectable peripheral terminal <NUM> may be searched for with the use of advertisement <NUM> transmitted at the time when button <NUM> is pressed (see sequence SQ10 or the like in <FIG> and <FIG>). In other words, only peripheral terminal <NUM> for which the user has explicitly pressed button <NUM> is searched for as a connection target.

In re-connection, all peripheral terminals <NUM> present around central terminal <NUM> may be searched for by using constantly transmitted advertisement <NUM> (see sequence SQ40 or the like in <FIG> and <FIG>), because pair information <NUM> and pair information <NUM> have been prepared.

Alternatively, in some application, also in re-connection, connectable peripheral terminal <NUM> may be searched for with the use of advertisement <NUM> transmitted at the time when button <NUM> is pressed. In other words, also in re-connection, only peripheral terminal <NUM> for which the user has explicitly pressed button <NUM> may be searched for as a connection target.

Each of applications <NUM> executed in central terminal <NUM> may thus be configured to refer to one or more advertisements <NUM> and <NUM> specific to application <NUM> among a plurality of types of advertisements <NUM> and <NUM>. The type of advertisement transmitted from central terminal <NUM> is not limited to two types, and more types of advertisements may be transmitted.

Though central terminal <NUM> can more easily find peripheral terminal <NUM> by constantly transmitting advertisement <NUM>, battery consumption in peripheral terminal <NUM> may increase.

Then, central terminal <NUM> may instruct peripheral terminal <NUM> to stop constant transmission of advertisement <NUM>.

Referring to <FIG>, a user interface screen <NUM> includes an OK button <NUM> that accepts an instruction to stop advertisement <NUM> in addition to specifying information <NUM> indicating peripheral terminal <NUM> of interest. The user checks specifying information <NUM> shown on user interface screen <NUM> and then presses OK button <NUM>. Then, an instruction is issued from central terminal <NUM> to peripheral terminal <NUM> of interest, and peripheral terminal <NUM> stops transmission of advertisement <NUM>.

Central terminal <NUM> may thus instruct peripheral terminal <NUM> to stop transmission of advertisement <NUM>. At this time, any application executed in central terminal <NUM> may issue an instruction to stop transmission of advertisement <NUM> to peripheral terminal <NUM>. In other words, any application <NUM> configured to refer to constantly transmitted advertisement <NUM> among applications <NUM> executed in central terminal <NUM> may be able to stop transmission of advertisement <NUM>.

In other words, processing for indicating stop of transmission of advertisement <NUM> may be performed in central terminal <NUM> and may be implemented by any application that can use peripheral terminal <NUM>. The processing for indicating stop of transmission may be implemented only by an application that uses constantly transmitted advertisement <NUM> among the applications.

<FIG> shows an example in which a notification to stop transmission of advertisement <NUM> is given by explicit pressing of OK button <NUM> by the user. Without being limited to such an operation by the user, notification to stop transmission of advertisement <NUM> may automatically be given when a predetermined condition is satisfied.

For example, when central terminal <NUM> is set to an airplane mode, in step with the setting, the application may automatically indicate stop of transmission of advertisement <NUM>.

Constantly transmitted advertisement <NUM> may also be set to an inactive state in initial setting. In this case, when connection to central terminal <NUM> that executes any application is established, constant transmission of advertisement <NUM> may automatically be activated without an operation by the user.

By providing a user interface screen similar to that in <FIG>, transmission of advertisement <NUM> may be resumed at any timing in accordance with an operation by the user.

By thus allowing advertisement <NUM> constantly transmitted from central terminal <NUM> to freely be stopped, battery consumption in peripheral terminal <NUM> can be suppressed.

<FIG> and <FIG> described above show a form in which central terminal <NUM> manages pair information, and <FIG> and <FIG> show a form in which management server <NUM> manages pair information. Such forms of processing may be combined as appropriate without being fixed to one of such processing forms.

For example, once management server <NUM> determines that pair information <NUM> of peripheral terminal <NUM> satisfies the condition for re-connection and when central terminal <NUM> thereafter obtains identical pair information <NUM> from identical peripheral terminal <NUM>, central terminal <NUM> may determine that the condition for re-connection is satisfied without making an inquiry to management server <NUM>.

In other words, though management server <NUM> subjectively determines whether or not pair information <NUM> of peripheral terminal <NUM> satisfies the condition for re-connection, management server <NUM> does not always have to do so. Management server <NUM> may determine whether or not the condition for re-connection is satisfied only when central terminal <NUM> determines that it has to issue an inquiry to management server <NUM>.

When processing as described above is adopted, a result of comparison from management server <NUM> and pair information <NUM> from which the result of comparison originates are preferably cached in central terminal <NUM> for a predetermined period. A period of cache of the result of comparison and pair information <NUM> can also be determined as appropriate in consideration of usability and security.

The pair information held in central terminal <NUM> and peripheral terminal <NUM> may be updated under any condition or at any timing. For example, information on which definition of an expiration date can be based may be added to the pair information, and central terminal <NUM> may determine as appropriate whether or not the pair information has expired. The expiration date may be stored in at least one of central terminal <NUM>, peripheral terminal <NUM>, and management server <NUM>.

When the pair information has expired, central terminal <NUM> may generate new identification information and update the pair information.

Furthermore, the pair information in peripheral terminal <NUM> may be deleted or erased in accordance with an instruction from central terminal <NUM>. For example, when an application that has been executed in central terminal <NUM> is updated or uninstalled, peripheral terminal <NUM> may be instructed to delete the pair information. Deletion of the pair information can deactivate previously used pair information and prevent unnecessary re-connection.

Though an example in which central terminal <NUM> executes application <NUM> is described in the description above, a computing resource on the network (what is called a cloud) may be responsible for execution per se of application <NUM>. In this case, central terminal <NUM> shows a result of execution of application <NUM> executed in the computing resource, which, however, is equivalent to execution of application <NUM> in central terminal <NUM> from a point of the user.

Therefore, execution of application <NUM> by central terminal <NUM> herein may encompass, in addition to execution of application <NUM> by central terminal <NUM> itself, all of execution of application <NUM> in cooperation by central terminal <NUM> and any computing resource, and execution of application <NUM> by any computing resource and representation of a result thereof on central terminal <NUM>.

Execution of application <NUM> by central terminal <NUM> includes also execution in the background in addition to execution in the foreground. In other words, any form of execution of application <NUM> may be applicable.

Though an exemplary configuration in which management server <NUM> is arranged for each application is shown in the description above, management server <NUM> in common to a plurality of applications may be arranged. In this case, application type information may be brought in correspondence with pair information <NUM> managed by management server <NUM>.

According to the communication system according to the present embodiment, in an environment in which certain peripheral terminal <NUM> is used by a plurality of applications <NUM> whereas the plurality of applications <NUM> that use peripheral terminal <NUM> are not necessarily executed in the same central terminal <NUM>, peripheral terminal <NUM> can suitably be used by each of applications <NUM> executed in at least one central terminal <NUM>.

According to the communication system according to the present embodiment, even though there are a plurality of central terminals <NUM> and each of central terminals <NUM> executes various applications, establishment of connection to and data communication with peripheral terminal <NUM> suitable for each application <NUM> can be achieved.

According to the communication system according to the present embodiment, in a set of application <NUM> and peripheral terminal <NUM> that communicated data with each other in the past, data communication next time or later can smoothly be resumed and started.

According to the communication system according to the present embodiment, connection between central terminal <NUM> and peripheral terminal <NUM> is established, and then pair information is transmitted from peripheral terminal <NUM> to central terminal <NUM> to determine whether or not data is to be communicated based on the transmitted pair information. By adopting such a two-step configuration, an amount of communication can be smaller than in an example in which pair information is included in an advertisement.

Claim 1:
A communication system comprising:
a first terminal (<NUM>, 100A, 100B) configured to execute one or more applications (<NUM>, 150A, 150B, 150C); and
a second terminal (<NUM>; <NUM>, 300A, 300B, 300C) configured to communicate data with the first terminal through wireless communication, wherein
the second terminal comprises
a storage (<NUM>) in which first information, which is an identification information (<NUM>; <NUM>) corresponding to each application executed in the first terminal is stored as pairing information (<NUM>) defining connection relation between each application executed in the first terminal and the second terminal, and
a transmission unit (<NUM>) configured to transmit, in response to a request from an application executed in the first terminal, second information (<NUM>; <NUM>), which is the first information or information generated based on the first information, and
the first terminal comprises a determination unit (<NUM>) configured to determine processing related to data communication with the second terminal based on a result of a comparison between third information (<NUM>), which is identification information or information generated based on identification information corresponding to a running application on the first terminal, and the second information received from the second terminal.