Embodiments of the present invention relate generally to communications technology, devices, and, more particularly, to facilitating communication between devices.
From credit cards to access-control cards to public transportation payment cards, the use of devices to communicate information in our society is continuing to grow and to affect more aspects of our daily life. Some such devices, which may include electronic identification cards and mobile terminals, act as “smart cards” that can receive an input, process the input, and deliver an output. For example, a growing number of people worldwide are using smart cards for payment and ticketing applications, such as mass transit.
Contact smart cards require contact with electrical connectors that can read information from the device (e.g., from a chip embedded in a plastic card) and write information back. For example, a contact smart card may be inserted into a reader, which acts as a communications medium between the smart card and another device, such as a computer. Contactless smart cards, on the other hand, are designed to communicate through Radio Frequency Identification (RFID) induction and require only proximity to a reader to communicate.
Some devices, such as mobile terminals, are capable of performing card emulation so as to function as smart cards to communicate with other devices using short-range wireless technology, such as Near Field Communication (NFC) and RFID technology. For example, a mobile terminal may be able to communicate with a point-of-sale (POS) device to complete a consumer transaction, for example according to a smart card standard such as ISO 14443, and may also be able to communicate with other mobile terminals in the area using a peer-to-peer communications protocol (such as according to ECMA 340 or ISO 18092 standards).
In some cases, a device (i.e., a target) that supports both card emulation and peer-to-peer functionality may experience inefficiencies when determining which protocol to use to communicate with another device (i.e., an initiator). As a result, the target may not be able to meet performance requirements imposed by the initiator. In addition, communicating according to one communications protocol may prevent the target from being responsive to other potential initiators seeking to communicate according to other communications protocols. Also, the target may not be able to provide instantaneous feedback to the user even though the target may be communicating with the initiator according to the appropriate communications protocol.
Thus, there is a need for a way to facilitate communication between targets and initiators such that the appropriate communications link is established with limited effects on the communication itself.
An apparatus, method, computer program product, and system are therefore provided for facilitating communication between targets and initiators. An initiator may transmit a signal to a target including an indication of the communication capability of the initiator. In this way, the target may be able to determine the appropriate communication method to use for communicating with the initiator.
In one exemplary embodiment, an apparatus for facilitating communication is provided. The apparatus comprises a processor configured to receive signals from one of a number of potential devices including an indication of a communication capability of the device. The communication capability may include a communications protocol. The processor is also configured to provide for signals to be transmitted via the communications protocol based on the indication received.
The processor may provide for the signals to be transmitted to the device using a peer-to-peer communications protocol when the indication indicates that the device is peer-to-peer capable. In some embodiments, the processor may provide for the signals to be transmitted to the device according to a proximity card technique when the indication is absent.
The apparatus may further comprise a transmitter in communication with the processor configured to transmit signals and a receiver in communication with the processor configured to receive signals. The transmitter and the receiver may be configured to transmit and receive signals, respectively, according to ISO 14443-4 or Mifare, among other techniques. The receiver and the transmitter may be included in a Near Field Communications chip. Furthermore, the apparatus may include a secure element in communication with the processor, and the secure element in cooperation with the transmitter may provide for the signals to be transmitted to the device according to a proximity card technique when the indication is absent so as to emulate a smart card. The processor may be configured to bypass the secure element if the indication indicates that the device is peer-to-peer capable. In some embodiments, the apparatus may include a mobile terminal. The apparatus may further include means for changing configuration between a smart card emulation and a peer-to-peer configuration.
In other exemplary embodiments, an apparatus is provided comprising a processor configured to provide for transmission of signals including an indication of a communication capability, wherein the communication capability includes a communications protocol, wherein the processor is configured to receive a response from a device that has received the transmitted signals, and wherein the processor is configured to provide for the signals to be transmitted via a communications protocol based on the response received.
The processor may provide for transmission of the indication including an inquiry regarding an availability of a predefined software application on the device. The processor may provide for the signals to be transmitted using a peer-to-peer communications protocol if the response to the indication comprises a predefined response. Furthermore, the processor may provide for a repeat transmission of the indication if the response to a first transmission of the indication comprises a predefined response. The processor may provide for the signals to be transmitted according to a proximity card technique if the response to the indication comprises a predefined response.
The apparatus may also include a transmitter in communication with the processor, wherein the transmitter may be configured to transmit signals according to an ISO 14443-4 or Mifare technique, among others. The apparatus may also include means to select a smart card emulation or a peer-to-peer configuration.
In other exemplary embodiments, a method and computer program product for facilitating communication are provided. The method and computer program product receive a signal including an indication of a communication capability of a device, determine a communications protocol based on the indication, and communicate using the communications protocol determined.
A first response may be transmitted when the indication is received a first time. The configuration may be changed to communicate using the communications protocol determined, and a second response may be transmitted when the indication is received a second time. Furthermore, the signal may be received while emulating a smart card, and changing the configuration may include changing from a smart card emulation to a peer-to-peer communications protocol configuration. In addition, a signal from another device not including the indication may be received, and communication may occur with the other device according to a proximity card technique.
In another exemplary embodiment, an apparatus for facilitating communication is provided that includes means for receiving signals including an indication of a communication capability of a device, wherein the communication capability comprises a communications protocol. The apparatus may also include means for transmitting signals in response to the signals received and means for providing for the signals to be transmitted via the communications protocol based on the indication received.
In another exemplary embodiment, a system for facilitating communication is provided. The system includes a first device configured to transmit a signal including an indication of a communication capability and a second device configured to receive the signal and to communicate with the first device. The second device may be configured to provide a first response to the first device and to communicate with the first device using a communications protocol based on the indication if the second device has a communication capability that corresponds with the communication capability indicated by the first device.
The second device may be configured to provide a second response to the first device if the second device has a communication capability that does not correspond with the communication capability indicated by the first device, and the first device may be configured to communicate with the second device according to a proximity card technique based on the second response. The first device may be configured to communicate with the second device using a peer-to-peer communications protocol based on the second response. Furthermore, the first device may comprise a point-of-sale device.
The system may also include a clearance element configured to receive data from the first device over a wide are data network regarding payment by the second device. The clearance element may be configured to communicate with the second device to update account information based on the data received from the first device.
Furthermore, the first device may be configured to repeat transmission of the signal including the indication to the second device if the response from the second device to a first transmittal of the indication comprises a second response. The first and/or the second device may be a mobile terminal.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Embodiments of the present inventions now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, embodiments of these inventions may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.
In addition, while several embodiments of the present invention will benefit a mobile terminal 10 as described below, embodiments of the present invention may also benefit and be practiced by other types of devices, i.e., fixed terminals. Moreover, the system and method of embodiments of the present invention will be primarily described in conjunction with mobile communications applications. It should be understood, however, that the system and method of the present invention can be utilized in conjunction with a variety of other applications, both in the mobile communications industries and outside of the mobile communications industries. Accordingly, embodiments of the present invention should not be construed as being limited to applications in the mobile communications industry.
In one embodiment, however, at least one of the communicating devices (i.e., the initiator, the target, or both) is a mobile terminal 10. Although the mobile terminal may be embodied in different manners, the mobile terminal 10 of one embodiment includes an antenna 12 in operable communication with a transmitter 14 and a receiver 16. The mobile terminal 10 further includes a controller 20 or other processing element that provides signals to and receives signals from the transmitter 14 and receiver 16, respectively. The signals include signaling information in accordance with the air interface standard of the applicable cellular system, and also user speech and/or user generated data. In this regard, the mobile terminal 10 is capable of operating with one or more air interface standards, communication protocols, modulation types, and access types. By way of illustration, the mobile terminal 10 is capable of operating in accordance with any of a number of first, second and/or third-generation communication protocols or the like. For example, the mobile terminal 10 may be capable of operating in accordance with second-generation (2G) wireless communication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA) or third-generation wireless communication protocol Wideband Code Division Multiple Access (WCDMA).
It is understood that the controller 20 includes circuitry required for implementing audio and logic functions of the mobile terminal 10. For example, the controller 20 may be comprised of a digital signal processor device, a microprocessor device, and various analog to digital converters, digital to analog converters, and other support circuits. Control and signal processing functions of the mobile terminal 10 are allocated between these devices according to their respective capabilities. The controller 20 thus may also include the functionality to convolutionally encode and interleave message and data prior to modulation and transmission. The controller 20 can additionally include an internal voice coder, and may include an internal data modem. Further, the controller 20 may include functionality to operate one or more software programs, which may be stored in memory. For example, the controller 20 may be capable of operating a connectivity program, such as a conventional Web browser. The connectivity program may then allow the mobile terminal 10 to transmit and receive Web content, such as location-based content, according to a Wireless Application Protocol (WAP), for example.
The mobile terminal 10 of this embodiment also comprises a user interface including an output device such as a conventional earphone or speaker 24, a ringer 22, a microphone 26, a display 28, and a user input interface, all of which are coupled to the controller 20. The user input interface, which allows the mobile terminal 10 to receive data, may include any of a number of devices allowing the mobile terminal 10 to receive data, such as a keypad 30, a touch display (not shown) or other input device. In embodiments including the keypad 30, the keypad 30 includes the conventional numeric (0-9) and related keys (#, *), and other keys used for operating the mobile terminal 10. The mobile terminal 10 further includes a battery 34, such as a vibrating battery pack, for powering various circuits that are required to operate the mobile terminal 10, as well as optionally providing mechanical vibration as a detectable output.
The mobile terminal 10 may further include a user identity module (UIM) 38. The UIM 38 is typically a memory device having a processor built in. The UIM 38 may include, for example, a subscriber identity module (SIM), a universal integrated circuit card (UICC), a universal subscriber identity module (USIM), a removable user identity module (R-UIM), etc. The UIM 38 typically stores information elements related to a mobile subscriber. In addition to the UIM 38, the mobile terminal 10 may be equipped with memory. For example, the mobile terminal 10 may include volatile memory 40, such as volatile Random Access Memory (RAM) including a cache area for the temporary storage of data. The mobile terminal 10 may also include other non-volatile memory 42, which can be embedded and/or may be removable. The non-volatile memory 42 can additionally or alternatively comprise an EEPROM, flash memory or the like, such as that available from the SanDisk Corporation of Sunnyvale, Calif., or Lexar Media Inc. of Fremont, Calif. The memories can store any of a number of pieces of information, and data, used by the mobile terminal 10 to implement the functions of the mobile terminal 10. For example, the memories can include an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying the mobile terminal 10.
Referring now to
The MSC 46 can be coupled to a data network, such as a local area network (LAN), a metropolitan area network (MAN), and/or a wide area network (WAN). The MSC 46 can be directly coupled to the data network. In one typical embodiment, however, the MSC 46 is coupled to a GTW 48, and the GTW 48 is coupled to a WAN, such as the Internet 50. In turn, devices such as processing elements (e.g., personal computers, server computers or the like) can be coupled to the mobile terminal 10 via the Internet 50. For example, as explained below, the processing elements can include one or more processing elements associated with a device 52 (two shown in
The BS 44 can also be coupled to a signaling GPRS (General Packet Radio Service) support node (SGSN) 56. As known to those skilled in the art, the SGSN 56 is typically capable of performing functions similar to the MSC 46 for packet switched services. The SGSN 56, like the MSC 46, can be coupled to a data network, such as the Internet 50. The SGSN 56 can be directly coupled to the data network. In a more typical embodiment, however, the SGSN 56 is coupled to a packet-switched core network, such as a GPRS core network 58. The packet-switched core network is then coupled to another GTW 48, such as a GTW GPRS support node (GGSN) 60, and the GGSN 60 is coupled to the Internet 50. In addition to the GGSN 60, the packet-switched core network can also be coupled to a GTW 48. Also, the GGSN 60 can be coupled to a messaging center. In this regard, the GGSN 60 and the SGSN 56, like the MSC 46, may be capable of controlling the forwarding of messages, such as MMS messages. The GGSN 60 and SGSN 56 may also be capable of controlling the forwarding of messages for the mobile terminal 10 to and from the messaging center.
In addition, by coupling the SGSN 56 to the GPRS core network 58 and the GGSN 60, devices such as a device 52, origin server 54, and/or clearance element 130 may be coupled to the mobile terminal 10 via the Internet 50, SGSN 56 and GGSN 60. In this regard, devices such as the device 52, origin server 54, and/or clearance element 130 may communicate with the mobile terminal 10 across the SGSN 56, GPRS core network 58 and the GGSN 60. By directly or indirectly connecting mobile terminals 10 and the other devices (e.g., device 52, origin server 54, clearance element 130, etc.) to the Internet 50, the mobile terminals 10 may communicate with the other devices and with one another, such as according to the Hypertext Transfer Protocol (HTTP), to thereby carry out various functions of the mobile terminals 10.
Although not every element of every possible mobile network is shown and described herein, it should be appreciated that the mobile terminal 10 may be coupled to one or more of any of a number of different networks through the BS 44. In this regard, the network(s) can be capable of supporting communication in accordance with any one or more of a number of first-generation (1G), second-generation (2G), 2.5G, third-generation (3G) and/or future mobile communication protocols or the like. For example, one or more of the network(s) can be capable of supporting communication in accordance with 2G wireless communication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, one or more of the network(s) can be capable of supporting communication in accordance with 2.5G wireless communication protocols GPRS, Enhanced Data GSM Environment (EDGE), or the like. Further, for example, one or more of the network(s) can be capable of supporting communication in accordance with 3G wireless communication protocols such as Universal Mobile Telephone System (UMTS) network employing Wideband Code Division Multiple Access (WCDMA) radio access technology. Some narrow-band AMPS (NAMPS), as well as TACS, network(s) may also benefit from embodiments of the present invention, as should dual or higher mode mobile stations (e.g., digital/analog or TDMA/CDMA/analog phones).
The mobile terminal 10 can further be coupled to one or more wireless access points (APs) 62. The APs 62 may comprise access points configured to communicate with the mobile terminal 10 in accordance with techniques such as, for example, radio frequency (RF), Bluetooth (BT), infrared (IrDA) or any of a number of different wireless networking techniques, including wireless LAN (WLAN) techniques such as IEEE 802.11 (e.g., 802.11a, 802.11b, 802.11g, 802.11n, etc.), WiMAX techniques such as IEEE 802.16, and/or ultra wideband (UWB) techniques such as IEEE 802.15 or the like. The APs 62 may be coupled to the Internet 50. Like with the MSC 46, the APs 62 can be directly coupled to the Internet 50. In one embodiment, however, the APs 62 are indirectly coupled to the Internet 50 via a GTW 48. Furthermore, in one embodiment, the BS 44 may be considered as another AP 62. As will be appreciated, by directly or indirectly connecting the mobile terminals 10 and the device 52, the origin server 54, the clearance element 130, and/or any of a number of other devices, to the Internet 50, the mobile terminals 10 can communicate with one another, the device, etc., to thereby carry out various functions of the mobile terminals 10, such as to transmit data, content or the like to, and/or receive content, data or the like from, the device 52. As used herein, the terms “data,” “content,” “information,” “signals” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of the present invention.
Although not shown in
The signal 104 transmitted by the initiator 88 in this case, in which the credit card is a passive target, may include a power component and a communication component. The credit card 98 may be configured to capture at least part of the power component such that the credit card 98 may be energized and able to communicate with the initiator 88. The communication component of the signal 104 may request that the credit card 98 invoke a certain application, such as a payment application, so that the initiator 88 and the credit card 98 may engage in a payment transaction, for example.
The credit card 98 may in turn respond to the request in the communication component of the signal 104 from the initiator 88 by transmitting a response signal 106, which may indicate that the credit card 98 is present and is able to engage in the transaction with the initiator 88. The response signal 106 from the credit card 98 may include information about the credit card 98, such as the communication capability of the credit card 98 (i.e., how the initiator 88 should communicate with the credit card 98 in order to complete the transaction). The credit card 98, for example, may be configured to communicate according to proximity card techniques including those employing smart card techniques, such as those defined by ISO 14443-2, 14443-3, 14443-4, FELICA®, Mifare A, or Mifare B standards, among others. In this regard, proximity cards may include any contactless integrated circuit devices, and the communication techniques used may include NFC, RFID, or other short range wireless protocols. The credit card 98 may also specify the modulation schemes, coding, transfer speeds, and frame format of its interface, as well as other information.
Thus, in the typical situation described in
An exemplary embodiment of the invention will now be described with reference to
In an exemplary embodiment, such as the one shown in
The initiator 100, the target 102, or both the initiator 100 and the target 102 may be configured to function according to embodiments of the present invention. For example,
The initiator 100 may include a transmitter 110, a receiver 112, and a processor 114, as shown in
For example, referring again to
However, if the target 102 does not recognize the referenced application, for example because the target 102 is configured to function like the target 90 of
An example of a communication between the initiator 100 and a target that does not recognize the predefined software application referenced in the indication 108 (i.e., the target 90 of
In some cases, both the initiator 100 and the target 102 may be configured to function according to embodiments of the present invention. Referring to
The transmitter 111 of the target 102 (or other means of transmitting signals) may be configured to transmit signals 106 in response to the signals 104 received from the initiator 100. The processor 115 of the target 102 may communicate with the receiver 113 and the transmitter 111 such that the processor 115, e.g., in cooperation with the transmitter, may provide for the signals 106 to be transmitted to the initiator 100 via the communications protocol based on the indication 108 received from the initiator 100. The processor 115 may include, for example, the controller 20 of the mobile terminal 10 of
As previously discussed, the target 102 may be configured to communicate (i.e., transmit and receive signals) according to multiple communications techniques, such as peer-to-peer protocols and/or proximity card techniques (e.g., techniques defined by standards such as ISO 14443-4 and Mifare, among others). For example, the target 102 may be the mobile terminal 10 of
In an exemplary embodiment illustrated in
The target 102 may also include a secure element 122 or other tamper resistant component in communication with the processor (e.g., the controller 20), as shown in
If an initiator 100 configured to function according to embodiments of the present invention attempts to engage a target 102 configured to function according to embodiments of the present invention (for example if both the initiator 100 and the target 102 of
An example of the signals 104, 106 that may be communicated between the initiator 100 and the target 102 in the previous example may be seen in
In some cases, a target 102 that is configured to function according to embodiments of the present invention may be engaged by an initiator 88 that is not configured to provide an indication 108 (e.g., the initiator 88 of
Some types of transactions may involve communications with other devices or network elements, such as the devices 52, servers, and systems of
For example, referring to
In other embodiments, a method for facilitating communication between devices is provided. Referring to
If the signal includes an indication of the communication capability of the transmitting device (i.e., the initiator), as previously described and illustrated in
However, the signal received may not include an indication of the communication capability of the initiator (for example, if the initiator is the initiator 88 of
In other embodiments, a signal may be received that includes an indication of the communication capability of the initiator.
Although the target may indeed recognize the referenced application and may be able to communicate according to the technique indicated, the target may be emulating a smart card at the time the signal including the indication is received, as previously described. See block 235. In this case, a first response indicating that the referenced file is not found, or otherwise (falsely) stating that the target is not able to communicate according to the indication, may be transmitted to the initiator. Block 240.
The smart card emulation may, however, be changed to support peer-to-peer communications. Block 245. For example, the processor of the target may bypass a secure element that was providing the smart card emulation so that the target may be able to respond as a peer-to-peer capable device. As a result, upon receiving a repeat transmission of the signal from the initiator including the indication (for example 5 ms after the first transmission), a second response may be transmitted stating that the target is able to communicate according to the indication. Blocks 250 and 255. Thus, if the indication was in the form of an inquiry regarding the availability of a software application such as “initiator_parameters.AID,” the second response may state that the referenced application is recognized and that the target is ready to communicate. As a result, communication according to the peer-to-peer communications protocol specified in the indication and/or executable instructions in the referenced application may take place. Block 260.
Exemplary embodiments of the present invention have been described above with reference to block diagrams and flowchart illustrations of methods, apparatuses, and computer program products. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by various means including computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create a means for implementing the functions specified in the flowchart block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus, such as the controller 20 (shown in
Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.