Information processing apparatus, information processing method, and recording medium

An information processing apparatus includes a data format determination unit determining whether data read by near field wireless communications correspond to data read in a peer-to-peer mode; a data attribute determination unit identifying an application that can use the data based on attribute information of the data when it is determined that the data correspond to the data that are read in the peer-to-peer mode; a communication method determination unit identifying an application that can use the data based on a communication method used when the data are read, when it is determined that the data do not correspond to the data that are read in the peer-to-peer mode; and an application use processing unit performing processing so that the application identified by the data attribute determination unit or the application identified by the communication method determination unit can use the data.

TECHNICAL FIELD

The present invention relates to an information processing apparatus.

BACKGROUND ART

Near Field Communication (NFC) is a wireless communication method in which two-way communications are performed within a small range of approximately 10 cm by using an electromagnetic wave of 13.56 MHz. As an international standard of an air interface and a protocol of the NFC, Near Field Communication-Interface and Protocol-1 (NFCIP-1) (ISO/IEC 18092) has been established (standardized), and after that, NFCIP-2, including other cards (ISO/IEC14443A/B, ISO/IEC 15693, ISO/IEC 18000-3), has been established.

The NFC includes plural operation modes. Among the plural operation modes of the NFC, there is a reader/writer mode, in which, by approaching a device, such as an NFC card, and a reading/writing device, such as a card reader/writer, each other, it becomes possible for the reading/writing device to read information of the device. Further, there is a peer-to-peer mode, in which peer-to-peer communications can be performed between devices having NFC built-in.

Regarding the NFC, there is a known technique in which the Near Field Communications are performed between an NFC device and an NFC reader/writer, so that the NFC reader/writer performs an authentication process based on authentication information acquired from the NFC device (see, for example, Patent Document 1).

SUMMARY OF THE INVENTION

Problems to be Solved by the Invention

It is thought that, among the plural operation modes of the NFC, the reader/writer mode and the peer-to-peer mode can exist together in an information processing apparatus.

In a device such as an NFC card, there is provided not only an area where identification information of the NFC card is stored but also a general-purpose area where other information such as billing information can be stored. In the reader/writer mode, it is possible to read information from the general-purpose area of the device such as the NFC card. However, the number of the applications that use the information read from the general-purpose area is not always one. In other words, there may be a case where the information, which is read from the device such as the NFC card, is used by plural applications. In this regard, it is desired to set (provide) an application that performs a process on the information read from the device such as the NFC card.

On the other hand, in the peer-to-peer mode, it often happens that the number of the applications that uses the information read from the general-purpose area of the device having the NFC built-in is one.

Therefore, an object of the present invention is to make it possible for an information processing apparatus to operate in both NFC operation modes (i.e., the reader/writer mode and the peer-to-peer mode).

Means for Solving the Problems

According to an aspect of the present invention, an information processing apparatus includes a data format determination unit determining whether data, which are read by near field wireless communications, correspond to data that are read in a peer-to-peer mode in the near field wireless communications; a data attribute determination unit identifying an application that can use the data based on attribute information of the data, in a case where it is determined that the data correspond to the data that are read in the peer-to-peer mode by the data format determination unit; a communication method determination unit identifying an application that can use the data based on a communication method used when the data are read, in a case where it is determined that the data do not correspond to the data that are read in the peer-to-peer mode by the data format determination unit; and an application use processing unit performing processing so that the application identified by the data attribute determination unit or the application identified by the communication method determination unit can use the data.

Effects of the Present Invention

According to an aspect of the present invention, it becomes possible for an information processing apparatus to operate NFC operation modes which are the reader/writer mode and the peer-to-peer mode.

BEST MODE FOR CARRYING OUT THE INVENTION

Next, an embodiment of the present invention is described with reference to the accompanying drawings. Note that the embodiment described below is an example only. Namely, the embodiments to which the present invention can be applied are not limited to the embodiment described below.

Further, throughout the drawing which areas referred to describe the embodiment, the same reference numerals are used to describe the elements having the same functions and the repeated descriptions thereof may be herein omitted.

Embodiment

Information Processing System

FIG. 1illustrates an information processing apparatus according to an embodiment.

The information processing apparatus includes a composite apparatus100, an information terminal200, and an integrated circuit (IC) card300. As an example of the composite apparatus100, there are a printer, a scanner, a copier, a facsimile machine, and a MultiFunction Peripheral (MFP) having those functions. Further, the composite apparatus100may be an apparatus including a projector, which not only has a printing function but also an image forming function like projecting and displaying, an electronic whiteboard apparatus, etc.

The composite apparatus100is mutually connected with an authentication server400via a network. The network is not limited to a specific network, and may be, for example, an Ethernet (registered trademark), a Local Area Network (LAN) or a Virtual Private Network (VPN) based on a transaction protocol such as a Transmission Protocol/Internet protocol (TCP/IP), a Wide Area Network (WAN) or the like.

The information terminal200supports the NFC, and performs the Near Field Communication (NFC) with the composite apparatus100. However, as long as a device supports the NFC, the device, such as a personal computer (PC) a tablet terminal, a smartphone, etc., may be used in place of the information terminal200.

The IC card300supports the NFC, and performs the Near Field Communication (NFC) with the composite apparatus100. Further, the IC card300has an IC chip built-in, so that information can be stored in the IC chip. However, as long as a device supports the NFC, the device, such as an IC tag, etc., may be used in place of the IC card300.

The composite apparatus100performs the Near Field Communication (NFC) with the information terminal200. By doing this, the composite apparatus100receives data (e.g., image information) transmitted by the information terminal200, so that application software can use the data.

Further, by performing the Near Field Communication (NFC) with the IC card300, the composite apparatus100receives data, such as identification information of the IC card300, transmitted by the IC card300, so that application software can use the data. Specifically, by holding the IC card300over the composite apparatus100, the composite apparatus100can read the identification information stored in the IC card300. By transmitting the identification information of the IC card300to the authentication server400, the composite apparatus100requests the authentication server400to perform authentication. Based on the identification information transmitted from the composite apparatus100, the authentication server400authenticates the user who carries (holds) the IC card300. The authentication server400can perform the authentication by determining whether the identification information is included in card ID information having been registered. The authentication server400reports the result of the determination whether the authentication has been successful or has failed to the composite apparatus100. However, by having the function similar to that of the authentication server400, the composite apparatus100may authenticate the user who carries the IC card300without using the authentication server400.

Hardware Configuration of the Composite Apparatus100

FIG. 2illustrates a hardware configuration of the composite apparatus100. The composite apparatus100includes a main body10, which can realize various functions such as a copy function, a scanner function, a facsimile function, a printer function, etc., and an operation section20which receives a user's operation. Here, the term “receives a user's operation” conceptually includes a receipt of information (including, for example, a signal indicating coordinate value of an image) that is input in accordance with the user's operation. The main body10and the operation section20are mutually connected to each other via a dedicated communication path (line)32. As the communication path32, for example, a communication path compliant with Universal Serial Bus (USB) standard may be used. Further, as the communication path32, a wireless or wired communication path, which is compliant with any other standard, may also be used.

Here, the main body10can function in accordance with an operation received by the operation section20. Further, the main body10can communicate with an external device such as a client PC, so as to function in accordance with an instruction received from the external device.

First, a hardware configuration of the main body10is described. As illustrated inFIG. 2, the main body10includes a Central Processing Unit (CPU)11, a Read-Only Memory (ROM)12, a Random Access Memory (RAM)13, a Hard Disk Drive (HDD)14, a communication interface (I/F)15, a connection I/F16, and an engine section17, which are connected to each other via a system bus18.

The CPU11controls overall operation of the main body10. The CPU11controls overall operation of the main body10by executing a program stored in the ROM12, the HDD14or the like by using the RAM13as a work area. By doing this, it becomes possible to realize the various functions described above, such as the copy function, the scanner function, the facsimile function, the printer function, etc.

The communication I/F15is an interface to connect with a network30. The connection I/F16is an interface to connect with the operation section20via the communication path32.

The engine section17is a hardware that performs processes other than general-purpose information processing and communications, so as to realize the copy function, the scanner function, the facsimile function, and the printer function. To that end, the engine section17includes, for example, a scanner to scan and read a draft image (image reading section), a plotter to print (image) data on a sheet material such as a sheet (image forming section), and a facsimile section to perform fax transmission. The engine section17may further include specific options such as a finisher, which divides printed sheets, an Automatic Draft Feeder (ADF), which automatically feeds a draft, etc.

Next, a hardware configuration of the operation section20is described. As illustrated inFIG. 2, the operation section20includes a CPU21, a ROM22, a RAM23, a flash memory24, a communication I/F25, a connection I/F26, an operation panel27, an external connection I/F28, and an NFC reader/writer31, which are connected to each other via a system bus29.

The CPU21controls overall operation of the operation section20. The CPU21controls overall operation of the operation section20by executing a program stored in the ROM22, the flash memory24or the like by using the RAM23as a work area. By doing this, it becomes possible to control the overall operation of the operation section20and realize various functions, such as displaying information (an image), in accordance with input received from a user.

The communication I/F25is an interface to connect with the network30. The connection I/F26is an interface to connect with the main body10via the communication path32.

The operation panel27receives various inputs in accordance with user's operations, and displays various information (e.g., information in response to a received operation, information indicating an operation state of the composite apparatus100, information indicating a setting state, etc.). In this embodiment, a case is described where the operation panel27is made of a Liquid Crystal Display (LCD) having a touch panel function therein. However, the operation panel27is not limited to this configuration. The operation panel27may be made of an organic Electro Luminescence (EL) having a touch panel function therein. Further, in addition to or in place of the above configuration, an operation section including hardware keys and/or a display section using lamps may be provided.

The external connection I/F28is an interface to be connected with an external device such as an IC card reader.

The NFC reader/writer31performs the Near Field Communication (NFC) with the information terminal200and the IC card300by using an electromagnetic wave of 13.56 MHz.

Software Configuration of the Composite Apparatus100

FIG. 3illustrates an example software configuration of the composite apparatus100.

As illustrated inFIG. 3, the main body10includes an application layer101, a service layer102, and an Operating System (OS) layer103. The entities of the application layer101, the service layer102, and the OS layer103are various software (programs) stored in the ROM12, the HDD14, etc. By executing the various software by the CPU11, various functions can be provided.

The software of the application layer101is an application software (hereinafter may be simplified as an “application”) that is for providing predetermined functions by operating hardware resources. The application includes a copy application which provides the copy function, a scanner application which provides the scanner function, a facsimile application which provides the facsimile function, a printer application which provides the printer function, etc. The application further includes an application that uses the data transmitted by the information terminal200or the IC card300and read by the NFC reader/writer31. Specifically, the application further includes an application which uses the data, such as the image information, transmitted by the information terminal200, and an authentication application and a billing process application which use the identification information and the billing information, respectively, transmitted by the IC card300.

The software of the service layer102stands between the application layer101and the OS layer103, and is the software for providing an interface to the applications of the application layer101to use the hardware resources of the main body10. More specifically, the software of the service layer102is the software that receives operation requests to the hardware resources and provides functions to perform adjustments on the operation requests. As the operation requests that the service layer102receives, there are, for example, a request to read by a scanner, a request to print by a plotter, etc.

Further, the interface function by the service layer102is provided to not only the application layer101of the main body10but also an application layer201of the operation section20. Namely, the application layer201(application) of the operation section20also can realize the function which uses the hardware resources (e.g., the engine section17) of the main body10via the interface function of the service layer102.

The software of the OS layer103is a fundamental software (operating system) for providing fundamental functions to control the hardware of the main body10. The software of the service layer102converts the requests to use the hardware resources from various applications into the commands that can be interpreted by the OS layer103, and transmits the commands to the OS layer103. Then, by executing the commands by the software of the OS layer103, it becomes possible for the hardware resources to perform the operations in accordance with the requests from the applications.

Similarly, the operation section20includes an application layer201, a service layer202, and an OS layer203. A hierarchy structure of the application layer201, the service layer202, and the OS layer203is similar to that of the main body10. However, the functions that are provided by the application of the application layer201and types of the operation requests that can be received by the service layer202differ from those of the main body10. The application of the application layer201may be a software that provides predetermined functions by operating the hardware resources of the operation section20. However, basically, the application of the application layer201is a software that provides a function of a user interface (UI) for operating and displaying the functions (i.e., the copy function, the scanner function, the facsimile function, the printer function) that the main body10mainly has.

In this embodiment, in order to keep independence, the software of the OS layer103of the main body10and the software of the OS layer203of the operation section20are different from each other. Namely, the main body10and the operation section20operate independently using the respective operating systems different from each other. For example, Linux (registered trademark) may be used as the software of the OS layer103of the main body10and Android (registered trademark) may be used as the software of the OS layer203of the operation section20.

As described above, in the composite apparatus100in this embodiment, the main body10and the operation section20operate using the respective operating systems different from each other. Therefore, the communications between the main body10and the operation section20are performed not as the process-to-process communications within a common device (apparatus) but as the communications between difference devices (apparatuses). The operation that the operation section20transmits the received information (content of user's instructions) to the main body10(command communication) and the operation that the main body10notifies the operation section20of an event correspond to the communications between different devices (apparatuses). Here, the operation section20can use the functions of the main body10by performing the command communication to the main body10. On the other hand, as an example of the event that main body10notifies the operation section20, there are, for example, an execution state of the operations in the main body10and the content that is set in the main body10.

Further, in this embodiment, power to the operation section20is supplied from the main body10via the communication path32. Therefore, the power control of the operation section20can be performed separately from (independently of) the power control of the main body10.

Functional Configuration of the Composite Apparatus100

Next, a functional configuration of the composite apparatus100is described.FIG. 4is a functional block diagram of an example functional configuration of the composite apparatus100. For explanatory purposes,FIG. 4illustrates only main functions related to the present invention. Namely, the functions of the composite apparatus100are not limited to the functions described inFIG. 4.

The composite apparatus100includes a data format determination section212and a data attribute determination section214, a communication method determination section216, and an application use processing section218.

The data format determination section212determines the format of the data that are read by the NFC reader/writer31(hereinafter referred to as “read data”). The data read by the NFC reader/writer31are the data stored in the information terminal200and the data stored in the IC card300. Specifically, the data format determination section212determines whether the format of the read data is the format called “NFC Data Exchange Format” (NDEF). By doing this, it becomes possible to determine whether the read data correspond to the data that are transmitted from the information terminal200to the NFC reader/writer31using the peer-to-peer mode.

FIG. 5illustrates an example data structure of the NDEF.

An NDEF message having the data structure of the NDEF includes a plurality of NDEF records. In the example ofFIG. 5, the NDEF message includes NDEF RECORD [0] through NDEF RECORD [5]. Note that the NDEF message may include one through five NDEF RECORDs or seven or more NDEF RECORDs.

Each NDEF record includes five flags called “Message Begin (MB)”, “Message End (ME)”, “Chunked Flag (CF)”, “Short Record (SR)”, and “ID Length (IL)”. The flag “MB” indicates whether the NDEF record corresponds to the first NDEF record of the NDEF message. The flag “ME” indicates whether the NDEF record corresponds to the last NDEF record of the NDEF message. The flag “CF” indicates whether the NDEF record corresponds to a divided record. The flag “SR” indicates whether the payload (data main body) is less than or equal to 255 Bytes. The flag “IL” indicates whether there exist “ID LENGTH” and “ID” described below.

Each NDEF record includes seven fields called “TNF”, “TYPE LENGTH”, “PAYLOAD LENGTH”, “ID LENGTH”, “TYPE”, “ID”, and “PAYLOAD”. The field “TNF” indicates a type of data to be attached to the fields “TYPE”, “ID”, and “PAYLOAD”. The fields “TYPE LENGTH”, “PAYLOAD LENGTH”, and “ID LENGTH” indicate the lengths of data to be attached to the “TYPE”, “PAYLOAD”, and “ID”, respectively. The field “TYPE” indicates a type of the payload, and the field “ID” denotes the identification information to identify the payload.

In an example of the NDEF message, “MIME_TYPE” is stored in the NDEF RECORD [0], and the data main body is stored in the NDEF RECORD [1] and the NDEF RECORDs after the NDEF RECORD [1]. Specifically, “TNF_MIME_MEDIA” is attached to the “TNF” of the NDEF RECORD [0], “TEXT” is attached to the “TYPE” of the NDEF RECORD [0], and “MFP_DATA” is stored in the “PAYLOAD” of the NDEF RECORD [0]. By attaching the “TNF_MIME_MEDIA” to the “TNF”, the type of the data is designated. Further, “UNKNOWN” is attached to the “TNF” of the NDEF RECORD [1] and the NDEF RECORD [2], and “TEXT” is attached to the “TYPE” of the NDEF RECORD [1] and the NDEF RECORD [2]. Further, “a part of the data main body” is stored in the “PAYLOAD” of the NDEF RECORD [1] and the NDEF RECORD [2].

Referring back toFIG. 4, the descriptions continue. The data format determination section212can determine whether the format of the read data corresponds to the NDEF by determining whether the format of the read data correspond to the format of the NDEF message illustrated inFIG. 5. Further, when determining that the format of the read data corresponds to the NDEF, the data format determination section212notifies the data attribute determination section214of the information that the format of the read data corresponds to the NDEF. On the other hand, when determining that the format of the read data dose not correspond to the NDEF, the data format determination section212notifies the communication method determination section216of the information that the format of the read data does not correspond to the NDEF.

The data attribute determination section214determines whether there exists an application that handles the data corresponding to data attributes of the read data based on the data attributes of the read data. The data attribute determination section214can refer to definition files of the applications of the application layer101. The definition file may be called “manifest”.

The definition file includes essential attribute information related to the application. By transmitting the information included in the definition file to the CPU11or the CPU21, it becomes possible for the CPU11or the CPU21, respectively, to execute the application. In the attribute information, the information indicating the data format that can be handled and the data type such as text data, the information indicating the communication method, and the information indicating that the application is, in foreground display when the application is displayed in foreground are described. By being displayed in foreground, it is known that the application displayed in the foreground is in an active state. The data attribute determination section214refers to the definitions files of the applications, so that the data attribute determination section214identifies the formats and the types of the data that can be handled by the applications and acquires the information indicating whether the applications are displayed in foreground.

Upon being notified that the data format of the read data corresponds to the NDEF by the data format determination section212, the data attribute determination section214acquires the information indicating the type of the data attached to the “PAYLOAD” of the read data. The data attribute determination section214determines whether the format and the type of the read data correspond to the format and the type of the data that can be handled by the application which is displayed in foreground. When determining that the format and the type of the read data correspond to the format and the type of the data that can be handled by the application which is displayed in foreground, the data attribute determination section214notifies the application use processing section218of the information that the format and the type of the read data correspond to the format and the type of the data that can be handled by the application which is displayed in foreground. Here, the peer-to-peer communication is a one-to-one communication. Therefore, even when there are two or more applications that can handle the read data, it is not possible to determine the application that uses the read data. Therefore, it is determined whether the read data transmitted in the peer-to-peer mode can be used based on the determination whether the format and the type of the read data correspond to the format and the type of the data that can be handled by the application which is displayed in foreground.

Upon being notified that the format of the read data dose not correspond to the NDEF by the data format determination section212, the communication method determination section216determines the communication method of the read data. Namely, the communication method determination section216determines the communication method of the IC card300that transmits the read data in the reader/writer mode. Specifically, the communication method determination section216determines whether the communication method of the read data corresponds to any one of ISO/IEC 14443 Type A, ISO/IEC 14443 Type B, Felica (registered trademark), etc. The communication method determination section216determines whether the communication method of the read data corresponds to a communication method that can be handled by the application. When determining that the communication method of the read data corresponds to a communication method that can be handled by the application, the communication method determination section216notifies the application use processing section218of the information that the communication method of the read data corresponds to a communication method that can be handled by the application.

The application use processing section218perform processing so that the read data can be used by the application. The application use processing section218can be realized by a dispatcher, and notifies the application, which can use the read data, of the read data. The application, that is notified that the read data can be used, can acquire and process the notified application.

More detail is described. InFIG. 4, a first application502, a second application504, a third application506, and a fourth application508are installed in the composite apparatus100as a candidate application that uses the read data. The first application502and the second application504operate in the peer-to-peer mode. The third application506and the fourth application508operate in the reader/writer mode. Here, it is assumed that the first application502is displayed in foreground. Further, it is assumed that the third application506is an authentication application, the fourth application508is a billing application, and a higher priority is placed on the process of the third application506than that of the fourth application508. Note that the number of the applications inFIG. 4is an example only. Namely, it is possible to install one through three applications and five or more applications in the composite apparatus100. Further, an application other than any of the above applications may be installed.

Upon being notified that the format and the type of the read data correspond to the format and the type of the data that can be handled by the first application502, displayed in foreground, by the data attribute determination section214, the application use processing section218notifies the first application502, displayed in foreground, of the information that the read data can be used, and performs a process so that the read data can be used by the first application502. By doing this, it becomes possible for the first application502displayed in foreground to acquire and perform processing on the read data.

Further, upon being notified that the communication method of the read data corresponds to the communication method that can be handled by the application by the communication method determination section216, the application use processing section218notifies the application of the information that the read data can be used, in a case where a higher priority is placed on the application. In this case, upon being notified that the communication method of the read data corresponds to the communication method that can be handled by the third application506, the application use processing section218notifies the third application506of the information that the read data can be used. By doing this, the third application506, which is notified that the read data can be used, can acquire and perform processing on the read data.

A priority order can be registered relative to the processes of the applications, so that it becomes possible to execute a process to be performed first such as the authentication process and then execute another process such as the billing process.

The functions of the elements of the composite apparatus100(i.e., the data format determination section212, the data attribute determination section214, the communication method determination section216, and the application use processing section218) can be realized by executing a program, stored in a storage device such as the ROM12, the HDD14, the ROM22, the flash memory24, etc., by the CPU11or the CPU21. However, the present invention is not limited to this configuration. For example, a part of the functions of the elements of the composite apparatus100may be realized by a dedicated hardware circuit (e.g., a semiconductor integrated circuit, etc.)

Further, in the embodiment described above, a case is described where the main body10and the operation section20operate independently from each other by using different operating systems from each other. However, the present invention is not limited to this configuration. For example, the main body10and the operation section20may operate using the same operating system.

Further, the program, which is to be executed by the composite apparatus100according to this embodiment, may be provided in an installable and executable format and in a computer-readable recording medium such as a Compact Disc ROM (CD-ROM), a Flexible Disk (FD), a CD-recordable (CD-R), a Digital Versatile Disk (DVD), a Universal Serial Bus (USB) memory, etc., or may be provided or distributed via a network such as the Internet, etc. Otherwise, for example, the programs may be installed in a non-volatile recording medium such as a ROM, etc., in advance and provided.

Operation of the Composite Apparatus100

FIG. 6is a flowchart of an example operation of the composite apparatus100.

In step S602, the data format determination section212of the composite apparatus100determines the format of the read data which is read by the NFC reader/writer31.

In step S604, the data format determination section212of the composite apparatus100determines whether the format of the read data is the NDEF.

In step S606, when the format of the read data is the NDEF, the data attribute determination section214refers to the definition files and determines whether there exists an application displayed in foreground. When it is determined that there is no application displayed in foreground, the process ends.

In step S608, when determining that there exists an application displayed in foreground, the data attribute determination section214acquires the type of the data described in the PAYLOAD of the read data. The data attribute determination section214refers to the definition file of the application, and determines whether the format and the type of the read data correspond to the format and the type of the data that can be handled by the application displayed in foreground. When it is determined that the format and the type of the read data do not correspond to the format and the type of the data that can be handled by the application displayed in foreground, the process ends.

In step S610, when it is determined that the format and the type of the read data correspond to the format and the type of the data that can be handled by the application displayed in foreground, the application use processing section218performs processing so that the application, displayed in foreground, can use the read data.

In step S612, when the format of the read data is not the NDEF, the communication method determination section216identifies the communication method of the read data.

In step S614, the communication method determination section216determines whether there exists an application that is registered as the application to be used with a higher priority.

In step S616, when it is determined that there exists an application that is registered as the application to be used with a higher priority, the communication method determination section216determines whether the communication method, which can be handled by the application that is registered as the application to be used with a higher priority, corresponds to the communication method of the read data. When it is determined that the communication method, which can be handled by the application that is registered as the application to be used with a higher priority, does not correspond to the communication method of the read data, the process ends.

In step S618, when it is determined that the communication method, which can be handled by the application that is registered as the application to be used with a higher priority, corresponds to the communication method of the read data, the communication method determination section216performs processing so that the application, which is registered as the application to be used with a higher priority, can use the read data.

In step S620, when there is no application that is registered as the application to be used with a higher priority, the communication method determination section216determines whether there exists an application that can handle the communication method of the read data. When it is determined that there is no application that can handle the communication method of the read data, the process ends.

In step S622, when it is determined that there exists an application that can handle the communication method of the read data, the communication method determination section216determines whether the number of the applications that can handle the communication method of the read data is one.

In step S624, when it is determined that the number of the applications that can handle the communication method of the read data is one, the application use processing section218performs a process so that the application, which can handle the communication method of the read data, can use the read data.

In step S626, when it is determined that the number of the applications that can handle the communication method of the read data is other than one, the application use processing section218performs a process so that the applications, which can handle the communication method of the read data, can use the read data. This process is described below.

FIG. 7illustrates a flow in which, when it is determined that the number of the applications that can handle the communication method of the read data is other than one in step S626, the application use processing section218performs processing so that the applications can use the read data. The application use processing section218notifies the applications of the information that the read data can be used. The applications, which are notified that the read data can be used, send respective data lock requests. The application use processing section218selects the application that transmits the data lock request first from among the applications to which the information that the read data can be used is notified. By doing this, it becomes possible for the composite apparatus100to perform exclusive control when there are plural applications that use the read data.

The example ofFIG. 7illustrates a case where it is determined that there are two applications, Application-A252and Application-B254, that can handle the communication method of the read data. Note that the process ofFIG. 7may also be applied on a case where the number of the applications that can handle the communication method of the read data is three or more in addition to two.

In step S702, the application use processing section218transmits a read data available notification, that indicates that the read data can be used, to the Application-B254. The read data are input by the device driver of the NFC reader/writer31.

In step S704, the application use processing section218transmits the read data available notification to the Application-A252.

In step S706, the Application-A252sends the data lock request to the application use processing section218. Here, identification information of the application such as an application ID of the Application-A252, etc., is attached to the data lock request.

In step S708, the application use processing section218performs data lock in a manner so that the Application-A252can use the read data.

In step S710, the application use processing section218notifies the Application-A252that it is possible to respond to the data lock request.

In step S712, the Application-B254sends the data lock request to the application use processing section218. Here, the identification information of the application such as the application ID of the Application-B254, etc., is attached to the data lock request.

In step S714, the application use processing section218notifies the Application-B254that it is not possible to respond to the data lock request because the data lock has been performed already so that the Application-A252can use the read data.

In step S716, the Application-A252sends a data acquisition request to the application use processing section218. Here, the identification information of the application such as the application ID of the Application-A252, etc., is attached to the data acquisition request.

In step S718, the application use processing section218transmits the data, which are requested by the data acquisition request, to the Application-A252.

In step S720, the Application-A252sends a data unlock request to the application use processing section218. Here, the identification information of the application such as the application ID of the Application-A252, etc., is attached to the data unlock request.

In step S722, the application use processing section218performs the data unlock.

In step S724, the application use processing section218transmits the read data available notification to the Application-A252.

In step S726, the application use processing section218transmits the read data available notification, that indicates that the read data can be used, to the Application-B254.

In step S728, the Application-B254sends the data lock request to the application use processing section218. Here, the identification information of the application such as the application ID of the Application-B254, etc., is attached to the data lock request.

In step S730, the application use processing section218performs the data lock in a manner so that the Application-B254can use the read data.

In step S732, the application use processing section218notifies the Application-B254that it is possible to respond to the data lock request.

In step S734, the Application-B254sends the data acquisition request to the application use processing section218. Here, the identification information of the application such as the application ID of the Application-B254, etc., is attached to the data acquisition request.

In step S736, the application use processing section218transmits the data, which are requested by the data acquisition request, to the Application-B254.

In step S738, the Application-B254sends the data unlock request to the application use processing section218. Here, the identification information of the application such as the application ID of the Application-B254, etc., is attached to the data unlock request.

In step S728of the sequence chart inFIG. 7, if the Application-A252sends the data lock request, the Application-A252would sequentially acquire the read data. Therefore, it is also possible to notify that it is not possible to respond to the data lock request transmitted from the Application-A252. By doing this, it becomes possible to prevent an event that an application sequentially performs processing on the read data.

According to an embodiment of the composite apparatus100, it is determined whether the data that is read by the NFC reader/writer31are the data that are read in the peer-to-peer mode. When it is determined that the data that is read by the NFC reader/writer31are the data that are read in the peer-to-peer mode, a notification that the read data can be used to the application that can use the read data. On the other hand, when it is determined that the data that is read by the NFC reader/writer31are not the data that are read in the peer-to-peer mode, based on a communication method by which the read data are transmitted, a notification that the read data can be used to the application that corresponds to (support) the communication method. By doing this, it becomes possible for the composite apparatus100to respond to both NFC operation modes (i.e., the reader/writer mode and the peer-to-peer mode).

Further, by performing the exclusive control so that only the application that responds first can use when the notification that the read data read in the reader/writer mode can be used to plural applications, it becomes possible for the plural applications to use the read data.

The composite apparatus100is an example of claimed “information processing apparatus”, and the NFC is an example of claimed “near field wireless communications”.

The present application is based on and claims the benefit of priority of Japanese Patent Application Nos. 2014-036648 filed Feb. 27, 2014, and 2014-229932 filed Nov. 12, 2014, the entire contents of which are hereby incorporated herein by reference.

DESCRIPTION OF THE REFERENCE NUMERALS

PRIOR ART DOCUMENTS

Patent Document