U.S. patent application number 12/723406 was filed with the patent office on 2010-10-21 for electronic device and communication control method.
This patent application is currently assigned to KABUSHIKI KAISHA TOSHIBA. Invention is credited to Ayumi HASHIMOTO, Hideyuki NAKAGAWA, Satoshi ODAKURA, Hideki OHKITA.
Application Number | 20100267334 12/723406 |
Document ID | / |
Family ID | 42981358 |
Filed Date | 2010-10-21 |
United States Patent
Application |
20100267334 |
Kind Code |
A1 |
HASHIMOTO; Ayumi ; et
al. |
October 21, 2010 |
ELECTRONIC DEVICE AND COMMUNICATION CONTROL METHOD
Abstract
According to one embodiment, an electronic device includes a
communication module, a connection establishment module, a
negotiation module, a service execution module, and an execution
control module. The communication module executes close proximity
wireless transfer. The connection establishment module establishes
a connection between the communication module and an external
device which are in a close proximity state. The negotiation module
determines a service to be executed between the communication
module and the external device through a negotiation process when
the connection is established. The service execution module
executes the service. The execution control module executes the
negotiation process again in response to a user's request or a
request from the external device if the connection is kept after
the completion of the service.
Inventors: |
HASHIMOTO; Ayumi; (Ome-shi,
JP) ; OHKITA; Hideki; (Kunitachi-shi, JP) ;
NAKAGAWA; Hideyuki; (Koganei-shi, JP) ; ODAKURA;
Satoshi; (Kodaira-shi, JP) |
Correspondence
Address: |
PATTERSON & SHERIDAN, L.L.P.
3040 POST OAK BOULEVARD, SUITE 1500
HOUSTON
TX
77056
US
|
Assignee: |
KABUSHIKI KAISHA TOSHIBA
Tokyo
JP
|
Family ID: |
42981358 |
Appl. No.: |
12/723406 |
Filed: |
March 12, 2010 |
Current U.S.
Class: |
455/41.2 |
Current CPC
Class: |
H04M 1/72412 20210101;
H04W 76/14 20180201; H04L 69/24 20130101; H04L 67/04 20130101 |
Class at
Publication: |
455/41.2 |
International
Class: |
H04B 7/00 20060101
H04B007/00 |
Foreign Application Data
Date |
Code |
Application Number |
Apr 15, 2009 |
JP |
2009-099056 |
Claims
1. An electronic device comprising: a communication module
configured to execute close proximity wireless transfer; a
connection establishment module configured to establish a
connection between the communication module and an external device
which are in a close proximity state; a negotiation module
configured to determine a service to be executed between the
communication module and the external device through a negotiation
process when the connection is established; a service execution
module configured to execute the service; and an execution control
module configured to execute the negotiation process again in
response to a user's request or a request from the external device
if the connection is kept after the completion of the service.
2. The electronic device of claim 1, wherein the execution control
module is configured to wait for transmitting a start request of
the negotiation process until receiving the user's request, after
the completion of the service.
3. The electronic device of claim 1, further comprising a flag
setting module configured to set a flag indicative of the
completion if the execution of the service is completed and to
reset the flag in response to the user's request or the request
from the external device if the connection is established, wherein
the execution control module is configured to execute the
negotiation process again in response to the resetting of the
flag.
4. An electronic device comprising: a communication module
configured to execute close proximity wireless transfer; a
connection establishment module configured to establish a
connection between the communication module and an external device
which are in a close proximity state; a negotiation module
configured to execute a negotiation process including a process of
determining whether the external device is in a first mode in which
the external device transmits a service start request to a
communication target device or in a second mode in which the
external device receives a service start request from the
communication target device if the connection is established, a
process of receiving the service start request from the external
device set to the first mode, and a process of transmitting the
service start request to the external device set to the second mode
and determining a service to be executed between the communication
module and the external device; a service execution module
configured to execute the service; and an execution control module
configured to execute the negotiation process again in response to
a user's request or a request from the external device if the
connection is kept after the completion of the service.
5. The electronic device of claim 4, wherein the negotiation module
is configured to transmit the service start request to the external
device set to the second mode, to receive information indicative of
services that can be executed by the external device, and to
determine a service selected from the services to be executed
between the communication module and the external device and the
execution control module is configured to execute the negotiation
process again in response to a user's request or a request from the
external device if the connection is kept after the completion of
the service.
6. The electronic device of claim 4, wherein the negotiation module
is configured to receive a service start request from the external
device set to the first mode, to receive information indicative of
a service specified by the external device, and to determine the
service to be executed between the communication module and the
external device and the execution control module is configured to
execute the negotiation process again in response to a user's
request or a request from the external device if the connection is
kept after the completion of the service.
7. The electronic device of claim 4, wherein the negotiation module
is configured to transmit a service start request to the external
device in response to the user's request, and to determine a
service specified in the user's request to be executed between the
communication module and the external device, and the execution
control module is configured to execute the negotiation process
again in response to a user's request or a request from the
external device if the connection is kept after the completion of
the service.
8. The electronic device of claim 4, further comprising a flag
setting module configured to set a flag indicative of the
completion if the execution of the service is completed and to
reset the flag in response to the user's request or the request
from the external device if the connection is established, wherein
the execution control module is configured to execute the
negotiation process again in response to the resetting of the
flag.
9. A communication control method of controlling communication
between an external device and an electronic module comprising a
communication module executing close proximity wireless transfer,
the method comprising: establishing a connection between the
communication module and the external device which are in a close
proximity state; determining a service to be executed between the
communication module and the external device through a negotiation
process when the connection is established; executing the service;
and executing the negotiation process again in response to a user's
request or a request from the external device if the connection is
kept after the completion of the service.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is based upon and claims the benefit of
priority from Japanese Patent Application No. 2009-099056, filed
Apr. 15, 2009, the entire contents of which are incorporated herein
by reference.
BACKGROUND
[0002] 1. Field
[0003] One embodiment of the invention relates to an electronic
device communicating according to a close proximity wireless
transfer scheme and a communication control method applied to the
electronic device.
[0004] 2. Description of the Related Art
[0005] In recent years, wireless communication such as NFC has come
into use for IC cards, mobile phones, and the like. A user can
easily carry out communication for an authentication process,
billing and settlement process, and the like, simply by performing
an operation of holding the IC card or mobile phone over a
reader/writer module of a host apparatus.
[0006] Jpn. Pat. Appln. KOKAI Publication No. 2008-104088 discloses
a wireless communication device managing communication such that if
applications utilizing short-distance wireless communication are
simultaneously executed, the applications can utilize the
short-distance wireless communication without being terminated to
release communication resources.
[0007] For the close proximity wireless transfer scheme, there is a
demand to allow execution of a service to be automatically started
simply by bringing the devices close to each other. If the
execution of a service is started by bringing the devices close to
each other, then for example, simply bringing a mobile phone close
to a personal computer allows implementation of the function of
synchronously backing up data stored in the mobile phone to the
personal computer. That is, when it is detected that the devices
are in a close proximity state, a service can be automatically
executed through negotiation.
[0008] However, after the execution of the service is completed, if
the service is automatically executed again while the devices are
left in the close proximity state, the service unexpected by the
user may be executed. Furthermore, when the unexpected service is
executed, the user has to perform an operation to stop the service.
The operation is inconvenient for the user.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0009] A general architecture that implements the various feature
of the invention will now be described with reference to the
drawings. The drawings and the associated descriptions are provided
to illustrate embodiments of the invention and not to limit the
scope of the invention.
[0010] FIG. 1 is an exemplary block diagram showing the system
configuration of an electronic device according to an embodiment of
the present invention;
[0011] FIG. 2 is an exemplary diagram showing an example of a
software architecture controlling close proximity wireless transfer
and applied to the electronic device according to the
embodiment;
[0012] FIG. 3 is an exemplary block diagram showing an example of
the configuration of a protocol conversion layer in the software
architecture in FIG. 2;
[0013] FIG. 4 is an exemplary perspective view showing the
appearance of the electronic device according to the
embodiment;
[0014] FIG. 5 is an exemplary diagram showing an example of close
proximity wireless transfer performed between the electronic device
according to the embodiment and an external device;
[0015] FIG. 6 is an exemplary sequence diagram showing an example
of the close proximity wireless transfer between the devices;
[0016] FIG. 7 is an exemplary sequence diagram showing another
example of the close proximity wireless transfer between the
devices;
[0017] FIG. 8 is an exemplary diagram showing an example of close
proximity wireless transfer performed between the electronic device
of the embodiment and an external device;
[0018] FIG. 9 is an exemplary diagram showing another example of
the close proximity wireless transfer performed between the
electronic device of the embodiment and the external device;
[0019] FIG. 10 is an exemplary diagram showing yet another example
of the close proximity wireless transfer performed between the
electronic device of the embodiment and the external device;
[0020] FIG. 11 is an exemplary diagram showing still another
example of the close proximity wireless transfer performed between
the electronic device of the embodiment and the external
device;
[0021] FIG. 12 is an exemplary state transition diagram showing an
example of the state transition of the close proximity wireless
transfer by the electronic device of the embodiment;
[0022] FIG. 13 is an exemplary diagram illustrating a service
provided between the electronic device of the embodiment and the
external device;
[0023] FIG. 14 is an exemplary flowchart showing the procedure of a
close proximity wireless transfer process executed by a device
communicating according to a close proximity wireless transfer
scheme; and
[0024] FIG. 15 is an exemplary flowchart showing the procedure of a
close proximity wireless transfer process executed by the
electronic device according to the embodiment.
DETAILED DESCRIPTION
[0025] Various embodiments according to the invention will be
described hereinafter with reference to the accompanying drawings.
In general, according to one embodiment of the invention, there is
provided an electronic device comprising: a communication module
configured to execute close proximity wireless transfer; a
connection establishment module configured to establish a
connection between the communication module and an external device
which are in a close proximity state; anegotiation module
configured to determine a service to be executed between the
communication module and the external device through a negotiation
process when the connection is established; a service execution
module configured to execute the service; and an execution control
module configured to execute the negotiation process again in
response to a user's request or a request from the external device
if the connection is kept after the completion of the service.
[0026] FIG. 1 shows the configuration of an electronic device
according to an embodiment of the present invention. The electronic
device 10 is implemented as, for example, a portable device (for
example, a mobile phone, PDA, or audio player), a personal
computer, or a consumer device (for example, a TV or video
recorder). The electronic device 10 includes a system controller
101, a ROM 102, a RAM 103, a close proximity wireless transfer
device 104, a power supply controller 105, an AC adapter 106, and a
battery 107.
[0027] The system controller 101 controls the operation of each
module in the electronic device 10. The system controller 101
includes a CPU 101a and is connected to the ROM 102, RAM 103, close
proximity wireless transfer device 104, and power supply controller
105.
[0028] The CPU 101a is a processor loading commands and data in the
ROM 102 to execute required processing. A close proximity wireless
transfer control program 103a is loaded into the RAM 103 to control
close proximity wireless transfer. The CPU 101a executes the close
proximity wireless transfer control program 103a loaded into the
RAM 103 to control the close proximity wireless transfer device
104.
[0029] The close proximity wireless transfer device 104 is a
communication module performing close proximity wireless transfer.
The close proximity wireless transfer device 104 establishes a
wireless connection with another device (external device) which is
present within a predetermined distance with respect to the close
proximity wireless transfer device 104 and which has a close
proximity wireless transfer function. The close proximity wireless
transfer between the close proximity wireless transfer device 104
and the external device is of a peer-to-peer type. A communicable
distance is, for example, 3 cm. A wireless connection can be
established between the close proximity wireless transfer device
104 and the external device only when the close proximity wireless
transfer device and the external device are in a close proximity
state, that is, when the distance between the close proximity
wireless transfer device 104 and the external device is at most the
communicable distance (for example, 3 cm). When the close proximity
wireless transfer device 104 and the external device are located
within the communicable distance, a wireless connection is
established between the close proximity wireless transfer device
104 and the external device. Then, for example, data such as a file
specified by the user or a synchronization target file is
transmitted between the close proximity wireless transfer device
104 and the external device.
[0030] Close proximity wireless communication uses induction
electric field. For example, TransferJet is a close proximity
wireless transfer scheme utilizing UWB to allow data to be
transferred at high speed.
[0031] The close proximity wireless transfer device 104 is
connected to an antenna 104a. The antenna 104a is an electrode
called a coupler that transmits data to and receives data from the
external device via wireless signals using induction electric
field. When the external device is located within the communicable
distance (for example, 3 cm) of the antenna 104a, the antenna
(coupler) of the close proximity wireless transfer device 104 and
the external device are coupled via induction electric field. Thus,
wireless communication can be established between the close
proximity wireless transfer device 104 and the external device. The
close proximity wireless transfer device 104 and the antenna 104a
can be implemented as one module.
[0032] The power supply controller 105 supplies each module in the
electronic device 10 with power supplied externally via an AC
adapter 106 or power from a battery 107. In other words, the
electronic device 10 is driven by an external power source such as
an AC commercial power supply or the battery 107. The AC adapter
106 can be provided in the electronic device 10.
[0033] Now, a software architecture controlling close proximity
wireless transfer executed using the close proximity wireless
transfer device 104 will be described with reference to FIG. 2.
[0034] The software architecture shown in FIG. 2 corresponds to the
layered structure of a protocol stack controlling close proximity
wireless transfer. The protocol stack is composed of a physical
layer (PHY) 20, a connection layer (CNL) 30, a protocol conversion
layer (PCL) 40, and an application layer 50. For example, the CNL
30, PCL 40, and application layer 50 can be implemented by a
communication control program 103a.
[0035] The PHY 20 controls physical data transfer and corresponds
to the physical layer in the OSI reference model. Some or all of
the functions of the PHY 20 can also be implemented using hardware
in the close proximity wireless transfer device 104.
[0036] The PHY 20 converts data from the CNL 30 into a wireless
signal. The CNL 30 corresponds to the data link layer, the network
layer and the transport layer in the OSI reference model. The CNL
30 controls the PHY 20 to allow data to be communicated. In
response to a connection request from the PCL 40 or a connection
request from the external device, the CNL 30 executes a process for
establishing a connection (CNL connection) between the close
proximity wireless transfer device 104 and external device arranged
in a close proximity state.
[0037] The PCL 40 corresponds to the session layer and the
presentation layer in the OSI reference model. The PCL 40 is
positioned between the application layer 50 and the CNL 30
controlling establishment and termination of the connection between
devices A and B. The PCL 40 controls each application
(communication program) in the application layer 50 and the CNL
30.
[0038] More specifically, the PCL 40 executes a conversion process
for converting data (user data) corresponding to an application
protocol (for example, SCSI, OBEX, or another general-purpose
protocol) handled by each communication program in the application
layer 50, into a particular transmission data format. The
conversion process enables data transmitted or received by any
communication program to be converted into packets (data in the
particular transmission data format) that can be handled by the CNL
30. The PCL 40 enables various application protocols to be utilized
for close proximity wireless transfer.
[0039] Furthermore, the PCL 40, for example, executes a process of
transmitting/receiving service information (information indicating
services that can be executed by each device) and session
information (information on sessions to be established or
terminated) to/from a communication target device, starts an
application, and manages connections and sessions.
[0040] The application layer 50 includes communication programs
(applications) corresponding to several application protocols such
as SCSI, OBEX, and other general-purpose protocols. Each
application executes a process of requesting the PCL 40 to start
and end a session, and a process of transmitting and receiving data
to and from the PCL 40.
[0041] Furthermore, the PCL 40 includes, for example, a mode
monitoring module 41, a connection monitoring module 42, a mode
monitoring database 43, and a connection monitoring database
44.
[0042] The connection monitoring module 42 monitors the connection
(CNL connection) between the electronic device 10 and external
device arranged in a close proximity state. As described above, in
response to a connection request from the PCL 40 or a connection
request from the external device, the CNL 30 executes the process
for establishing a connection between the electronic device 10 and
external device arranged in the close proximity state. Furthermore,
the connection between the electronic device 10 and the external
device is terminated in response to cancellation of the close
proximity state by the user's request for disconnection or
separation of the electronic device 10 from the external device.
The connection monitoring module 42 monitors the establishment and
termination of the connection. The connection monitoring module 42
stores information indicating that the electronic device 10 and the
external device are connected or disconnected to or from, in the
connection monitoring database 44.
[0043] The mode monitoring module 41 monitors a mode set for the
PCL 40. One of proactive mode, reactive mode, and flexible mode is
set for the PCL 40.
[0044] In proactive mode, the electronic device 10 transmits a
service start request to the external device. The device set to
proactive mode functions as a master, and can control the
communication target device to allow a service such as the data
transfer between the devices to be executed. In reactive mode, the
electronic device 10 receives a service start request transmitted
by the external device. The device set to reactive mode functions
as a slave and can perform such as the data transfer between the
devices under the control of the communication target device.
[0045] A default mode for a portable device such as a mobile phone
that cannot be driven by an external power source is set to
reactive mode in order to reduce power consumption. When the user
executes an application on the portable device, the portable device
automatically changes from reactive mode to proactive mode.
[0046] The device set to proactive mode transmits a connection
request signal. On the other hand, the device in reactive mode does
not request any connection request signal and thus consumes
relatively little power.
[0047] Flexible mode changes to proactive mode or reactive mode
depending on the mode (proactive or reactive) set for the external
device arranged in a close proximity state with the electronic
device 10. Through negotiation with the external device arranged in
the close proximity state, the electronic device 10 set to flexible
mode changes to reactive mode if the external device is in
proactive mode. If the external device is in reactive mode, the
electronic device 10 changes to proactive mode. That is, the
electronic device 10 set to flexible mode switchably functions as
the master or the slave depending on the mode set for the
communication target device. The change to proactive mode or
reactive mode is carried out, for example, after a connection is
established between the devices.
[0048] The default mode set for a device such as a personal
computer which can be driven by an external power source such as an
AC adapter power source is flexible mode. The device set to
flexible mode transmits a connection request signal. Thus, even if
the user places a mobile phone in proximity with respect to a
personal computer (device in flexible mode) without executing any
application in the mobile phone, a connection can be established
between the devices. Thus, under the control of the personal
computer, a service such as transfer of a data file can be provided
to the user.
[0049] If a service is executed between the device set to proactive
mode (device changed to proactive mode) and the device set to
reactive mode (device changed to reactive mode), a service
specified by the device set to proactive mode is executed between
the two devices. When the execution of the service is completed,
the device changed from reactive mode to proactive mode returns to
reactive mode. The device changed from flexible mode to proactive
mode or the device changed from flexible mode to reactive mode
returns to flexible mode, when the execution of the service is
completed.
[0050] The mode monitoring module 41 stores information indicating
the current mode of the PCL 40, in the mode monitoring database 43.
Thus, if the PCL 40 of the electronic device 10 changes to
proactive mode or reactive mode through negotiation with the
external device arranged in the close proximity state, the mode
monitoring database 43 is updated with information indicating one
of the modes to which the PCL 40 has changed.
[0051] PCL 40 monitors the connection (CNL connection) between the
electronic device 10 and the external device and the mode set for
the PCL 40, and controls each application (communication program)
in the application layer 50 and the CNL 30.
[0052] FIG. 3 is a block diagram showing an example of the
functional configuration of the close proximity wireless transfer
device control program 103a implementing the functions of the PCL
40 described above.
[0053] As shown in FIG. 3, the close proximity wireless transfer
control program 103a includes a control module 401, a CNL
connection monitoring module 402, a negotiation processing module
403, a mode control module 404, a service processing module 405,
and a standby processing module 406. The close proximity wireless
transfer control program 103a is connected to a database 410. The
database 410 is a storage device for a CNL connection status 410a
that is information indicative of the connection status between the
electronic device 10 and the external device, and a connection mode
410b that is information indicative of the connection mode set for
the PCL 40 of the electronic device 10 and the connection mode set
for the PCL of the external device.
[0054] The control module 410 controls the sequence of
communication between the electronic device 10 and the external
device. That is, the control module 401 controls each module in the
close proximity wireless transfer control program 103a in response
to requests or notifications from an application module 501
corresponding to the application layer 50 and the data
communication module 201 corresponding to the CNL 30 and the PHY
20.
[0055] The CNL connection monitoring module 402 monitors the
connection (CNL connection) between the electronic device 10 and
the external device established by the CNL 30. When the CNL 30
establishes a connection between the close proximity wireless
transfer device 104 and the external device, the CNL connection
monitoring module 402 stores, in the CNL connection status 410a in
the database 410, information indicating that a CNL connection has
been established. Furthermore, when the connection between the
electronic device 10 and the external device established by the CNL
30 is terminated, the CNL connection monitoring module 402 stores,
in the CNL connection status 410a in the database 410, information
indicating that the CNL connection has been terminated.
[0056] The CNL connection monitoring module 402 notifies the
establishment or termination of the CNL connection to each module
of the close proximity wireless transfer control program 103a. If
the termination of the CNL connection is notified, the negotiation
processing module 403, the mode control module 404, the service
processing module 405, and the standby processing module 406
interrupt processing in execution. In other words, the negotiation
processing module 403, the mode control module 404, the service
processing module 405, and the standby processing module 406
execute processing while the CNL connection is active.
[0057] Upon receiving a notification indicating that the CNL
connection has been established, from the CNL connection monitoring
module 402, the negotiation processing module 403 executes a
negotiation process. The negotiation processing module 403, for
example, arbitrates the mode to be set for the PCL 40, determines a
service to be executed between the devices, and synchronizes the
service as a negotiation process.
[0058] In the arbitration of the mode set for the PCL 40, the
negotiation processing module 403 determines the mode to be set for
the PCL 40 of the electronic device 10 depending on the mode set
for the communication target device. As described above, one of
proactive mode, reactive mode, and flexible mode is set for the PCL
40. Furthermore, when a service is executed between the two
devices, one of the devices has to be set to proactive mode in
which the device transmits a service start request to the
communication target device. The other device has to be set to
reactive mode in which the device receives and responds to the
service start request.
[0059] If the PCL 40 of the electronic device is set to proactive
mode and the PCL 40 of the communication target device is set to
reactive mode or if the PCL 40 of the electronic device is set to
reactive mode and the PCL 40 of the communication target device is
set to proactive mode, the negotiation processing module 403 does
not change the mode to be set for the PCL 40.
[0060] If the PCL 40 of the electronic device is set to flexible
mode, the negotiation processing module 403 selects either
proactive mode or reactive mode depending on the mode set for the
PCL 40 of the communication target device. That is, if the PCL 40
of the communication target device is set to proactive mode, the
negotiation processing module 403 selects reactive mode as the one
to be set for the PCL 40 of the electronic device. Furthermore, if
the PCL 40 of the communication target device is set to reactive
mode, the negotiation processing module 403 selects proactive mode
as the one to be set for the PCL 40 of the electronic device. The
negotiation processing module 403 notifies the mode control module
404 of the selected mode.
[0061] The mode control module 404 controls the mode set for the
PCL 40 in cooperation with the negotiation processing module 403.
The mode control module 404 sets the mode determined by the
negotiation processing module 403, for the PCL 40.
[0062] Information indicative of the mode set for the PCL 40 of the
electronic device and the mode set for the PCL 40 of the
communication target device is stored in the connection mode 410b
of the database 410.
[0063] In determining the service to be executed between the
devices, the negotiation processing module 403 determines the
service specified by the device for which the PCL 40 has been set
to proactive mode as the service to be executed between the
devices. Thus, if the PCL 40 of the communication target device is
set to proactive mode, the negotiation processing module 403
determines the service specified by the communication target device
as the service to be executed between the devices. Furthermore, if
PCL 40 of the electronic device is set to proactive mode, the
negotiation processing module 403 determines the service
corresponding to the application specified by the user or a
predetermined service as the service to be executed between the
devices.
[0064] In the synchronization of the service, the negotiation
processing module 403 executes a synchronization process for
starting the service between the devices.
[0065] After the negotiation processing module 403 synchronizes
(starts) the service, the service processing module 405 executes
processing corresponding to the service determined by the
negotiation processing module 403. The service processing module
405 appropriately controls the data communication module 201 and
the application module 501 to allow the processing to be
executed.
[0066] The standby processing module 406 executes a standby process
from the completion of processing by the service processing module
403 until a start request for a new service is received. For
example, upon receiving a service start request from the
communication target device or if the user inputs a service start
request, the standby processing module 406 ends the standby
process. In response to the end of the standby process by the
standby processing module 406, the negotiation processing module
403 starts a negotiation process again. That is, the standby
processing module 406 does not request the negotiation processing
module 403 to start a negotiation process from the completion of
processing by the service processing module 405 until a service
start request is received from the communication target device or
from the completion of processing by the service processing module
405 until the user inputs a service start request. In other words,
the standby processing module 406 waits for requesting the
negotiation processing module 403 to start the negotiation process
until receiving the service start request.
[0067] The application module 501 manages a plurality of
applications (communication programs) transmitting and receiving
data using close proximity wireless transfer. The application
module 501 executes a process of notifying the close proximity
wireless transfer control program 103a of a session start/end
request from an application, and a process of controlling the close
proximity wireless transfer control program 103a. The application
is a communication program corresponding to an application protocol
such as SCSI, OBEX, or any other general-purpose protocol.
[0068] Now, with reference to FIG. 4, an example of the appearance
of the electronic device 10 will be described on the assumption
that the electronic device 10 is implemented as a portable personal
computer.
[0069] FIG. 4 is a perspective view showing the appearance of the
electronic device 10.
[0070] The electronic device 10 includes a main body 11 and a
display unit 12. The display unit 12 is attached to the main body
11 so as to be pivotal between an open position where the top
surface of the main body 11 is exposed and a closed position where
the top surface of the main body 11 is covered by the display unit
12. An LCD 15 is included in the display unit 12.
[0071] The main body 11 has a thin box-shaped housing. A keyboard,
a touchpad, a speaker, a power supply switch, and the like are
arranged on the top surface of the housing of the main body 11.
[0072] The top surface of the main body 11, specifically, a part of
the palm rest area on the top surface of the main body 11,
functions as a communication surface. That is, the close proximity
wireless transfer device 104 and the antenna (coupler) 104a are
included in the main body 11 so as to be opposed to the top surface
of the main body 11. The antenna (coupler) 104a is disposed so as
to output a radio signal (induction electric field) to the outside
via the top surface of the main body 11 (specifically, a part of
the palm rest area on the top surface of the main body 11). A small
area on the top surface of the main body 11 opposed to the antenna
(coupler) 104a, that is, a small area on the top surface of the
main body 11 located on the upper side of the antenna (coupler)
104a, is used as a communication position. The close proximity
wireless transfer device 104 executes close proximity wireless
transfer with the external device located within a predetermined
range of communication (e.g. 3 cm) from the communication position
on the top surface of the main body 11, via the top surface of the
main body 11.
[0073] The user can start data transfer between the external device
and the electronic apparatus 10 by performing, for example, an
operation (also referred to as "touch operation") of bringing the
external device having the close proximity wireless transfer
function over the communication position on the top surface of the
main body 11.
[0074] FIG. 5 illustrates close proximity wireless transfer
executed between a mobile phone 70 and the electronic apparatus 10.
An antenna (coupler) 70a for close proximity wireless transfer is
provided within the housing of the mobile phone 70 so as to be
opposed to the back surface of the housing. In this case, data
transfer between the mobile phone 70 and electronic apparatus 10
can be started by bringing the back surface of the housing of the
mobile phone 70 over the communication position on the top surface
of the main body 11 (also referred to as "touch operation"). The
connection between the mobile phone 70 and the electronic device 10
is executed in response to a trigger of bringing the mobile phone
70 and the electronic device 10 close to each other.
[0075] FIG. 6 is a sequence diagram showing an example of the close
proximity wireless transfer between the devices. Here, it is
assumed that device A set to proactive mode transmits a service
start request to device B set to flexible mode. In the initial
state, device A is set to reactive mode, and device B is set to
flexible mode.
[0076] First, the user selects, on device A, an application program
for close proximity wireless transfer. The user then brings device
A close to device B (touch operation) to arrange devices A and B in
a close proximity state (S101). Device A for which the application
program has been selected changes from reactive mode, in which a
service start request is received from the external device, to
proactive mode, in which a service start request is transmitted to
the external device.
[0077] Then, devices A and B execute a process (authentication
process) required to establish a connection (CNL connection)
between devices A and B (S102). For example, device A transmits a
connection request. Upon receiving the connection request, device B
transmits a response to the connection request, to device A. The
above-described processing allows a connection to be established
between device A and device B.
[0078] Devices A and B between which the connection has been
established execute a negotiation process (S103). Devices A and B
perform mode arbitration (S103a), service negotiation (S103b), and
service synchronization (S103c) as a negotiation process.
[0079] Specifically, device B set to flexible mode performs mode
arbitration to change the mode of device B according to the mode
set for device A of the communication target device (S103a). Here,
since device A is set to proactive mode, device B changes from
flexible mode to reactive mode. Then, devices A and B perform
service negotiation to determine a service to be executed between
devices A and B (S103b). Here, the service specified by device A
set to proactive mode, that is, the service corresponding to the
application program selected by the user, is determined to be
executed between devices A and B. Furthermore, devices A and B
perform service synchronization in order to execute the determined
service (S103c). Thus, the execution of the service is started
between devices A and B.
[0080] When the above-described negotiation process is completed,
the service is executed between devices A and B to perform
communication such as transmission and reception of data (S104).
When the execution of the service is completed, device A changes
from proactive mode to reactive mode. Device B changes from
reactive mode to flexible mode. Furthermore, devices A and B are
disconnected from each other.
[0081] If devices A and B remain in the close proximity state after
the disconnection, devices A and B execute an authentication
process again (S105). When the connection between devices A and B
is established through the authentication process, devices A and B
execute a negotiation process (S106). The negotiation process is
executed similarly to that carried out between S103a and S103c.
[0082] First, since device A is set to reactive mode, device B set
to flexible mode changes from flexible mode to proactive mode.
Then, devices A and B perform service negotiation to determine a
service to be executed between devices A and B. Specifically,
device B receives information indicative of services that can be
provided by device A, from device A. Device B presents the user
with a list of the services. The user selects a service to be
utilized from the service list presented on device B. Device B
transmits information indicative of the selected service to device
A. Thus, the service selected by the user is determined to be
executed between devices A and B. The service to be executed
between devices A and B may be predetermined. Devices A and B
perform service synchronization to start the execution of the
determined service (S107).
[0083] As described above, if one of the connected devices is set
to flexible mode, the service determined by the negotiation is
executed. When the execution of the service is completed and the
devices are disconnected from each other, a connection is
established between the devices again, for example, after a
predetermined time has elapsed. Furthermore, a negotiation process
is executed again, and the execution of a new service is started
without the user's instruction to start the new service.
[0084] FIG. 7 is a sequence diagram showing another example of the
close proximity wireless transfer between the devices. Here, it is
assumed that device B set to flexible mode transmits a service
start request to device A set to reactive mode. In the initial
state, device A is set to reactive mode, and device B is set to
flexible mode.
[0085] First, the user brings device A close to device B (touch
operation) to arrange devices A and B in a close proximity state
(S201). Then, devices A and B execute a process (authentication
process) required to establish a connection (CNL connection)
between devices A and B (S202). For example, device B transmits a
connection request. Upon receiving the connection request, device A
transmits a response to the connection request, to device B. The
above-described processing allows a connection to be established
between device A and device B.
[0086] Devices A and B between which the connection has been
established execute a negotiation process (S203). Devices A and B
perform mode arbitration (S203a), service negotiation (S203b), and
service synchronization (S203c) as a negotiation process.
[0087] Specifically, device B set to flexible mode performs mode
arbitration to change the mode of device B according to the mode
set for device A of the communication target device (S203a). Here,
since device A is set to reactive mode, device B changes from
flexible mode to proactive mode. Then, devices A and B perform
service negotiation to determine a service to be executed between
devices A and B (S203b).
Specifically, device B requests device A to transmit information
indicative of services that can be provided by device A.
[0088] Device B presents the user with a list of the services. The
user selects a service to be utilized from the presented service
list. Thus, the service selected by the user is determined to be
executed between devices A and B. The service to be executed
between devices A and B may be predetermined. Then, devices A and B
perform service synchronization to start the execution of the
determined service (S203c). Thus, the execution of the service is
started between devices A and B.
[0089] When the above-described negotiation process is completed,
the service is executed between devices A and B to perform
communication such as transmission and reception of data (S204).
When the execution of the service is completed, device B changes
from proactive mode to flexible mode. Furthermore, devices A and B
are disconnected from each other.
[0090] If devices A and B remain in the close proximity state after
the disconnection, devices A and B execute an authentication
process again (S205). When the connection between devices A and B
is established through the authentication process, devices A and B
execute a negotiation process (S206). The negotiation process is
executed similarly to that between S203a and S203c. Then, the
service determined by the negotiation process is executed between
devices A and B (S207).
[0091] As is the case with the sequence diagram shown in FIG. 6, if
one of the connected devices is set to flexible mode, the service
determined by the negotiation is executed. When the execution of
the service is completed and the devices are disconnected from each
other, a connection is established between the devices again, for
example, after a predetermined time has elapsed. Furthermore, a
negotiation process is executed again, and the execution of a new
service is started without the user's instruction to start the new
service.
[0092] In the sequence diagrams shown in FIGS. 6 and 7, if one of
the devices to be connected is set to flexible mode, the user can
start execution of a service between devices A and B simply by
placing device A close to device B. That is, arranging devices A
and B in a close proximity state allows an authentication process
and a negotiation process to be automatically executed between the
devices. Thus, the execution of the service can be started between
the devices.
[0093] If the execution of a service is automatically started as
described above, time and effort required for the user's operation
can be avoided. However, the execution of a service may also be
started when the devices are simply left in the close proximity
state. Thus, a service unexpected by the user may be executed. For
example, after a service corresponding to an application specified
by the user is executed between the devices arranged in the close
proximity state, the execution of a new service may be started
between the devices left in the close proximity state. In another
case, a service list prompting the user to start a new service may
be presented to the user. In this case, the user has to perform an
operation of stopping the started execution of the new service.
This operation is inconvenient for the user. Thus, the devices have
to be controlled such that the execution of a service is started
only when the user issues a service start request.
[0094] FIGS. 8 to 11 are sequence diagrams showing examples of the
close proximity wireless transfer between the electronic device 10
and the external device. The electronic device 10 according to the
present embodiment controls the close proximity wireless transfer
device 104 so that the execution of a service is started when the
user issues a service start request.
[0095] FIG. 8 is a sequence diagram showing that communication is
disconnected after one service executed between the devices has
been completed. Here, it is assumed that device A set to proactive
mode transmits a service start request to device B set to flexible
mode. In the initial state, device A is set to reactive mode, and
device B is set to flexible mode. Furthermore, in device B, the
communication completion flag indicating that the execution of a
service between the devices has been completed is cleared (reset
state).
[0096] First, the user selects, on device A, an application program
for close proximity wireless transfer. The user then brings device
A close to device B (touch operation) to arrange devices A and B in
a close proximity state (S301). Device A for which the application
program has been selected changes from reactive mode, in which a
service start request is received from the external device, to
proactive mode, in which a service start request is transmitted to
the external device.
[0097] Then, devices A and B execute a process (authentication
process) required to establish a connection (CNL connection)
between devices A and B (S302). For example, device A transmits a
connection request. Upon receiving the connection request, device B
transmits a response to the connection request, to device A. The
above-described processing allows a connection to be established
between device A and device B.
[0098] Devices A and B between which the connection has been
established execute a negotiation process (S303). In the
negotiation process, devices A and B perform mode arbitration,
service negotiation, and service synchronization as is the case
with the processing between S103a and S103c in FIG. 6.
[0099] Specifically, device B set to flexible mode performs mode
arbitration so as to change the mode of device B according to the
mode set for device A of the communication target device. Here,
since device A is set to proactive mode, device B changes from
flexible mode to reactive mode. Then, devices A and B perform
service negotiation so as to determine a service to be executed
between devices A and B. Here, the service specified by device A
set to proactive mode, that is, the service corresponding to the
application program selected by the user, is determined to be
executed between devices A and B. Furthermore, devices A and B
perform service synchronization in order to execute the determined
service. Thus, the execution of the service is started between
devices A and B.
[0100] When the above-described negotiation process is completed,
the service is executed between devices A and B to perform
communication such as transmission and reception of data (S304).
When the execution of the service is completed, device A changes
from proactive mode to reactive mode. Device B changes from
reactive mode to flexible mode. Furthermore, device B sets the
communication completion flag indicating that the execution of the
service has been completed (flag set). The connection (CNL
connection) between devices A and B is maintained.
[0101] While the communication completion flag is set, device B
executes a standby process of waiting for processing that allows
the execution of a new service to be started. In other words, while
the communication completion flag is set, device B is in the wait
state in which device B waits for the execution of a new service to
be started.
[0102] If devices A and B are separated from each other so that
they are no longer in the close proximity state, devices A and B
are disconnected from each other. In response to the disconnection
between devices A and B, device B clears the communication
completion flag.
[0103] According to the above-described processing, the execution
of an unexpected service can be prevented from being started from
the completion of execution of a service between the devices until
the devices are separated from each other (the devices are no
longer in the close proximity state).
[0104] FIG. 9 is another sequence diagram showing that
communication is disconnected after one service executed between
the devices has been completed. Here, it is assumed that device B
set to flexible mode transmits a service start request to device A
set to reactive mode. In the initial state, device A is set to
reactive mode, and device B is set to flexible mode. Furthermore,
in device B, the communication completion flag indicating that the
execution of a service between the devices has been completed is
cleared.
[0105] First, the user places device A close to device B (touch
operation) to arrange devices A and B in a close proximity state
(S401). Then, devices A and B execute a process (authentication
process) required to establish a connection (CNL connection)
between devices A and B (S402). For example, device B transmits a
connection request. Upon receiving the connection request, device A
transmits a response to the connection request, to device B. The
above-described processing allows a connection to be established
between device A and device B.
[0106] Devices A and B between which the connection has been
established execute a negotiation process (S403). In the
negotiation process, devices A and B perform mode arbitration,
service negotiation, and service synchronization as is the case
with the processing between S203a and S203c in FIG. 7.
[0107] Specifically, device B set to flexible mode performs mode
arbitration to change the mode of device B according to the mode
set for device A of the communication target device. Here, since
device A is set to reactive mode, device B changes from flexible
mode to proactive mode. Then, devices A and B perform service
negotiation to determine a service to be executed between devices A
and B. Specifically, device B requests device A to transmit
information indicative of services that can be provided by device
A. Upon receiving the information indicative of the services that
can be provided by device A, device B presents the user with a list
of the services. The user selects a service to be utilized from the
presented service list. Thus, the service to be executed between
devices A and B is determined. The service to be executed between
devices A and B may be predetermined. Then, devices A and B perform
service synchronization to start the execution of the determined
service. Thus, the execution of the service is started between
devices A and B.
[0108] When the above-described negotiation process is completed,
the service is executed between devices A and B to perform
communication such as transmission and reception of data (S404).
When the execution of the service is completed, device B changes
from proactive mode to flexible mode. Furthermore, device B sets
the communication completion flag indicating that the execution of
the service has been completed. Devices A and B remain connected
together (CNL connection).
[0109] While the communication completion flag is set, device B
executes a standby process of waiting for processing that allows
the execution of a new service to be started. In other words, while
the communication completion flag is set, device B is in the wait
state in which device B waits for the execution of a new service to
be started.
[0110] If devices A and B are separated from each other so that
they are no longer in the close proximity state, devices A and B
are disconnected from each other. In response to the disconnection
between devices A and B, device B clears the communication
completion flag.
[0111] According to the above-described processing, the execution
of an unexpected service can be prevented from being started from
the completion of execution of a service between the devices until
the devices are separated from each other (the devices are no
longer in the close proximity state).
[0112] FIG. 10 is a sequence diagram showing that after one service
executed between the devices is completed, a new service is
provided in response to the user's request. Here, it is assumed
that device B set to flexible mode transmits a service start
request to device A set to reactive mode. In the initial state,
device A is set to reactive mode, and device B is set to flexible
mode. Furthermore, in device B, the communication completion flag
indicating that the execution of a service between the devices has
been completed is cleared.
[0113] First, the user places device A close to device B (touch
operation) to arrange devices A and B in a close proximity state
(S501). Then, devices A and B execute a process (authentication
process) required to establish a connection (CNL connection)
between devices A and B (S502). For example, device B transmits a
connection request. Upon receiving the connection request, device A
transmits a response to the connection request, to device B. The
above-described processing allows a connection to be established
between device A and device B.
[0114] Devices A and B between which the connection has been
established execute a negotiation process (S503). In the
negotiation process, devices A and B perform mode arbitration,
service negotiation, and service synchronization as is the case
with the processing between S203a and S203c in FIG. 7.
[0115] Specifically, device B set to flexible mode performs mode
arbitration to change the mode of device B according to the mode
set for device A of the communication target device. Here, since
device A is set to reactive mode, device B changes from flexible
mode to proactive mode. Then, devices A and B perform service
negotiation to determine a service to be executed between devices A
and B. Specifically, device B requests device A to transmit
information indicative of services that can be provided by device
A. Upon receiving the information indicative of the services that
can be provided by device A, device B presents the user with a list
of the services. The user selects a service to be utilized from the
presented service list. Thus, the service to be executed between
devices A and B is determined. The service to be executed between
devices A and B may be predetermined. Then, devices A and B perform
service synchronization to start the execution of the determined
service. Thus, the execution of the service is started between
devices A and B.
[0116] When the above-described negotiation process is completed,
the service is executed between devices A and B to perform
communication such as transmission and reception of data (S504).
When the execution of the service is completed, device B changes
from proactive mode to flexible mode. Furthermore, device B sets
the communication completion flag indicating that the execution of
the service has been completed. The connection (CNL connection)
between devices A and B is maintained.
[0117] While the communication completion flag is set, device B
executes a standby process of waiting for processing that allows
the execution of a new service to be started. In other words, while
the communication completion flag is set, device B is in the wait
state in which device B waits for the execution of a new service to
be started.
[0118] If the user inputs a wait cancellation request while the
communication completion flag is set, device B cancels the wait
state of device B in response to the wait cancellation request
(S505). Furthermore, device B clears the communication completion
flag. The user inputs the wait cancellation request by, for
example, selecting an application.
[0119] Devices A and B execute a negotiation process again (S506).
The negotiation process is executed similarly to that carried out
in S503. Thus, devices A and B perform mode arbitration, service
negotiation, and service synchronization.
[0120] When the negotiation process is completed, the service is
executed between devices A and B to perform communication such as
transmission and reception of data (S507). When the execution of
the service is completed, device B changes from proactive mode to
flexible mode. Furthermore, device B sets the communication
completion flag indicating that the execution of the service has
been completed. The connection (CNL connection) between devices A
and B is maintained.
[0121] According to the above-described processing, the execution
of an unexpected service can be prevented from being started from
the completion of execution of a service between the devices until
the user inputs a wait cancellation request on device B. In other
words, after the execution of a service between the devices is
completed, the execution of a service can be started in response to
the user's input of a service start request.
[0122] FIG. 11 is another sequence diagram showing that after one
service executed between the devices is completed, a new service is
provided in response to the user's request. Here, it is assumed
that device A set to proactive mode transmits a service start
request to device B set to flexible mode. In the initial state,
device A is set to reactive mode, and device B is set to flexible
mode. Furthermore, in device B, the communication completion flag
indicating that the execution of a service between the devices has
been completed is cleared.
[0123] First, the user selects, on device A, an application program
for close proximity wireless transfer. The user then places device
A close to device B (touch operation) to arrange devices A and B in
a close proximity state (S601). Device A for which the application
program has been selected changes from reactive mode, in which a
service start request is received from the external device, to
proactive mode, in which a service start request is transmitted to
the external device.
[0124] Then, devices A and B execute a process (authentication
process) required to establish a connection (CNL connection)
between devices A and B (S602). For example, device A transmits a
connection request. Upon receiving the connection request, device B
transmits a response to the connection request, to device A. The
above-described processing allows a connection to be established
between device A and device B.
[0125] Devices A and B between which the connection has been
established execute a negotiation process (S603). In the
negotiation process, devices A and B perform mode arbitration,
service negotiation, and service synchronization as is the case
with the processing between S103a and S103c in FIG. 6.
[0126] Specifically, device B set to flexible mode performs mode
arbitration to change the mode of device B according to the mode
set for device A of the communication target device. Here, since
device A is set to proactive mode, device B changes from flexible
mode to reactive mode. Then, devices A and B perform service
negotiation to determine a service to be executed between devices A
and B. Here, the service specified by device A set to proactive
mode, that is, the service corresponding to the application program
selected by the user, is determined to be executed between devices
A and B. Furthermore, devices A and B perform service
synchronization in order to execute the determined service. Thus,
the execution of the service is started between devices A and
B.
[0127] When the above-described negotiation process is completed,
the service is executed between devices A and B to perform
communication such as transmission and reception of data (S604).
When the execution of the service is completed, device A changes
from proactive mode to reactive mode. Furthermore, device B sets
the communication completion flag indicating that the execution of
the service has been completed. The connection (CNL connection)
between devices A and B is maintained.
[0128] While the communication completion flag is set, device B
executes a standby process of waiting for processing that allows
the execution of a new service to be started. In other words, while
the communication completion flag is set, device B is in the wait
state in which device B waits for the execution of a new service to
be started.
[0129] When the user selects, on device A, an application program
for close proximity wireless transfer while the communication
completion flag is set, device A transmits a service start request
to device B (S605). Device B cancels the wait state of device B in
response to the service start request received from device A.
Furthermore, device B clears the communication completion flag.
Devices A and B execute a negotiation process again (S606). The
negotiation process is executed similarly to that carried out in
S603. Thus, devices A and B perform mode arbitration, service
negotiation, and service synchronization.
[0130] When the negotiation process is completed, the service is
executed between devices A and B to perform communication such as
transmission and reception of data (S607). Device A changes from
proactive mode to reactive mode. Device B changes from reactive
mode to flexible mode. Furthermore, device B sets the communication
completion flag indicating that the execution of the service has
been completed. The connection (CNL connection) between devices A
and B is maintained.
[0131] According to the above-described processing, the execution
of an unexpected service can be prevented from being started from
the completion of execution of a service between the devices until
device B receives a service start request from device A. In other
words, after the execution of a service between the devices is
completed, the execution of a service can be started in response to
the user's input of a service start request.
[0132] FIG. 12 is a state transition diagram showing an example of
the state transition of close proximity wireless transfer performed
by the electronic device 10.
[0133] When set to the state in which the electronic device 10 is
arranged in proximity of the external device, the electronic device
10 changes from a disconnected state 60 in which the CNL connection
is disconnected to a CNL connection established state 61 in which
the CNL connection is established. The CNL connection established
state 61 is defined to be further classified into a negotiation
state 611, a service execution state 612, and a wait state 613.
That is, during the CNL connection established state 61, the
electronic device 10 changes among the negotiation state 611, the
service execution state 612, and the wait state 613.
[0134] When the electronic device 10 has changed from the
disconnected state 60 to the CNL connection established state 61,
the electronic device 10 is first set to the negotiation state 611.
In the negotiation state 611, as described above, a negotiation
process including mode arbitration, service negotiation, and
service synchronization is executed. In response to the completion
of the negotiation process, the electronic device 10 changes from
the negotiation state 611 to the service execution state 612.
[0135] In the service execution state 612, processing corresponding
to a service determined by the negotiation process is executed.
Then, in response to the completion of the execution of the
service, the electronic device 10 changes from the service
execution state 612 to the wait state 613.
[0136] In the wait state 613, a standby process is executed which
waits for the service to be started until an event occurs such as
the user's input (a request from a high-level application) of a
service start request (wait cancellation request) or the reception
of a service start request from an external device. Thus, in
response to the user's input of a service start request or the
reception of a service start request from the external device, the
electronic device 10 changes from the wait state 613 to the
negotiation state 611.
[0137] While the electronic device 10 is in the CNL connection
established state 61, that is, in one of the negotiation state 611,
the service execution state 612, and the wait state 613, if the
electronic device 10 and the external device are separated so they
are no longer in the close proximity state, the electronic device
10 and the external device are disconnected from each other. The
electronic device 10 changes to the disconnected state 60.
[0138] As described above, the electronic device 10 executes a
service specified in the service execution state 612, and then
changes to the wait state 613. In the wait state 613, the
electronic device 10 wait for the execution of a negotiation
process required to start a new service until the user or the
external device issues a service start request. Thus, the execution
of an unexpected service can be prevented from being started
between the devices arranged in a close proximity state. The
standby process based on the communication completion flag as
described with reference to FIGS. 8 to 11 may be executed based on
a state transition as shown in FIG. 12. In this case, the
electronic device 10 manages the transition of the state of the
close proximity wireless transfer with the communication target
device. The electronic device 10 thus executes processing that
corresponds to each of the states. If the electronic device 10
changes to the wait state 613, then by executing a standby process
of waiting for processing to be carried out to start a new service,
effects are exerted which are similar to those produced by
executing a standby process based on the communication completion
flag.
[0139] Now, with reference to FIG. 13, the relationship between the
mode set for the PCL 40 of each device and the service executed
between the devices will be described. Here, it is assumed that a
service is executed between device A and device B. The protocol
conversion layer 40 of device A and the protocol conversion layer
40 of device B are set to one of proactive mode, flexible mode, and
reactive mode.
[0140] First, the case where device A is set to proactive mode will
be described.
[0141] If both devices A and B are set to proactive mode, each of
devices A and B transmits a service start request to the
communication target device but fails to respond to a service start
request from the communication target request. Thus, the service
fails to be started between devices A and B, resulting in an
error.
[0142] If device A is set to proactive mode and device B is set to
flexible mode, each of devices A and B transmits a service start
request to the communication target device. Furthermore, device B
set to flexible mode receives the service start request from device
A, and changes from flexible mode to reactive mode. Device B then
returns a response to the service start request to device A. Thus,
the service specified by device A set to proactive mode is executed
between devices A and B.
[0143] If device A is set to proactive mode and device B is set to
reactive mode, device A transmits a service start request to the
communication target device. Furthermore, device B set to reactive
mode receives the service start request from device A, and returns
a response to the service start request to device A. Thus, the
service specified by device A set to proactive mode is executed
between devices A and B.
[0144] Now, the case where device A is set to flexible mode will be
described.
[0145] If device A is set to flexible mode and device B is set to
proactive mode, each of devices A and B transmits a service start
request to the communication target device. Furthermore, device A
set to flexible mode receives the service start request from device
B, and changes from flexible mode to reactive mode. Device A then
returns a response to the service start request to device B. Thus,
the service specified by device B set to proactive mode is executed
between devices A and B.
[0146] If both devices A and B are set to flexible mode, each of
devices A and B transmits a service start request to the
communication target device. However, since each of the devices is
set to flexible mode and the communication target device is also
set to flexible mode, the service is not started between devices A
and B, resulting in an error.
[0147] If device A is set to flexible mode and device B is set to
reactive mode, device A transmits a service start request to the
communication target device. Device B set to reactive mode receives
the service start request from device A, and returns a response to
the service start request to device A. Device A changes from
flexible mode to proactive mode. The service pre-specified by
device A set to proactive mode is executed between devices A and B.
Alternatively, a list of services that can be executed by device B
can be presented to the user on device A so that the user can
select a service to be executed between the devices.
[0148] Finally, the case where device A is set to reactive mode
will be described.
[0149] If device A is set to reactive mode and device B is set to
proactive mode, device B transmits a service start request to the
communication target device. Device A set to reactive mode receives
the service start request from device B, and returns a response to
the service start request to device B. Thus, the service specified
by device B set to proactive mode is executed between devices A and
B.
[0150] If device A is set to reactive mode and device B is set to
flexible mode, device B transmits a service start request to the
communication target device. Device A set to reactive mode receives
the service start request from device B, and returns a response to
the service start request to device B. Device B changes from
flexible mode to proactive mode. The service pre-specified by
device B set to proactive mode is executed between devices A and
B.
Alternatively, a list of services that can be executed by device A
can be presented to the user on device B so that the user can
select a service to be executed between the devices.
[0151] If device A is set to reactive mode and device B is set to
reactive mode, neither of devices A and B transmits a service start
request to the communication target device. Thus, no service is
executed between devices A and B.
[0152] Now, with reference to the flowchart in FIG. 14, an example
of the procedure of a communication process according to the close
proximity wireless transfer scheme will be described.
[0153] First, the electronic device 10 determines whether a touch
operation has been performed to place the electronic device 10
close to the external device (block B701). Specifically, the
electronic device 10 transmits a connection request to the external
device and then determines whether the electronic device 10
receives a response to the connection request from the external
device, or determines whether the electronic device 10 receives a
connection request from the external device.
[0154] If a touch operation is performed to place the electronic
device 10 close to the external device (YES in block B701), the
electronic device 10 executes an authentication process with the
external device (block B702). The electronic device 10 identifies
the external device as the communication target device. The
electronic device 10 then executes a negotiation process with the
external device (block B703). In the negotiation process, the
electronic device 10 executes processing for mode arbitration,
service negotiation, and service synchronization. Specifically, the
electronic device 10 controls a mode to be set for the PCL 40
through the mode arbitration. Furthermore, the electronic device 10
determines a service to be executed between itself and the external
device and then starts the service.
[0155] When the negotiation process is completed, the electronic
device 10 executes the service determined by the negotiation
process (block B704).
[0156] Then, the electronic device 10 determines whether the
service executed between itself and the external device has been
completed (block B705). If the service executed between the
electronic device 10 and the external device has been completed
(YES in block B705), the electronic device 10 repeats block B702
and the following processing. That is, while the electronic device
10 and the external device are arranged in a close proximity state,
the execution of a service is repeated between the electronic
device 10 and the external device.
[0157] The above-described processing allows a service to be
repeatedly executed between the devices arranged in the close
proximity state. That is, if the execution of a new service is
automatically started after one service is completed, time and
effort required for the user's operation can be avoided. However,
the execution of a service may also be started when the devices are
simply left in the close proximity state. Thus, an unexpected
service may be executed. FIG. 15 is a flowchart showing an example
of the procedure of a communication process executed if the close
proximity wireless transfer device 104 is controlled to start the
execution of a service only when a service start request has been
issued.
[0158] First, the electronic device 10 determines whether a touch
operation has been performed to place the electronic device 10
close to the external device (block B801). Specifically, the
electronic device 10 transmits a connection request to the external
device and then determines whether the electronic device 10
receives a response to the connection request from the external
device, or determines whether the electronic device 10 receives a
connection request from the external device.
[0159] If a touch operation is performed to place the electronic
device 10 close to the external device (YES in block B801), the
electronic device 10 executes an authentication process with the
external device (block B802). The electronic device 10 identifies
the external device of the communication target device. The
electronic device 10 then executes a negotiation process with the
external device (block B803). In the negotiation process, the
electronic device 10 executes processing for mode arbitration,
service negotiation, and service synchronization. Specifically, the
electronic device 10 controls a mode to be set for the PCL 40
through the mode arbitration. Furthermore, the electronic device 10
determines a service to be executed between itself and the external
device and then starts the service.
[0160] When the negotiation process is completed, the electronic
device 10 executes the service determined by the negotiation
process (block B804).
[0161] Then, the electronic device 10 determines whether the
service executed between itself and the external device has been
completed (block B805). If the service executed between the
electronic device 10 and the external device has been completed
(YES in block B805), the electronic device 10 sets a flag
indicative of the completion of the service (block B806). That is,
the electronic device 10 changes to the wait state, in which the
electronic device 10 waits for processing to be executed to start a
new service.
[0162] After changing to the wait state, the electronic device 10
determines whether a service start request event has occurred in
which the start of a new service is requested (block B807). A
service start request event occurs, for example, when the user
inputs a service start request or when a service start request is
received from the external device.
[0163] If a service start request event has occurred (YES in block
B807), the electronic device 10 clears the flag (block B808). The
electronic device 10 then cancels the wait state, and executes
processing required to start a new service. That is, the electronic
device 10 executes block B803 and the following processing.
[0164] If a service start request event has not occurred (NO in
block B807), the electronic device 10 determines whether the
electronic device 10 and the external device are no longer in the
close proximity state (block B809). Specifically, the electronic
device 10 determines whether the CNL connection established between
itself and the communication target device has been terminated. If
the electronic device 10 and the communication target device are in
a close proximity state (NO in block B809), the electronic device
10 executes block B807 and the following processing. If the
electronic device 10 and the communication target device are no
longer in the close proximity state (YES in block B809), the
electronic device 10 clears the flag and cancels the wait state
(block B810).
[0165] In the above-described processing, after the execution of
one service between the devices is completed, the execution of a
new service is started only when the user issues a service start
request. Thus, the start of an unexpected service can be
prevented.
[0166] As described above, the present embodiment allows the
execution of an unexpected service to be prevented. When the
electronic device 10 and the external device are arranged in the
close proximity state, the electronic device 10 establishes a CNL
connection with the external device. The electronic device 10
further executes a negotiation process in order to start the
execution of a service. When the execution of the service is
completed, the electronic device 10 changes to the wait state to
wait for a service start request input by the user or transmitted
by the external device. Then, in response to the input (reception)
of the service start request, the electronic device 10 executes
processing required to start a new service. In the above-described
processing, after the execution of one service is completed, the
execution of a new service automatically started without the user's
instruction, that is, the execution of an unexpected service can be
prevented.
[0167] The various modules of the systems described herein can be
implemented as software applications, hardware and/or software
modules, or components on one or more computers, such as servers.
While the various modules are illustrated separately, they may
share some or all of the same underlying logic or code.
[0168] While certain embodiments of the inventions have been
described, these embodiments have been presented by way of example
only, and are not intended to limit the scope of the inventions.
Indeed, the novel methods and systems described herein may be
embodied in a variety of other forms; furthermore, various
omissions, substitutions and changes in the form of the methods and
systems described herein may be made without departing from the
spirit of the inventions. The accompanying claims and their
equivalents are intended to cover such forms or modifications as
would fall within the scope and spirit of the inventions.
* * * * *