PRIORITYThis application is a continuation of prior application Ser. No. 13/881,661, filed Apr. 25, 2013, which is a National Stage application under 35 U.S.C. §371 of an International application filed on Oct. 25, 2011 and assigned application No. PCT/KR2011/007981, which claims the benefit under 35 U.S.C. §365(b) of an Indian patent application filed on Oct. 25, 2010 in the Indian Intellectual Property Office and assigned Serial No. 3173/CHE/2010, the entire disclosures of which are hereby incorporated by reference.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to the field of near field communication system. More particularly, the present invention relates to a method and system of communicating personal health data in a near field communication environment.
2. Description of the Related Art
Near Field Communication (NFC) is used in devices for communicating with other devices in a network range of less than 10 cm. Typically, in an NFC system, user applications can read or write information from or to NFC tags. NFC tags are static in nature and do not have capabilities for dynamically processing of data stored in it. Generally, NFC tags are powered by a radio frequency field generated by an active NFC device and are able to respond to requests from the active NFC device.
A standard developed by the International Organization for Standardization (ISO) and the Institute of Electrical and Electronics Engineers (IEEE) referred to as ISO/IEEE 11073 enables communication between medical devices and external systems. Personal health devices that are complaint with ISO/IEEE 11073 standards can communicate with each other using the ISO/IEEE 11073-20601 communication protocol. The ISO/IEEE 11073 standard defines an ‘agent’ as a node that collects and transmits personal health data to an associated NFC manager and ‘manager’ as a node that receives personal health data from one or more agents. Exemplary managers include a cell phone, a health appliance, a set top box, a personal computer system and the like. The ISO/IEEE 11073-20601 standard defines the communication protocol between the NFC agent and the NFC manager.
Typically, an NFC manager (i.e., ISO/IEEE 11073 manager with an NFC Read/Write Interface) and an NFC agent (i.e., ISO/IEEE 11073 agent with an NFC tag) communicate in an NFC reader/writer mode using an NFC Data Exchange Format (NDEF) message. The NDEF message can be any one of type, text, a Uniform Resource Indicator (URI), an image, a Multipurpose Internet Mail Extension (MIME) type, etc. In the NFC reader/writer communication mode, NDEF messages are exchanged between the NFC manager and the NFC agent using the tag transport protocols.
Generally, the NFC agent and NFC manager exchange a sequence of ISO/IEEE 11073-20601 Application Protocol Data Units (APDUs) for association, configuration and exchanging of measurement data. This involves series of request and response exchanges between the NFC agent and the NFC manager.
Usually, when an NFC manager writes a request into an NFC tag residing in an NFC agent, the NFC agent reads the request stored in the NFC tag and writes a response to the request into the NFC tag. The NFC manager reads the response written by the NFC agent from the NFC tag. However, in the event that the NFC agent delays the reading of the request from the NFC tag, the NFC manager reads the request written by itself and considers the request as a response from the NFC agent due to the limited capabilities of the NFC tag, leading to connection setup latency and communication overhead.
The above information is presented as background information only to assist with an understanding of the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the present invention.
SUMMARY OF THE INVENTIONAspects of the present invention are to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention is to provide a method and system for communicating personal health data in a Near Field Communication (NFC) environment.
In accordance with an aspect of the present invention, a method of communicating personal health data in an NFC environment is provided. The method includes setting control information in an NFC Data Exchange Format (NDEF) record by a first NFC device to synchronize communication between the first NFC device and a second NFC device in the NFC environment, wherein the control information includes at least one of a direction flag, a request/response type flag, a state flag and a sequence identifier field, and writing the NDEF record containing the control information into an NFC tag.
In accordance with another aspect of the present invention, an apparatus for communicating personal health data in an NFC environment is provided. The apparatus includes a processor, and memory coupled to the processor, wherein the memory comprises a read/write module configured for setting control information in an NFC Data Exchange Format (NDEF) record, wherein the control information includes a direction flag, a request/response type flag, a state flag and a sequence identifier field, and writing the NDEF record containing the control information into an NFC tag.
The present invention is to provide a method and system for communicating personal health data in an NFC environment.
Other aspects, advantages, and salient features of the invention will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses exemplary embodiments of the invention.
BRIEF DESCRIPTION OF DRAWINGSThe above and other aspects, features, and advantages of certain exemplary embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
FIG. 1 is a block diagram of a Near Field Communication (NFC) system enabling communication of personal health data between an NFC manager and an NFC agent according to an exemplary embodiment of the present invention.
FIG. 2 is a flowchart illustrating a method of reading/writing NFC Data Exchange Format (NDEF) record into the NFC tag according to an exemplary embodiment of the present invention.
FIG. 3A is a schematic representation of an NDEF record according to an exemplary embodiment of the present invention.
FIG. 3B is a schematic representation of a payload field in the NDEF record according to an exemplary embodiment of the present invention.
FIG. 4 is a schematic representation of a payload field in the NDEF record according to another exemplary embodiment of the present invention.
FIG. 5 illustrates a block diagram of the NFC manager according to an exemplary embodiment of the present invention.
FIG. 6 illustrates a block diagram of the NFC agent according to an exemplary embodiment of the present invention.
Throughout the drawings, it should be noted that like reference numbers are used to depict the same or similar elements, features, and structures.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTSThe following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of exemplary embodiments of the invention as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the invention. Accordingly, it should be apparent to those skilled in the art that the following description of exemplary embodiments of the present invention is provided for illustration purpose only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.
It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.
FIG. 1 is a block diagram100 of a Near Field Communication (NFC) system for enabling communication of personal health data between an NFC manager and an NFC agent according to an exemplary embodiment of present invention.
Referring toFIG. 1, theNFC system100 includes anNFC manager102 having an NFC read/writemodule104, and anNFC agent106 with anNFC tag108 and an NFC read/writemodule110. The NFCmanager102 may be a device (e.g., a cell phone, a tablet, a smart phone, a personal digital assistant, a set-top box, a personal computer, and the like) capable of communicating with the NFCagent106. The NFCagent106 is a device capable of collecting personal health data and communicating the personal health data with the NFCmanager102 via the NFCtag108. The NFCmanager102 and the NFCagent106 writes and/or reads data in the NFCtag108 using a standard developed International Organization for Standardization (ISO) and Institute of Electrical and Electronic Engineers (IEEE) referred to as the ISO/IEEE 11073-20601 communication protocol.
For communicating personal health data, theNFC manager102 and theNFC agent106 exchange a series of request/response messages via theNFC tag108. In an exemplary operation, theNFC manager102 sets control information in a NFC Data Exchange Format (NDEF) record. The NDEF record may contain a header and a payload field. The payload field includes control information and/or other payload data. It is noted that the control information can be encoded in other fields of the NDEF record other than the payload field. The control information may include a direction flag, a state flag, a request/response flag, and a sequence identifier field. The direction flag indicates a direction of communication of the NDEF record. The state flag indicates a state of communication of theNFC manager102 or theNFC agent106. The request/response flag indicates whether the NDEF record carries an ISO/IEEE 11073-20601 protocol request command or an ISO/IEEE 11073-20601 protocol response command. The sequence identifier field indicates a sequence identifier of NDEF records exchanged between theNFC manager102 and theNFC agent106. According to the exemplary embodiment, the control information is set in the NDEF record to provide synchronized communication between theNFC manager102 and theNFC agent106 to efficiently obtain personal health data from theNFC agent106. Upon the setting of the control information, the NFC read/write module104 of theNFC manager102 writes the NDEF record containing the control information and/or other payload data into theNFC tag108.
Subsequently, the NFC read/write module110 of theNFC agent106 reads the NDEF record stored in theNFC tag108. The NFC read/write module110 retrieves the control information from the NDEF record and determines a direction of the communication, a request/response command, a communication state, and a sequence identifier based on the direction flag, a request/response flag, a state flag, and a sequence identifier field. In the above case, the direction flag indicates if the direction of communication is from theNFC manger102 to theNFC agent106 or vice-versa. The request/response flag indicates if the NDEF record carries the request command in the payload field. The state flag indicates the communication state of the NFC manager when the NDEF record is written in theNFC tag108. The sequence identifier field indicates the sequence identifier allocated to the NDEF record by the NFC agent. Accordingly, the NFC read/write module110 updates the control information (i.e., the direction flag, the sequence identifier, the state flag and the request/response flag) in the NDEF record and encodes payload data in the payload field of the NDEF record. Then, the NFC read/write module110 writes the NDEF record into theNFC tag108.
At substantially the same time, the NFC read/write module104 of theNFC manager102 reads the NDEF record containing the control information and other payload data from theNFC tag108. The NFC read/write module104 then retrieves the control information from the NDEF record and determines a direction of the communication, a request/response command, a communication state, and a sequence identifier based on the direction flag, the request/response flag, the state flag, and the sequence identifier field. Accordingly, the NFC read/write module104 determines whether the NDEF record read from theNFC tag108 is same as the previous NDEF record written into theNFC tag108 based on the control information in the read NDEF record. For example, if the direction flag indicates the direction of communication as from theNFC manager102 to theNFC agent106 and the request/response flag indicates that the NDEF records contain the request command, then the NFC read/write module104 identifies that the NDEF record is the same NDEF record previously written by theNFC manager102 and is not the NDEF record received from theNFC agent106. In such a scenario, the read/write module104 may ignore the read NDEF record and continue reading theNFC tag108 after a time interval. That is, the NDEF record read by the NFC read/write module104 is the same as the previously written NDEF record and the NDEF record written into theNFC tag108 is not yet read by theNFC agent106 or the NFC read/write module104 has read theNFC tag108 prior to writing the NDEF record by theNFC agent106. In such a case, the control information in the NDEF record enables theNFC manager102 to determine the identity of the NDEF record.
If the NFC read/write module104 determines that the NDEF record contains payload data previously received from theNFC agent106, then the NFC read/write module104 processes the payload data and encodes new control information and different payload data in an NDEF record. Then, the NFC read/write module104 writes the NDEF record with the new control information and different payload data in theNFC tag108. The above process continues until personal health data is communicated to theNFC manager102 by theNFC agent106 in the payload field of one of the NDEF records exchanged between theNFC manager102 and theNFC agent106.
FIG. 2 is a flowchart illustrating a method of reading/writing NFC Data Exchange Format (NDEF) record into the NFC tag according to an exemplary embodiment of present invention.
Referring toFIG. 2 of theflowchart200, atstep202, an NDEF record containing the control information and payload data is read from theNFC tag108. As described above, the control information includes a direction flag, a state flag, a request/response flag, and a sequence identifier field. Atstep204, it is determined whether the NDEF record in theNFC tag108 is written by theNFC agent106 based on the control information. If the NDEF record is written by theNFC agent106, then atstep206, the payload data in the read NDEF record is processed and new control information and payload data (e.g., ISO/IEEE 11073-20601 data) is encoded in the payload field of a new NDEF record. Atstep208, the new NDEF record containing the control information and the payload is written into theNFC tag108. Steps202-208 are repeated until a complete ISO/IEEE 11073 personal health data payload is received from theNFC agent106. Referring back to step204, if the NDEF record is written by theNFC manager102, then the NDEF record is ignored and theNFC tag108 is read again after a time to obtain another NDEF record. One skilled in the art will realize that the above steps202-208 can also be implemented at theNFC agent106.
FIG. 3A is a schematic representation of an NDEF record according to an exemplary embodiment of present invention.
TheNFC record300 includes apayload field302. Thepayload field302 includes control information associated with the NDEF record and other payload data. Alternatively, anID field304 includes control information associated with the NDEF record. TheNDEF record300 can be exchanged between theNFC manager102 and theNFC agent106 in a peer-to-peer mode using a Simple NDEF Exchange Protocol (SNEP). For example, theNFC manager102 acting as a SNEP client can exchange theNDEF record300 with theNFC agent106 acting as SNEP server. For this, theNFC manager102 can use a SNEP request message with a PUT request to send theNDEF record300 to theNFC agent106. TheNFC agent106 can send a response NDEF record to theNFC manager102 using a SNEP response message with a PUT request. Alternatively, theNFC manager102 can use a SNEP request message with a GET request.
FIG. 3B is a schematic representation of the payload field in the NDEF record, according to an exemplary embodiment of present invention.
Thepayload field302 in theNDEF record300 includes acontrol field352 and adata field354. Thecontrol field352 includes adirection flag field356, a request/response flag field358, astate flag field360, and asequence identifier field362. Thedirection flag field356 indicates a direction of communication of the NDEF record. For example, thedirection flag field356 includes a value ‘0’ if the NDEF record is written into theNFC tag108 by theNFC agent106. When the NDEF record is written by theNFC manager102, thedirection flag field356 includes a value ‘1’.
The request/response flag field358 indicates whether the NDEF format includes an ISO/IEEE 11073-20601 communication protocol request command or ISO/IEEE 11073-20601 communication protocol response command. For example, the request/response flag field358 includes a value ‘0’ when the NDEF record corresponds to a request command and includes a value ‘1’ when the NDEF record corresponds to a response command. Thestate flag field360 indicates a communication state of a sender of the NDEF record. Thestate flag field360 helps determine the state of theNFC manager102 or theNFC agent106 during a particular instance of communication. Exemplary values of thestate flag field360 indicate a specific state of theNFC manager102 or theNFC agent106 as shown in Table 1 below:
| TABLE 1 |
| |
| 0x00 | DISCONNECTED |
| 0x01 | CONNECTED |
| 0x02 | UNASSOCIATED |
| 0x03 | ASSOCIATING |
| 0x04 | ASSOCIATED |
| 0x05 | OPERATING |
| 0x06 | CONFIGURING |
| 0x07 | DISASSOCIATING |
| 0x08-0X3F | RFU |
| |
For example, as shown in Table 1, thestate flag field360 may include a value ‘0x00’ when theNFC agent106 or theNFC manager102 is in a disconnected state. When theNFC agent106 or theNFC manager102 is in a connected state, thestate flag field362 may include a value ‘0x01’.
Thesequence identifier field362 indicates a sequence identifier assigned to each NDEF record communicated between the NFC read/write module104/110 and theNFC tag108. In other words, thesequence identifier field362 indicates the order in which the NDEF records are written into the NFC tag so that the NDEF records are not duplicated or missed during communication between theNFC manager102 and theNFC agent106. The sequence identifier that is exchanged between theNFC manager102 and theNFC agent106 can be a random number or a sequence of numbers incremented by one.
Thesequence identifier field362 enables the controlling of the flow of NDEF records exchanged between the NFC read/write module104/110 and theNFC tag108. The sequence identifier in thesequence identifier field362 provides reliability in communication between theNFC manager102 and theNFC agent106. It is noted that thesequence field362 can also be included in a header of the NDEF record. Thedata field354 includes ISO/IEEE 11073-20601 data exchanged between theNFC manager102 and theNFC agent106.
FIG. 4 is a schematic representation of the payload field of the NDEF record, according to another exemplary embodiment of present invention.
Thepayload field302 is used for communicating measurement data (e.g., physical health data). Thepayload field302 encodes ISO/IEEE 11073-20601 personal health information, thereby enabling interoperability in exchanging ISO/IEEE 11073 personal health data. Thepayload field302 reduces connection setup latency and communication overhead.
Thepayload field302 includes a data proto-id field402, aprotocol version field404, an encoding rulesfield406, anomenclature version field408, a systemidentifier length field410, asystem identifier field412, a config-report length field414, a config-report data field416, a measurementdata length field418, and ameasurement data field420.
The data proto-id field402 indicates an identifier of a data exchange protocol. For example, the data proto-id field402 includes a value ‘0’, ‘20601’ and ‘65535’. The value ‘20601’ indicates that the ISO/IEEE 11073-20601 protocol is used. Theprotocol version field404 is a one byte field indicating protocol identifier version used by theNFC agent106. For example, the 4 Most Significant Bits (MSB) indicate a major release version and the 4 Least Significant Bits (LSB) indicate a minor release version. The encoding rulesfield406 indicates specific data Application Protocol Data Units (APDU) encoding rule(s) that are supported by theNFC agent106. It is appreciated that, theNFC agent106 and theNFC manager102 supports Medical Device Encoding Rules (MDER) and negotiates on other encoding rule(s) except MDER. For example, the encoding rules field406 includes a value ‘0’ if MDER is supported, a value ‘1’ if eXtensible markup language Encoding Rules (XER) are supported, and a value ‘2’ if Packed Encoding Rules (PER) are supported.
Thenomenclature version field408 indicates a version of nomenclature used as defined in ISO/IEEE 11073-20601. For example, the MSB bit is set to a value ‘0’ if thenomenclature version 1 is used. The systemidentifier length field410 indicates a length of thesystem identifier field412. Thesystem identifier field412 includes a unique system identifier of theNFC agent106. The Extended Unique Indentifier-64 (EUI-64) format is used to identify theNFC agent106. Thesystem identifier field412 enables theNFC manager102 to determine the identity of theNFC agent106 and to implement a simple access restriction policy.
The config-report length field414 indicates a length of the config-report data field416. The config-report data field416 carries a configuration event report of theNFC agent106 starting with object handling bytes. The format of the config-report data field416 is similar to the configuration event report as specified in the ISO/IEEE 11073-20601 specification. Themeasurement data length418 indicates a length of themeasurement data field420. Themeasurement data field420 carries a measurement data report from theNFC agent106 starting with object handle bytes. The format of themeasurement data field420 is similar to the measurement data report as specified in ISO/IEEE 11073-20601 specification.
FIG. 5 illustrates a block diagram of the NFC manager according to an exemplary embodiment of the present invention.
Referring toFIG. 5, theNFC manager102 includes aprocessor502,memory504, a Read Only Memory (ROM)506, acommunication interface508, and abus510. Theprocessor502, as used herein, can be implemented by any type of computational circuit, such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set computing microprocessor, a reduced instruction set computing microprocessor, a very long instruction word microprocessor, an explicitly parallel instruction computing microprocessor, a graphics processor, a digital signal processor, or any other type of suitable processing circuit. Theprocessor502 may also include embedded controllers, such as generic or programmable logic devices or arrays, application specific integrated circuits, single-chip computers, smart cards, and the like.
Thememory504 may be volatile memory and non-volatile memory. Thememory504 includes the NFC read/write module104 for reading and/ or writing NDEF records containing control information and other payload data from and/or to theNFC tag108, according to an exemplary embodiment of the present invention. Thecommunication interface508 may be a radio frequency interface for enabling communication between theNFC Manager102 and theNFC Agent106 in a peer-to-peer mode, a reader and/or writer mode, and a card emulation mode. Thebus510 enables communication between the various components of theNFC manager102 illustrated therein.
Exemplary embodiments of the present invention may be implemented in conjunction with modules, including functions, procedures, data structures, and application programs, for performing tasks, or defining data types or low-level hardware contexts. Machine-readable instructions stored on any of the above-mentioned storage media may be executable by theprocessor502. For example, a computer program may include machine-readable instructions capable of reading and/or writing NDEF records containing control information and other payload data from and/or to theNFC tag108, according to the exemplary embodiment of the present invention. In an exemplary embodiment, the computer program may be included on a storage medium and loaded from the storage medium to a hard drive in the non-volatile memory.
FIG. 6 illustrates a block diagram of the NFC agent according to an exemplary embodiment of the present invention.
Referring toFIG. 6, theNFC agent106 includes theNFC tag108, aprocessor602,memory604, aROM606, acommunication interface608, and abus610. Theprocessor602, as used herein, can be implemented by any type of computational circuit, such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set computing microprocessor, a reduced instruction set computing microprocessor, a very long instruction word microprocessor, an explicitly parallel instruction computing microprocessor, a graphics processor, a digital signal processor, or any other suitable type of processing circuit. Theprocessor602 may also include embedded controllers, such as generic or programmable logic devices or arrays, application specific integrated circuits, single-chip computers, smart cards, and the like.
Thememory604 may be volatile memory and non-volatile memory. Thememory604 includes the NFC read/write module110 for reading and/or writing NDEF records containing control information and other payload data from and/or to theNFC tag108, according to an exemplary embodiment of the present invention. Thecommunication interface608 may be a radio frequency interface for enabling communication between theNFC manager102 and theNFC agent106 in a peer-to-peer mode, a reader and/or writer mode, and a card emulation mode. Thebus610 enables communication between the various components of theNFC agent106 illustrated therein.
Exemplary embodiments of the present invention may be implemented in conjunction with modules, including functions, procedures, data structures, and application programs, for performing tasks, or defining data types or low-level hardware contexts. Machine-readable instructions stored on any of the above-mentioned storage media may be executable by theprocessor602. For example, a computer program may include machine-readable instructions capable of reading and/or writing NDEF records containing control information and other payload data from and/or to theNFC tag108 and communicating the NDEF records stored in the NFC tag into theNFC manger102, according to the exemplary embodiment of the present invention. In an exemplary embodiment, the computer program may be included on a storage medium and loaded from the storage medium to a hard drive in the non-volatile memory.
While the invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.