Abstract:
A radio terminal corresponding to a first radio terminal associated with a second radio terminal comprises following units. A first receiving unit receives a first request issued from the second radio terminal. An establishing unit establishes, in response to the first request, a radio link with respect to the second radio terminal. A setting unit sets, on the radio link, a connection with the second radio terminal. A detecting unit detects an event in association with the second radio terminal. A first transmitting unit transmits, to the second radio terminal via the connection, a first request message representing that first service information concerning the second radio terminal should be transmitted to the first radio terminal, when the detecting unit detects the event.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
         [0001]    This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2002-195955, filed Jul. 4, 2002, the entire contents of which are incorporated herein by reference.  
         BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates to a radio terminal, a communication control method and a computer program utilizing, for example, a radio connection technique “Bluetooth (trademark)”.  
           [0004]    2. Description of the Related Art  
           [0005]    Recently, much attention has been paid to Bluetooth (trademark). Components needed for Bluetooth are less expensive than those needed for a radio LAN, and Bluetooth can be used anywhere in the world, utilizing the 2.4 GHz band.  
           [0006]    In communication terminals utilizing Bluetooth, a virtual COM port (RFCOMM) is generally used for data transmission/reception. Connection via a virtual COM port (RFCOMM connections) is carried out by the following procedure.  
           [0007]    Firstly, a device C starts to execute a Device Discovery procedure for discovering devices existing in the vicinity. In this procedure, the device C broadcasts an Inquiry message, and another device S having received this message returns, to the device C, a response message that includes its own identifier (MAC ID). Thus, the device C can know the identifiers of other devices around it.  
           [0008]    Subsequently, the device C acquires service information (Service Record), utilizing the following procedure based on Service Discovery Protocol (SDP).  
           [0009]    The device C establishes a connection (SDP connection) for acquiring service information with respect to a device discovered by the device discovery procedure, e.g. the device S. After that, the device C requests, to the device S, return of service information relating to a target service. Upon receiving the request, the device S returns this service information to the device C. After receiving the service information from the device S, the device C disconnects the SDP connection. This device discovery procedure and service information acquiring procedure are disclosed in, for example, Jpn. Pat. Appln. KOKAI Publication No. 2001-168881.  
           [0010]    In the above service discovery protocol, however, only one-way transfer of service information is performed by the device S having received a return request, to the device C having made the request, but not vice versa.  
           [0011]    After that, the device C performs a virtual COM port connection, using, as parameters, the identifier (MAC ID) of the device S obtained by the device discovery procedure, and a server channel number stored in the service information obtained from the service discovery protocol. As a result, a RFCOMM connection is established between the devices C and S for data transmission/reception.  
           [0012]    If the device C pre-acquires a device identifier and server channel number as parameters necessary to establish a RFCOMM connection, the above-described procedure for acquiring service information can be omitted. However, in general, users cannot be expected to pre-acquire the parameters of an arbitrary communication device, therefore the above procedure is needed.  
           [0013]    In Bluetooth, to establish an SDP connection or a RFCOMM connection, it is necessary to create a network called a “piconet”, which is formed of one master device and one or more slave devices. Between a master device and slave device that belong to same piconet, the SDP connection and the RFCOMM connection are superposed on a baseband link by a logical link (L2CAP (Logical Link Control and Adaptation Layer Protocol)). Thus, a plurality of connections can be simultaneously established between the devices. Further, these connections can be established by either the master or slave device.  
           [0014]    Since connections can be superposed between devices that belong to the same piconet, another connection can be easily established between devices that are communicating with each other via a certain connection. For example, when devices are accessing each other using a virtual COM port and a RFCOMM connection, an SDP connection can also be established therebetween to acquire service information, or another RFCOMM connection can be established.  
           [0015]    However, in general use of Bluetooth, it is often impossible to create a new piconet between a device belonging to a certain piconet, and a device that does not belong to this piconet. In other words, when two devices are linked to each other, it is difficult for a third device to establish a link with one of the already-linked devices. If a link cannot be established, a connection for data transmission/reception cannot be established. Therefore, it is difficult for the third device to establish a connection for data transmission/reception with one of those devices.  
           [0016]    The above describes a RFCOMM connection as an example. Service information relating to a destination device is always needed to access it utilizing the Bluetooth profile. For example, in a Personal Area Network (PAN), communication is performed without a RFCOMM connection. However, service information is needed to establish a PAN.  
           [0017]    When portable devices having a communication function are used to perform a certain function, it may be necessary to transmit information from one device to another device. In an electronic conference, for example, material prepared in the form of a file stored in each portable device is distributed to other devices, or message exchange is performed using a chat function.  
           [0018]    However, as described above, service information relating to a destination device is needed to establish a connection for data transmission/reception. Thus, to establish a connection with an arbitrary device to freely execute communication, it is necessary for each device to pre-acquire service information relating to all the other devices.  
           [0019]    It is difficult, however, to establish an SDP connection between a third device and first or second device when the first and second devices are linked for communication. Therefore, it is also difficult to quickly acquire service information. Further, even if an SDP connection can be established, only one-way transmission of service information is executed from the device with which a connection is established to the device that has established the connection. This is inefficient.  
         BRIEF SUMMARY OF THE INVENTION  
         [0020]    Embodiments of the present invention has been developed in light of the above, and aims to provide a radio terminal capable of quickly acquiring service information necessary to establish a connection with a destination radio terminal, and a communication control method and a computer program enabling a radio terminal to perform such acquisition.  
           [0021]    To satisfy the aim, according to a first aspect of the invention, there is provided a radio terminal corresponding to a first radio terminal associated with a second radio terminal, comprising: a first receiving unit configured to receive a first request issued from the second radio terminal; an establishing unit configured to establish, in response to the first request, a radio link with respect to the second radio terminal; a setting unit configured to set, on the radio link, a connection with the second radio terminal; a detecting unit configured to detect an event in association with the second radio terminal; and a first transmitting unit configured to transmit, to the second radio terminal via the connection, a first request message representing that first service information concerning the second radio terminal should be transmitted to the first radio terminal, when the detecting unit detects the event.  
           [0022]    According to a second aspect of the invention, there is provided a communication control method of setting a connection on a radio link between a first radio terminal and a second radio terminal, the communication control method comprising: detecting an event in association with the second radio terminal; transmitting, to the second radio terminal via the connection, a first request message representing that first service information concerning the second radio terminal should be transmitted to the first radio terminal, when the event is detected; and receiving the first service information.  
           [0023]    According to a third aspect of the invention, there is provided a computer program stored in a computer readable medium provided in a first radio terminal associated with a second radio terminal, the computer program comprising: first receiving means for instructing a computer to receive a first request issued from the second radio terminal; first transmitting means for instructing a computer to transmit a second request; means for instructing a computer to establish, in response to one of the first request and the second request, a radio link with respect to the second radio terminal; means for instructing a computer to set, on the radio link, a connection with the second radio terminal; means for instructing a computer to detect an event in association with the second radio terminal; and second transmitting means for instructing a computer to transmit, to the second radio terminal via the connection, a first request message representing that first service information concerning the second radio terminal should be transmitted to the first radio terminal, when the detecting means detects the event. 
       
    
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING  
       [0024]    [0024]FIG. 1 is a block diagram illustrating a basic structure example of a radio terminal according to the embodiments of the invention;  
         [0025]    [0025]FIG. 2 is a block diagram illustrating a configuration example of a first radio terminal used in a first embodiment of the invention;  
         [0026]    [0026]FIG. 3 is a block diagram illustrating a configuration example of a second radio terminal used in the first embodiment of the invention;  
         [0027]    [0027]FIG. 4 is an example of an alien-machine service information table;  
         [0028]    [0028]FIG. 5 is an example of a non-alien-machine service information table;  
         [0029]    [0029]FIG. 6 is a flowchart illustrating a procedure example for operating a first radio terminal used in the first embodiment of the invention;  
         [0030]    [0030]FIG. 7 is a flowchart illustrating a procedure example for operating a second radio terminal used in the first embodiment of the invention;  
         [0031]    [0031]FIG. 8 is a block diagram illustrating a configuration example of a third radio terminal used in the first embodiment;  
         [0032]    [0032]FIG. 9 is a block diagram illustrating a configuration example of a radio terminal used in embodiments (2-1) to (2-3) of the invention;  
         [0033]    [0033]FIG. 10 is a flowchart illustrating a procedure example for operating a radio terminal A used in the embodiment (2-1);  
         [0034]    [0034]FIG. 11 is a flowchart illustrating a procedure example for operating a radio terminal B used in the embodiment (2-1);  
         [0035]    [0035]FIG. 12 is another example of the service information table for the originator terminal;  
         [0036]    [0036]FIG. 13 is a flowchart illustrating a procedure example for operating a radio terminal B used in the embodiment (2-2);  
         [0037]    [0037]FIG. 14 is a flowchart illustrating a procedure example for operating a radio terminal B used in the embodiment (2-3);  
         [0038]    [0038]FIG. 15 is a block diagram illustrating a configuration example of a radio terminal used in embodiments (3-1) to (3-3) of the invention;  
         [0039]    [0039]FIG. 16 is a flowchart illustrating a procedure example for operating a radio terminal A used in the embodiment (3-1);  
         [0040]    [0040]FIG. 17 is a flowchart illustrating a procedure example for operating a radio terminal B used in the embodiment (3-1);  
         [0041]    [0041]FIG. 18 is a flowchart illustrating a procedure example for operating a radio terminal B used in the embodiment (3-2); and  
         [0042]    [0042]FIG. 19 is a flowchart illustrating a procedure example for operating a radio terminal B used in the embodiment (3-3). 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0043]    Embodiments of the invention will be described with reference to the accompanying drawings.  
         [0044]    [0044]FIG. 1 shows a basic structure example of a radio terminal according to the invention.  
         [0045]    Reference numeral  11  denotes the stacked structure of the Bluetooth protocol, and reference numeral  12  a Bluetooth module.  
         [0046]    The stacked structure  11  comprises a host control interface (HCI) as the lowest layer, a logical link (L2CAP) as the second lowest layer, a virtual COM port (RFCOMM) and Service Discovery Protocol (SDP) as the second highest layer, and an application layer as the highest layer. Actually, a radio terminal  1  comprises processing units corresponding to the respective layers, i.e., an HCI processing unit  11 , L2CAP layer processing unit  112 , RFCOMM processing unit  113 , SDP processing unit  114  and application layer processing unit  115 .  
         [0047]    Further, the Bluetooth module  12  comprises a link manager (LM)  121 , link controller (LC)  122 , radio frequency circuit (RF)  123  and antenna  124 .  
         [0048]    RFCOMM or SDP data is basically processed in the following manner.  
         [0049]    If the radio terminal  1  is an originator or transmitter, the RFCOMM processing unit  113  or the SDP processing unit  114  generates RFCOMM data or SDP data when necessary, and the L2CAP layer processing unit  112  converts the data into a packet and supplies the packet to the Bluetooth module  12  via the HCI processing unit  111 . The Bluetooth module  12 , in turn, executes fragmentation on the packet using the link controller  122 , modulates it using the radio frequency circuit (RF)  123 , and outputs it from the antenna  124 .  
         [0050]    On the other hand, if the radio terminal  1  is a destination or receiver, processing is performed in the order reverse to the above, with the result that a signal from the transmitter is finally received and processed by the RFCOMM processing unit  113  or the SDP processing unit  114 .  
         [0051]    In the description below, the above-mentioned application is not always limited to one directly operated by a user via an interface, such as a graphical user interface (GUI). For example, the application may be so-called middleware that is not directly operated by a user but operates in accordance with an instruction from an application existing in an upper layer.  
         [0052]    Descriptions will now be given of radio terminals having configurations similar to the above.  
         [0053]    Processing units used in the radio terminals can be realized only by hardware such as semiconductor chips. Alternatively, a CPU may be installed in the radio terminals so that part or the whole processing can be realized by software. In the case of realizing the processing using software, the software may be recorded in a recording medium installed beforehand in a computer, or in a computer-readable recording medium, such as a CD-ROM, or may be acquired from a communication medium, such as the Internet.  
         [0054]    Firstly, a first embodiment will be described.  
         [0055]    (First Embodiment)  
         [0056]    [0056]FIG. 2 shows a configuration example of a first radio terminal employed in a first embodiment. As seen from FIG. 2, a radio terminal  2   a  comprises a transmission/reception unit  21  for transmitting and receiving a request to transmit service information (service information transmission request message) or service information, to and from any other radio terminal, an alien-machine service information storage  22  for storing service information received from any other radio terminal, and a service information acquisition unit  23  for requesting any other radio terminal to transmit service information.  
         [0057]    [0057]FIG. 3 shows a configuration example of a second radio terminal used in the first embodiment. As seen from FIG. 3, a radio terminal  2   b  comprises a transmission/reception unit  21  for transmitting and receiving a request to transmit service information transmission request or service information, to and from any other radio terminal, a non-alien-machine service information storage  24  for storing service information for the second radio terminal itself, and a service information transmission unit  25  for transmitting the service information to any other radio terminal in accordance with a request therefrom.  
         [0058]    The configurations of FIGS. 2 and 3 correspond to the stacked structure of FIG. 1 in the following manner. The transmission/reception unit  21  corresponds to all layers not higher than the L2CAP layer in FIG. 1 (i.e.,  12 ,  111 ,  112 ), the service information transmission unit  25  and service information acquisition unit  23  correspond to the SDP layer ( 114 ), and the non-alien-machine and alien-machine service information storages  24  and  22  correspond to the application layer ( 115 ). The element corresponding to the RFCOMM layer  113  in FIG. 1 is not referred to in this embodiment therefore not shown in FIG. 2 or  3 .  
         [0059]    In the second radio terminal  2   b  of FIG. 3, information concerning services that the terminal  2   b  itself can provide is stored as a non-alien-machine service information table in the non-alien-machine service information storage  24 . FIG. 4 shows an example of the non-alien-machine service information table. In the example of FIG. 4, the non-alien-machine service information table stores, in relation to each other, the type and name of each service and a server channel number used for establishment of a connection for data transmission/reception.  
         [0060]    In the first radio terminal  2   a  of FIG. 2, information concerning services provided by other radio terminals is stored as an alien-machine service information table in the alien-machine service information storage  22 . FIG. 5 shows an example of the alien-machine service information table. In the example of FIG. 5, the alien-machine service information table stores, in relation to each other, the terminal identifier (MAC ID) of any other radio terminal, the type and name of each service provided by any other radio terminal, and a server channel number used for establishment of a connection for data transmission/reception.  
         [0061]    The operation of the first embodiment will be described.  
         [0062]    [0062]FIG. 6 illustrates a procedure example for operating the first radio terminal  2   a , and FIG. 7 illustrates a procedure example for operating the second radio terminal  2   b.    
         [0063]    In the embodiment, it does not matter what type of method radio terminals use to acquire the identifier of any other radio terminal. Assuming that the first radio terminal  2   a  has already acquired the identifier (MAC ID) of another radio terminal, e.g., the second radio terminal  2   b using, for example, a known device discovery procedure, no description will be given of the procedure of acquiring the identifier.  
         [0064]    When a link (radio link) has been established between the radio terminals  2   a  and  2   b  (step S 1 ), the transmission/reception unit  21  supplies the service information acquisition unit  23  with an event signal indicative of the establishment of a link. Upon receiving the event signal, the service information acquisition unit  23  supplies a service information transmission request to the radio terminal  2   b  via the transmission/reception unit  21  (step S 2 ). At this time, if no SDP connection is established between the terminals  2   a  and  2   b it is done so.  
         [0065]    Assume that the type of service as a target of request is written in the service information transmission request. A user or certain application may set the type of service, or all types of service registered in the non-alien-machine service information table may be written. Further, another method may be used.  
         [0066]    When the transmission/reception unit  21  of the radio terminal  2   b  has received the service information transmission request (step S 11 ), it transfers the request to the service information transmission unit  25 . The service information transmission unit  25 , in turn, refers to the non-alien-machine service information storage  24 , thereby determining whether or not the non-alien-machine service information table stores a service corresponding to the type of service requested by the service information transmission request. If the table stores the corresponding service, the name, server channel number, etc., of the service are acquired, thereby creating service information with the name and server channel number corresponding to the requested type of service, or service information indicating that there is no requested type of service (step S 12 ). After that, the service information transmission unit  25  transmits the service information to the radio terminal  2   a  via the transmission/reception unit  21  (step S 13 ).  
         [0067]    When the transmission/reception unit  21  of the radio terminal  2   a  has received the service information (step S 3 ), it transfers the information to the service information acquisition unit  23 . The service information acquisition unit  23  stores the service information into the alien-machine service information table (step S 4 ). If the unit  21  has received service information indicating that there is no requested type of service, this information may be stored in the area of the alien-machine service information table, to which the identifier of the radio terminal  2   a  and the service name and server channel number corresponding to the service type are assigned.  
         [0068]    At the above step S 1 , it does not matter whether connection is established from the radio terminal  2   a  or from the radio terminal  2   b or for what purpose connection is established. For example, the radio terminals  2   a  and  2   b  may be linked for a RFCOMM connection or SDP connection. At any rate, when the radio terminals  2   a  and  2   b  are linked, the radio terminal  2   a  attempts to acquire service information from the radio terminal  2   b.    
         [0069]    As previously mentioned, it may be difficult to establish the SDP connection between a certain terminal and another. It is needed to be linked in the lower layer for establishing the SDP connection. Since it is difficult to be linked in the lower layer, it may be difficult to establish the SDP connection. On the other hand, in the embodiment, an SDP connection is superposed on the already established link. Therefore, service information can be acquired quickly and reliably.  
         [0070]    The first radio terminal  2   a  shown in FIG. 2 does not have the service information transmission unit  25  or non-alien-machine service information storage  24 , while the second radio terminal  2   b  shown in FIG. 3 does not have the service information acquisition unit  23  or alien-machine service information storage  22 . In other words, the first radio terminal  2   a  is assumed to be a client that only enjoys services, and the second radio terminal  2   b  is assumed to be a server that only provides services. However, a device may function as a server in relation to a certain service, or may function as a client in relation to another service. Another device may function as a server and client in relation to a single service. In light of this, it is desirable that a radio terminal be provided with both the structures of the first radio terminal  2   a  and the second radio terminal  2   b.    
         [0071]    [0071]FIG. 8 shows a third radio terminal  2   c  provided with both the structures of the first radio terminals  2   a  and the second radio terminals  2   b . By virtue of this structure, the third radio terminal  2   c  can perform both the operations of the first radio terminals  2   a  and second radio terminals  2   b . For example, if the third radio terminal  2   c  serves as a client in relation to a certain service, it executes the operation of the first radio terminal  2   a . If it serves as a server in relation to a certain service, it executes the operation of the second radio terminal  2   b.    
         [0072]    The embodiments (2-1) and (2-2) will now be described.  
         [0073]    (Embodiment (2-1))  
         [0074]    [0074]FIG. 9 shows a configuration example of a radio terminal  3  according to embodiment (2-1). The radio terminal  3  comprises a transmission/reception unit  21  for transmitting and receiving a request to transmit service information transmission request or service information, to and from any other radio terminal, an alien-machine service information storage  22  for storing service information received from any other radio terminal, a service information acquisition unit  23  for requesting any other radio terminal to transmit service information, a non-alien-machine service information storage  24  for storing service information for the second radio terminal itself, a service information transmission unit  25  for transmitting the non-alien-machine service information to any other radio terminal in accordance with a request therefrom, and an application  26 .  
         [0075]    Each part of the radio terminal  3  of FIG. 9 basically has a function similar to that of a corresponding part shown in FIG. 2, 3 or  8 . Further, the application  26  is not limited to one directly operated by a user via an interface, but includes middleware.  
         [0076]    The configuration of FIG. 9 corresponds to the stacked structure of FIG. 1 in the following manner. The transmission/reception unit  21  corresponds to all layers not higher than the L2CAP layer in FIG. 1 (i.e.,  12 ,  111 ,  112 ), the service information transmission unit  25  and the service information acquisition unit  23  correspond to the SDP layer ( 114 ), and the non-alien-machine  24  and the alien-machine service information storages  22  correspond to the application layer ( 115 ). The element corresponding to the RFCOMM layer  113  in FIG. 1 is not referred to in this embodiment therefore not shown in FIG. 9.  
         [0077]    The operation of this embodiment will be described.  
         [0078]    A description will be given, referring, as a terminal A, to a radio terminal  3  that issues a service information transmission request to transmit service information, and referring, as a terminal B, to a radio terminal  3  that receives the service information transmission request.  
         [0079]    [0079]FIG. 10 shows a procedure example for operating the radio terminal A used in the embodiment, and FIG. 11 shows a procedure example for operating the radio terminal B used in the embodiment.  
         [0080]    Firstly, the application  26  of the terminal A designates the identifier of the terminal B and the type of service to be acquired, thereby requesting the service information acquisition unit  23  to acquire service information from the terminal B (step S 21 ). The service information acquisition unit  23  of the terminal A transmits the request to transmit service information corresponding to the designated service, to the terminal B via the transmission/reception unit  21  (step S 22 ). If no SDP connection is established to the radio terminal  2   b it is superposed on the current link between the terminals. Further, when the terminals A and B are linked, an SDP connection is superposed on the link, whereas when they are not linked, they are linked before the establishment of an SDP connection.  
         [0081]    Upon receiving the service information transmission request (step S 31 ), the transmission/reception unit  21  of the terminal B transfers it to the service information transmission unit  25 . The service information transmission unit  25 , in turn, refers to the non-alien-machine service information table in the non-alien-machine service information storage  24 , thereby determining whether or not a service corresponding to the service type requested by the service information transmission request is registered in the non-alien-machine service information table. If it is registered, its name and sever channel number, etc. are acquired, thereby creating service information containing the name and server channel number corresponding to the requested type of service, or service information indicating that there is no corresponding service (step S 32 ). After that, the service information transmission unit  25  transmits this service information to the terminal A via the transmission/reception unit  21  (step S 33 ).  
         [0082]    Upon receiving the service information (step S 23 ), the transmission/reception unit  21  of the terminal A transfers the information to the service information acquisition unit  23 . The service information acquisition unit  23  stores the service information into the alien-machine service information table (step S 24 ).  
         [0083]    On the other hand, in this embodiment, the service information transmission unit  25  of the terminal B supplies the application  26  with an event signal indicating that the service information transmission request from the terminal A. Upon receiving this event signal, the application  26  instructs the service information acquisition unit  23  to acquire service information from the terminal A.  
         [0084]    After that, processing similar to (but in a reverse order) the processing executed by the terminal A to acquire service information from the terminal B is performed at the steps S 22 -S 24  and S 31 -S 33 . As a result, the terminal B acquires service information from the terminal A and stores it into the alien-machine service information table (steps S 34 -S 36  and S 25 -S 27 ). However, since the application  26  of the terminal A has already instructed the service information acquisition unit  23  to acquire service information from the terminal B, it does not again issue an instruction to acquire service information from the terminal B even when it has received, from the service information transmission unit  25 , an event signal indicating that a service information transmission request has been received from the terminal B. This is only one different point.  
         [0085]    In the procedures shown in FIGS. 10 and 11, the service information transmission unit  25  of the terminal B generates an event signal indicative of the reception of a service information transmission request, when it has actually received the request. However, this event signal may be generated at another point in time. For example, the event signal may be generated when establishment of an SDP connection for generation of a service information transmission request is detected.  
         [0086]    Further, in the procedure of FIG. 11, the terminal B transmits a service information transmission request at a step S 34  after transmitting service information at a step S 33 . Alternatively, the terminal B may transmit a service information transmission request before the transmission of service information, for example, when it receives a service information transmission request from the terminal A, or when it detects establishment of an SDP connection by the terminal A. In this case, for example, transfer of service information from the terminal A to the terminal B is performed parallel to transfer of service information from the terminal B to the terminal A.  
         [0087]    Further, it is not always necessary for a terminal to provide service information to another terminal. Terminals do not establish a connection for data transmission/reception with terminals that provide no service information. However, even such terminals that provide no service information can establish a connection for data transmission/reception with other terminals. In such terminals, the non-alien-machine service information storage  24  stores no information. If, in this state, the service information transmission unit  25  receives a service information transmission request from another terminal, it is sufficient if a message that there is no service is returned to the terminal.  
         [0088]    In the above processing, the terminal A establishes an SDP connection with the terminal B for acquiring service information from the terminal B, and disconnects the SDP connection after finishing the acquisition of the service information from the terminal B. However, even after the completion of the acquisition of the service information, the SDP connection may be kept until the terminal B finishes acquisition of service information from the terminal A. Further, the SDP connection may be continued a period of time after the completion of the acquisition of service information from the terminal B. This can avoid a case where the terminal B delays in processing an event signal indicative of the reception of a request to transmit service information, and the connection between the terminals A and B is cut by the terminal A before the application  26  of the terminal B instructs the service information acquisition unit  23  to acquire the service information from the terminal A.  
         [0089]    In the prior art, when the terminal A has acquired service information from the terminal B, it can establish a connection for data transmission/reception with the terminal B. In this state, however, the terminal B cannot establish a connection for data transmission/reception with the terminal A, since it does not acquire service information from the terminal A. On the other hand, in the embodiment, when the terminal A has acquired service information from the terminal B, the terminal B has simultaneously acquired service information from the terminal A. Accordingly, the terminal A can establish a connection for data transmission/reception with the terminal B, and the terminal B can also establish a connection for data transmission/reception with the terminal A.  
         [0090]    The radio terminal  3  of the embodiment may have the same function as that of the terminal A or B, or both of the functions.  
         [0091]    (Embodiment (2-2))  
         [0092]    A radio terminal example according to embodiment (2-2) is the same as that of the embodiment (2-1) shown in FIG. 9, and each part of the embodiment (2-2) has basically the same function as a corresponding part in the embodiment (2-1).  
         [0093]    Further, operations of the terminal A of the embodiment (2-2) is basically the same as that of the terminal A of the embodiment (2-1).  
         [0094]    In this embodiment, the points different from the embodiment (2-1) will be mainly described.  
         [0095]    In the terminal B of the embodiment (2-2), the steps S 34 -S 36  are not executed if the terminal B has already acquired service information from the terminal A.  
         [0096]    Specifically, as in the embodiment (2-1), when the transmission/reception unit  21  of the terminal B has received a request to transmit service information, it transfers the request to the service information transmission unit  25 , which, in turn, supplies the application  26  with an event signal indicative of the reception of the service information transmission request from the terminal A. Upon receiving this event signal, however, the application  26  determines whether or not there is service information relating to the terminal A and the same service as requested. If there is no such service information, the application  26  requests the service information acquisition unit  23  to acquire the service information from the terminal A, as in the embodiment (2-1). On the other hand, if there is the service information, nothing is done.  
         [0097]    If the terminal B does not execute the steps S 34  S 36 , the terminal A accordingly does not execute the steps S 25 -S 27 .  
         [0098]    In the above-described embodiment (2-1), upon receiving an event signal indicating that a request to transmit service information has been supplied from the terminal A, the application  26  of the terminal B always requests the terminal A to transmit service information. On the other hand, in this embodiment, if the-terminal B has ever acquired service information from the terminal A, it does not request again the terminal A to transmit service information. Thus, in this embodiment, useless communication in which the same service information is acquired again and again is avoided.  
         [0099]    However, it may not be preferable to continue to use old service information, since service information is changed if the service provided by a terminal is changed. In light of this, time information may be added to the information stored in the alien-machine service information table, which enables appropriate information updating. FIG. 12 shows such an alien-machine service information table. In this example, a field for writing the acquisition time of service information is added in the table shown in FIG. 5.  
         [0100]    In this case, the terminal B operates in substantially the same manner as the above, but in a different manner only when the application  26  of the terminal B receives an event signal indicating that a request to transmit service information has been received from the terminal A.  
         [0101]    [0101]FIG. 13 shows an example of this operation.  
         [0102]    Upon receiving the event signal (step S 41 ), the application  26  of the terminal B refers to the alien-machine service information table in the alien-machine service information storage  22 , thereby determining whether or not the table stores service information relating to the terminal A and the same service as requested in the service information transmission request from the terminal A. If the table does not store this service information (step S 42 ), the application  26  instructs the service information acquisition unit  23  to acquire the service information from the terminal A (step S 44 ). Further, if the table stores the service information (step S 42 ), the acquisition time of the service information is compared with the present time. If the service information is determined to be old from the time comparison (step S 43 ), the application  26  instructs the service information acquisition unit  23  to acquire service information from the terminal A (step S 44 ). On the other hand, if the service information is determined not to be old (step S 44 ), nothing is executed.  
         [0103]    As a result, old service information can be appropriately updated.  
         [0104]    The expiration time at which service information is determined old can be changed in accordance with the type of service. For example, concerning a service provided by an application that is frequently activated and terminated, or a service whose content is frequently changed during the operation of an application, the period of validity is shortened. On the other hand, concerning a service provided by a continuously activated application during the operation of a terminal, or a service whose content is not so frequently changed, the period of validity is lengthened. As a result, service information whose content is known not to be so frequently changed is not repeatedly acquired, thereby reducing the degree of useless communication.  
         [0105]    (Embodiment (2-3))  
         [0106]    A radio terminal example according to embodiment (2-3) is similar to that of the embodiment (2-1) shown in FIG. 9, and each part of the embodiment (2-3) has basically the same function as a corresponding part in the embodiment (2-1).  
         [0107]    Further, operations of the terminal A of the embodiment (2-3) is basically the same as that of the terminal A of the embodiment (2-1).  
         [0108]    In this embodiment, the points different from the embodiment (2-1) will be mainly described.  
         [0109]    In the terminal B of the embodiment (2-3), it is determined on the basis of the type of service whether or not a request to transmit service information should be generated. If it is not necessary to acquire service information, the steps S 34 -S 36  are not executed.  
         [0110]    Specifically, as in the embodiment (2-1), upon receiving a request to transmit service information, the transmission/reception unit  21  of the terminal B transfers the request to the service information transmission unit  25 . The service information transmission unit  25 , in turn, supplies the application  26  with an event signal indicating that the request to transmit service information has been received from the terminal A. Upon receiving the event signal, the application  26  of the embodiment (2-3) determines whether or not service information concerning the same service as requested in the service information transmission request from the terminal A should be acquired from the terminal A. If it is determined that such service information should be acquired, the application  26  instructs the service information acquisition unit  23  to acquire the service information from the terminal A, as in the embodiment (2-1), while it is determined that such service information should not be acquired, nothing is executed.  
         [0111]    If the terminal B does not execute the steps S 34  S 36 , the terminal A accordingly does not execute the steps S 25 -S 27 .  
         [0112]    At this time, the terminal B operates in a manner similar to that described in the embodiment (2-2). However, the terminal B performs a determination procedure different from that shown in FIG. 13 upon receiving an event signal indicating that the application  26  of the terminal B has received, from the terminal A, a request to transmit service information.  
         [0113]    [0113]FIG. 14 shows an example of this procedure.  
         [0114]    Upon receiving the event signal (step S 51 ), the application  26  of the terminal B refers to the alien-machine service information table in the alien-machine service information storage  22 , thereby determining whether or not the table stores service information relating to the terminal A and the same service as requested in the service information transmission request from the terminal A. If the table stores this service information (step S 52 ), nothing is done. If the table does not store the service information (step S 52 ), the application  26  determines whether or not the service information relating to the same service as requested in the service information transmission request from the terminal A should be acquired from the terminal A (step S 53 ). If it is determined that the service information should be acquired, the application  26  instructs the service information acquisition unit  23  to acquire the service information from the terminal A (step S 54 ). If the service information should not be acquired (step S 53 ), nothing is done.  
         [0115]    For electronic conferences, there is an application, such as a chat application, which enables each of the devices participating in a conference to establish a connection with any other device for data transmission/reception. Further, there is another application for use in, for example, a presentation for distributing a material, which enables only one device as a presenter to establish a connection for data transmission/reception with the other devices as an audience, i.e., which enables only one device to transmit data and treat the other devices as receivers.  
         [0116]    In the former application, each device needs to acquire service information from the other devices, whereas in the latter application, only the device as the transmitter needs to acquire service information from the other devices, but not vice versa.  
         [0117]    The embodiment (2-3) is useful in these two cases, since it discriminates the case where acquisition of service information from peripheral devices is needed, from the case where the acquisition is not needed, thereby enabling service information to be acquired only when necessary. As a result, no extra service information transmission and reception is performed, therefore communication lines can be used efficiently.  
         [0118]    Embodiments (3-1) and (3-2) will be described.  
         [0119]    (Embodiment (3-1))  
         [0120]    [0120]FIG. 15 shows a radio terminal example according to embodiment (3-1). As seen from FIG. 15, a radio terminal  4  comprises a transmission/reception unit  21  for transmitting and receiving a request to transmit service information transmission request or service information, to and from any other radio terminal, an alien-machine service information storage  22  for storing service information received from any other radio terminal, a service information acquisition unit  23  for requesting any other radio terminal to transmit service information, a non-alien-machine service information storage  24  for storing service information for the radio terminal  4  itself, a service information transmission unit  25  for transmitting the service information to any other radio terminal in accordance with a request therefrom, an application  26 , and a connection establishing unit  27 . In short, the radio terminal  4  of this embodiment is obtained by adding the connection establishing unit  27  to the structure of the radio terminal  3  of the embodiment (2-1) shown in FIG. 9.  
         [0121]    Each part of the radio terminal  4  of FIG. 15 basically has a function similar to that of a corresponding part shown in FIG. 2, 3 or  8 . Further, the application  26  is not limited to one directly operated by a user via an interface, but includes middleware. The connection establishing unit  27  establishes a connection for data transmission/reception with another terminal on the basis of the information stored in the alien-machine service information storage  22 . The transmission/reception unit  21  transmits and receives a request to transmit service information transmission request or service information, to and from any other radio terminal, and establishes a connection for data transmission/reception with any other radio terminal for data transmission/reception in accordance with a request from the connection establishing unit  27 .  
         [0122]    The configuration of FIG. 15 corresponds to the stacked structure of FIG. 1 in the following manner. The transmission/reception unit  21  corresponds to all layers not higher than the L2CAP layer in FIG. 1 (i.e.,  12 ,  111 ,  112 ), the service information transmission unit  25  and service information acquisition unit  23  correspond to the SDP layer ( 114 ), and the non-alien-machine  24  and alien-machine service information storages  22  correspond to the application layer ( 115 ).  
         [0123]    The operation of this embodiment will be described.  
         [0124]    A description will be given, referring, as a terminal A, to a radio terminal  4  that first issues a request to establish a connection for data transmission/reception, and referring, as a terminal B, to a radio terminal  4  that receives the request.  
         [0125]    In this embodiment, assume that when the application  26  of the terminal A establishes a connection for data transmission/reception with the application  26  of the terminal B for communication, the terminal A acquires service information from the terminal B using a certain procedure, for example, the same procedure as employed in the embodiment (2-1). This is because the identifier (MAC ID) of the terminal B and the server channel number contained in the service information of the terminal B are needed for the establishment of a connection for data transmission/reception with the terminal B. However, this embodiment differs from the embodiment (2-1) in that the terminal B does not supply the terminal A with a request to transmit the service information of the terminal A when having received, from the terminal A, a request to transmit the service information of the terminal B.  
         [0126]    [0126]FIG. 16 illustrates an operation procedure example of the terminal A in this embodiment, and FIG. 17 illustrates an operation procedure example of the terminal B in this embodiment.  
         [0127]    Firstly, after having acquired service information from the terminal B, the application  26  of the terminal A requests the connection establishing unit  27  to establish a connection for data transmission/reception with the terminal B, using, as parameters, the identifier of the terminal B and the server channel number contained in the alien-machine service information of the terminal B (step S 61 ). The request to establish a connection for data transmission/reception may include the type of service as another parameter, in addition to the device identifier and server channel number. Upon receiving the request to establish a connection for data transmission/reception, the connection establishing unit  27  of the terminal A transfers this request to the connection establishing unit  27  of the terminal B via the transmission/reception units  21  of the terminals A and B (step S 62 ).  
         [0128]    Upon receiving the request to establish a connection for data transmission/reception (step S 71 ), the connection establishing unit  27  of the terminal B returns a response to the request to the terminal A (step S 72 ), thereby completing the establishment of a connection for data transmission/reception with the terminal A. At this time, the connection establishing unit  27  of the terminal B supplies the application  26  of the terminal B with an event signal indicating that a connection for data transmission/reception with the terminal A has been established.  
         [0129]    Upon receiving the event signal, the application  26  of the terminal B requests the service information acquisition unit  23  to acquire, from the terminal A, service information concerning the type of service corresponding to the server channel number that is related to the above connection establishing request. The service information acquisition unit  23  of the terminal B supplies, via the transmission/reception unit  21 , the terminal A with a request to transmit service information containing the designated service type (step S 73 ). At this time, if no SDP connection is established with the terminal A, an SDP connection is superposed upon the already established connection with the terminal A.  
         [0130]    Upon receiving the service information transmission request (step S 63 ), the transmission/reception unit  21  of the terminal A transfers the request to the service information transmission unit  25 . The service information transmission unit  25 , in turn, refers to the non-alien-machine service information storage  24 , thereby determining whether or not the non-alien-machine service information table stores a service corresponding to the type of service requested by the service information transmission request. If the table stores the corresponding service, the name, server channel number, etc., of the service are acquired, thereby creating service information containing the name and/or server channel number corresponding to the requested type of service, or service information indicating that there is no corresponding service (step S 64 ). After that, the service information transmission unit  25  transmits the service information to the terminal B via the transmission/reception unit  21  (step S 65 ).  
         [0131]    Upon receiving the service information transmission request (step S 74 ), the transmission/reception unit  21  of the terminal B transfers the request to the service information acquisition unit  23 . The service information acquisition unit  23  stores the service information into the alien-machine service information table (step S 75 ).  
         [0132]    In the procedures shown in FIGS. 16 and 17, the connection establishing unit  27  of the terminal B generates an event signal when the establishment of a connection for data transmission/reception has been completed. However, this event signal may be generated at another point in time. For example, it may be generated when a request to establish a connection for data transmission/reception has been received.  
         [0133]    In the above processing, the terminal A establishes a connection for data transmission/reception with the terminal B to access the application  26  of the terminal B, and cuts the connection when communication with the application  26  of the terminal B has been completed. However, the connection may be maintained, even after the completion of communication, until the terminal B finishes acquisition of service information from the terminal A. Further, the connection may be continued a period of time after the completion of the acquisition of service information from the terminal B. This can avoid a case where the terminal B delays in processing an event signal indicative of the reception of a request to transmit service information, and the connection between the terminals A and B is cut by the terminal A before the application  26  of the terminal B instructs the service information acquisition unit  23  to acquire the service information from the terminal A.  
         [0134]    The radio terminal  3  of the embodiment may have the same function as that of the terminal A or B, or both of the functions.  
         [0135]    (Embodiment (3-2))  
         [0136]    The relationship between the embodiment (3-2) and the embodiment (3-1) is basically similar to that between the embodiment (2-2) and the embodiment (2-1).  
         [0137]    A radio terminal example according to the embodiment (3-2) is similar to that of the embodiment (3-1) shown in FIG. 15, and each part of the embodiment (3-2) has basically the same function as a corresponding part in the embodiment (3-1).  
         [0138]    Further, operations of the terminal A of the embodiment (3-2) is basically the same as that of the embodiment (3-1).  
         [0139]    In this embodiment, the points different from the embodiment (3-1) will be mainly described.  
         [0140]    In the terminal B of the embodiment (3-2), if service information has already been acquired from the terminal A, steps S 73 -S 75  are not executed.  
         [0141]    Specifically, like the embodiment (3-1), the terminal A establishes a connection for data transmission/reception with the terminal B after having acquired service information from the terminal B, and the connection establishing unit  27  of the terminal B supplies the application  26  of the terminal B with an event signal. In this embodiment, however, the application  26  refers, upon receiving the event signal, to the alien-machine service information table in the alien-machine service information storage  22 , thereby determining whether or not the table stores service information of the terminal A concerning the type of service corresponding to the server channel number that is related to a connection establishing request from the terminal A. If the table does not store the service information, the application  26  instructs the service information acquisition unit  23  to acquire service information from the terminal A. If the table already stores the service information, nothing is performed.  
         [0142]    If the terminal B does not execute the steps S 73  S 75 , the terminal A accordingly does not execute the steps S 63 -S 65 .  
         [0143]    In the above-described embodiment (3-2), if the terminal B has ever acquired service information from the terminal A, it does not request again the terminal A to transmit service information, as in the embodiment (2-2). Accordingly, also in this embodiment, useless communication in which the same service information is acquired again and again is avoided.  
         [0144]    Also in this embodiment, information can be updated using time information stored in the alien-machine service information table, as in the embodiment (2-2). In this case, the alien-machine service information table may be similar to that of the embodiment (2-2) shown in FIG. 12.  
         [0145]    The operation of updating information by the terminal B is substantially the same as that in the embodiment (2-2), except for the operation performed when the application  26  of the terminal B receives an event signal indicating that a connection for data transmission/reception has been established by the terminal A.  
         [0146]    [0146]FIG. 18 illustrates a procedure example performed in this case.  
         [0147]    Upon receiving the above-mentioned event signal (step S 81 ), the application  26  of the terminal B refers to the alien-machine service information table in the alien-machine service information storage  22 , thereby determining whether or not the table stores service information concerning the type of service corresponding to the server channel number that is related to the above-mentioned connection establishing request from the terminal A. If the table does not store this service information (step S 82 ), the application  26  instructs the service information acquisition unit  23  to acquire the service information from the terminal A (step S 84 ). Further, if the table stores the service information (step S 82 ), the acquisition time of the service information is compared with the present time. If the service information is determined to be old from the time comparison (step S 83 ), the application  26  instructs the service information acquisition unit  23  to acquire service information from the terminal A (step S 84 ). On the other hand, if the service information is determined not to be old (step S 84 ), nothing is executed.  
         [0148]    As a result, old service information can be appropriately updated, as in the embodiment (2-2).  
         [0149]    Further, as in the embodiment (2-2), the expiration time at which service information is determined old can be changed in accordance with the type of service. This enables useless communication to be reduced.  
         [0150]    (Embodiment (3-3))  
         [0151]    The relationship between the embodiment (3-3) and the embodiment (3-1) is basically similar to that between the embodiment (2-3) and the embodiment (2-1).  
         [0152]    A radio terminal example according to the embodiment (3-3) is similar to that of the embodiment (3-1) shown in FIG. 15, and each part of the embodiment (3-3) has basically the same function as a corresponding part in the embodiment (3-1).  
         [0153]    Further, operations of the terminal A of the embodiment (3-3) is basically the same as that of the terminal A of the embodiment (3-1).  
         [0154]    In this embodiment, the points different from the embodiment (3-1) will be mainly described.  
         [0155]    In the terminal B of the embodiment (3-3), it is determined from the type of service whether or not transmission of service information should be requested, and if it is not necessary to acquire service information, the steps S 73 -S 75  are not executed.  
         [0156]    Specifically, as in the embodiment (3-1), the terminal A establishes a connection for data transmission/reception with the terminal B after having acquired service information from the terminal B, and the connection establishing unit  27  of the terminal B supplies the application  26  of the terminal B with an event signal. In this embodiment, however, the application  26  determines, upon receiving the event signal, whether or not service information concerning the type of service corresponding to the server channel number that is related to a connection establishing request from the terminal A should be acquired from the terminal A. If it is determined that the service information should be acquired, the application  26  instructs the service information acquisition unit  23  to acquire the service information from the terminal A, as in the embodiment (2-1). If it is determined that the service information should not be acquired, nothing is performed.  
         [0157]    If the terminal B does not execute the steps S 73  S 75 , the terminal A accordingly does not execute the steps S 63 -S 65 .  
         [0158]    The manner of determination by the terminal B is substantially the same as in the embodiment (3-2) (e.g. FIG. 18), except for the operation performed when the application  26  of the terminal B receives an event signal indicating that a connection for data transmission/reception has been established by the terminal A.  
         [0159]    [0159]FIG. 19 illustrates a procedure example performed in this case.  
         [0160]    Upon receiving the above-mentioned event signal (step S 71 ), the application  26  of the terminal B refers to the alien-machine service information table in the alien-machine service information storage  22 , thereby determining whether or not the table stores service information concerning the type of service corresponding to the server channel number that is related to the above-mentioned connection establishing request from the terminal A. If the table stores this service information (step S 72 ), nothing is performed. If, on the other hand, the table does not store it (step S 72 ), the application  26  determines whether or not the service information concerning the type of service corresponding to the server channel number that is related to the connection establishing request from the terminal A should be acquired (step S 73 ). If it is determined that the service information should be acquired, the application  26  instructs the service information acquisition unit  23  to acquire the service information from the terminal A (step S 74 ). If it is determined that the service information should not be acquired, nothing is performed.  
         [0161]    As in the embodiment (2-3), the case where acquisition of service information from peripheral devices is needed is discriminated from the case where the acquisition is not needed, thereby enabling service information to be acquired only when necessary. As a result, no extra service information transmission and reception is performed, therefore communication lines can be used efficiently.  
         [0162]    As described above, the radio terminal of the embodiments can promptly acquire service information needed to establish a connection with another radio terminal.  
         [0163]    For example, when the radio terminal of the embodiments has detected establishment of a link between itself and another radio terminal, it acquires service information from the linked radio terminal. Thus, service information is promptly and reliably acquired.  
         [0164]    Further, in the embodiments, when a terminal A acquires service information from a terminal B, the terminal B acquires service information from the terminal A. Thus, both the terminals A and B can promptly acquire, from each other, service information needed to establish a connection for data transmission/reception.  
         [0165]    Furthermore, in the embodiments, when, for example, the terminal A establishes a connection for data transmission/reception with the terminal B, the terminal B acquires service information from the terminal A. Thus, the terminal B can promptly acquire the service information of the terminal A.  
         [0166]    The flow charts of the embodiments illustrate methods and systems according to the embodiments of the invention. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable apparatus to produce a machine, such that the instructions which execute on the computer or other programmable apparatus create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable apparatus to function in a particular manner, such that the instruction stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block of blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.  
         [0167]    Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.