US20230024454A1 - Offline data transfer between devices using gestures - Google Patents

Offline data transfer between devices using gestures Download PDF

Info

Publication number
US20230024454A1
US20230024454A1 US17/385,775 US202117385775A US2023024454A1 US 20230024454 A1 US20230024454 A1 US 20230024454A1 US 202117385775 A US202117385775 A US 202117385775A US 2023024454 A1 US2023024454 A1 US 2023024454A1
Authority
US
United States
Prior art keywords
data
card
data card
file
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US17/385,775
Other versions
US11556264B1 (en
Inventor
Kiran Pulla
Mohan Beela
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of America Corp
Original Assignee
Bank of America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of America Corp filed Critical Bank of America Corp
Priority to US17/385,775 priority Critical patent/US11556264B1/en
Assigned to BANK OF AMERICA CORPORATION reassignment BANK OF AMERICA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEELA, MOHAN, PULLA, KIRAN
Priority to US18/051,823 priority patent/US11914880B2/en
Application granted granted Critical
Publication of US11556264B1 publication Critical patent/US11556264B1/en
Publication of US20230024454A1 publication Critical patent/US20230024454A1/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/352Contactless payments by cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds

Definitions

  • the present disclosure relates generally to data processing, and more specifically to offline data transfer between devices using gestures.
  • a computing infrastructure generally includes several data servers connected to a network such as the internet.
  • data can be exchanged between data files stored on the same data server or different data servers upon request from registered users.
  • the data server(s) as well as a computing device being used by the user to request the data transfer must be connected to a network such as the internet.
  • the user may need to connect a computing device of the user to the internet and communicate with the first server and/or the second server over the internet to request the data transfer.
  • the user cannot initiate data transfers between data files stored at one or more servers without access to a network such as the internet that enables the user to communicate with the one or more servers and initiate the data transfers.
  • the system and methods implemented by the system as disclosed in the present disclosure provide technical solutions to the technical problems discussed above by allowing a user to initiate a data exchange between data files stored on one or more data servers when the user is outside network coverage and unable to connect to a network such as the internet.
  • the disclosed system and methods provide several practical applications and technical advantages.
  • the disclosed system provides the practical application of allowing a first user to transfer data from a first data file stored for the first user on a first data server to a second data file stored for a second user on the same or a different data server without needing to request the data transfer over a network such as the internet, for example, when the first user is outside network coverage.
  • a first data card of the first user may be registered with the first data server and a second data card of the second user may be registered with the second data server.
  • the first data card connects to the network and synchronizes with the first data server so that at least a portion of the first data file is copied to the first data card.
  • the second data card connects to the network and synchronizes with the second data server so that at least a portion of the second data file is copied to the second data card.
  • the data cards may be exchanged between the first and second data cards over a peer-to-peer connections between the data cards.
  • the data cards synchronize again with the respective data server so that the offline data interactions performed between the two data cards are reflected in the first and second data files at the first and second data servers.
  • the data transfer between the first and second data cards over the peer-to-peer connection between the data cards amounts to an indirect data transfer between the first and second data servers.
  • system and method described in accordance with embodiments of the present disclosure allow a user to perform a data transfer between data files stored at the same or different data servers when the user is outside network coverage by performing a data transfer between data cards registered with the respective data files over a peer-to-peer connection between the data cards without needing to connect to a network to request the data transfer.
  • a first data card may be configured to detect pre-configured gestures related to a data interaction between the first data card and a second data card, based on sensor data collected from sensors included in the first data card. For example, when the sensors of the first data card detect the second data card moving from left to right relative to the first data card in close proximity, the first data card may be configured to detect a pairing gesture. On the other hand, when the sensors of the first data card detect the second data card moving from top to bottom relative to the first data card in close proximity, the first data card may be configured to detect a transfer gesture.
  • the first user when the first user desires to transfer data from a first local data file stored at the first data card to a second local data file stored at the second data card, the first user first performs a pairing gesture by moving the first data card left to right relative to the second data card within a pre-selected distance from the second data card.
  • the relative movement of the data cards is recorded by the sensors on both data cards and interpreted by respective data cards as a pairing gesture.
  • the data cards establish a peer-to-peer connection between them.
  • the first user may authenticate the data transfer from the first data card to the second data card by inputting a unique key using a data input device provided at the first data card. Thereafter, the first user performs a transfer gesture by moving the first data card top to bottom relative to the second data card within the pre-selected distance from the second data card. This relative movement of the data cards is recorded by the sensors on both data cards and interpreted by the data cards as a transfer gesture.
  • the first data card may initiate transfer of the data from the first local data file to the second data card over the already established peer-to-peer connection.
  • the second data card may prepare to receive the data from the first data card in response to detecting the transfer gesture.
  • the second data card may store the received data in the memory of the second data card.
  • FIG. 1 is a schematic diagram of an example data processing system, in accordance with certain embodiments of the present disclosure
  • FIG. 2 illustrates an example data card, in accordance with certain embodiments of the present disclosure
  • FIG. 3 A illustrates an example pairing gesture, in accordance with certain embodiments of the present disclosure
  • FIG. 3 B illustrates an example transfer gesture, in accordance with certain embodiments of the present disclosure
  • FIG. 4 illustrates an example user interface of a data card as shown in FIG. 2 , in accordance with one or more embodiments of the present disclosure
  • FIG. 5 is a flowchart of an example method for performing a data interaction between a first data card and a second data card, in accordance with certain embodiments of the present disclosure.
  • FIG. 6 illustrates an example schematic diagram of a data server illustrated in FIG. 1 , in accordance with one or more embodiments of the present disclosure.
  • FIG. 1 is a schematic diagram of an example data processing system 100 , in accordance with certain embodiments of the present disclosure.
  • data processing system 100 includes a first data server 110 , a second data server 120 , a first data card 130 and a second data card 150 , each capable of connecting to a network 170 .
  • the network 170 in general, may be a wide area network (WAN), a personal area network (PAN), a cellular network, or any other technology that allows devices to communicate electronically with other devices.
  • the network 170 may be the Internet.
  • First data server 110 may store for a first user, a first data file 112 and a first offline data file 114 associated with the first data file 112 .
  • the first user may be registered with the first data server 110 to maintain the first data file 112 and the associated first offline data file 114 at the first data server 110 .
  • the first data file 112 may store data for the first user.
  • the first offline data file 114 may be linked to the first data file 112 and may store a portion of the data from the first data file 112 .
  • the first data server 110 may be configured to transfer a portion of the first user's data from the first data file 112 to the first offline data file 114 , based on selections made by the first user.
  • the first user may configure the first data server 110 to transfer the portion of the data from the first data file 112 to the first offline data file 114 .
  • the first data server 110 may be configured to maintain a pre-selected amount of user data in the first offline data file 114 .
  • first data server 110 may be configured to transfer additional data from the first data file 112 to the first offline data file 114 to keep the amount of data in the first offline data file 114 at or above the pre-selected amount of data.
  • the second data server 120 may store for a second user, a second data file 122 and a second offline data file 124 associated with the second data file 122 .
  • the second user may be registered with the second data server 120 to maintain the second data file 122 and the associated second offline data file 124 at the second data server 120 .
  • the second data file 122 may store data for the second user.
  • the second offline data file 124 may be linked to the second data file 122 and may store a portion of the data from the second data file 122 .
  • the second data server 120 may be configured to transfer a portion of the second user's data from the second data file 122 to the second offline data file 124 , based on selections made by the second user.
  • the second user may configure the second data server 120 to transfer the portion of the data from the second data file 122 to the second offline data file 124 .
  • the second data server 120 may be configured to maintain a pre-selected amount of user data in the second offline data file 124 .
  • second data server 120 may be configured to transfer additional data from the second data file 122 to the second offline data file 124 to keep the amount of data in the second offline data file 124 at or above the pre-selected amount of data.
  • the first user may be registered with both the first data server 110 and the second data server 120 .
  • the second data file 122 and the associated second offline data file 124 may also belong to the first user.
  • the first data file 112 and the associated first offline data file 114 stored at the first data server 110 , as well as the second data file 122 and associated second offline data file 124 may belong to the same user.
  • the first data server 110 may include the second data server 120 or vice versa.
  • the first data server 110 and the second data server 120 may be part of a single processing entity.
  • First data card 130 may belong to the first user and may be registered with the first data server 110 and linked to the first offline data file 114 of the first user. As shown in FIG. 1 , the first data card 130 may store a first local data file 132 which may include at least a portion of the first offline data file 114 . For example, the first data card 130 may be configured to synchronize the first local data file 132 with the first offline data file 114 over the network 170 such that the first local data file 132 is a copy of the first offline data file 114 right after the synchronization is completed. The first data card 130 may be configured to synchronize the first local data file 132 with the first offline data file 114 over the network 170 according to a pre-determined schedule (e.g., periodically).
  • a pre-determined schedule e.g., periodically
  • the second data card 150 may belong to the second user and may be registered with the second data server 120 and linked to the second offline data file 124 .
  • the second data card 150 may store a second local data file 152 which may include at least a portion of the second offline data file 124 .
  • the second data card 150 may be configured to synchronize the second local data file 152 with the second offline data file 124 over the network 170 such that the second local data file 152 is a copy of the second offline data file 124 right after the synchronization is completed.
  • the second data card 150 may be configured to synchronize the second local data file 152 with the second offline data file 124 over the network 170 according to a pre-determined schedule (e.g., periodically).
  • first data card 130 may further store first sensor data 134 obtained from sensors built into the first data card 130 (as described below).
  • First data card 130 may further store first geo-location data 136 indicating a geographical location of the first data card 130 .
  • the first geo-location data 136 may be collected by a Global Positioning System (GPS) device built into the first data card 130 (as described below).
  • GPS Global Positioning System
  • the second data card 150 may further store second sensor data 154 obtained from sensors built into the second data card 150 (as described below).
  • Second data card 150 may further store second geo-location data 156 indicating a geographical location of the second data card 150 .
  • the second geo-location data 156 may be collected by a GPS device built into the second data card 150 (as described below).
  • the first data card 130 and the second data card 150 may further store first interaction data 138 and second interaction data 158 respectively.
  • the interaction data 138 and 158 may include information relating to data interactions (e.g., data transmissions and data reception) between the first data card 130 and the second data card 150 .
  • each of the first data card 130 and the second data card 150 may be configured to exchange data (e.g., transmit data or receive data) with the other of the two data cards 130 and 150 when either or both data cards 130 and 150 are not connected to the network 170 (e.g., internet).
  • the first data card 130 may be configured to exchange data with the second data card 150 when both data cards 130 and 150 are collocated and out of network coverage.
  • each of the data cards 130 and 150 may be configured to transmit data to the other one of the two data cards 130 and 150 over a peer-to-peer connection between the two data cards 130 and 150 .
  • the first data card 130 may be configured to transmit data from the first local data file 132 to the second local data file 152 at the second data card 150 .
  • the first data card 130 may also be configured to receive data from the second local data file 152 at the second data card 150 and store the received data in the first local data file 132 .
  • the second data card 150 may similarly transmit data to and receive data from the first local data file 132 of the first data card 130 .
  • an offline data transfer between the first local data file 132 and the second local data file 152 essentially amounts to data transfer between the first offline data file 114 and the second offline data file 124 .
  • embodiments of the present disclosure allow a user to initiate a data transfer between two data servers (e.g., 110 and 120 ) without the user needing to connect a user device to a network (e.g., network 170 ) such as the internet to initiate the data transfer.
  • a data transfer between the first data server 110 and the second data server 120 may be indirectly performed by initiating an offline data transfer between the first data card 130 and the second data card 150 each of which can locally store a portion of the data from the respective data servers 110 and 120 .
  • embodiments of the present disclosure are useful for exchanging data between the data cards 130 and 150 when either or both of the data cards 130 and 150 are outside network coverage, it can be appreciated that the embodiments of the present disclosure apply to data exchange between the data cards 130 and 150 when either or both data cards 130 and 150 are connected to the network 170 .
  • each of the first data server 110 , the second data server 120 , the first data card 130 and the second data card 150 may be implemented by a computing device running one or more software applications.
  • one or more of the first data server 110 , the second data server 120 , the first data card 130 and the second data card 150 may be representative of a computing system hosting software applications that may be installed and run locally or may be used to access software applications running on a server (not shown).
  • the computing system may include mobile computing systems including smart phones, tablet computers, laptop computers, or any other mobile computing devices or systems capable of running software applications and communicating with other devices.
  • the computing system may also include non-mobile computing devices such as desktop computers or other non-mobile computing devices capable of running software applications and communicating with other devices.
  • one or more of the first data server 110 , the second data server 120 , the first data card 130 and the second data card 150 may be representative of a server running one or more software applications to implement respective functionality as described below.
  • one or more of the first data server 110 , the second data server 120 , the first data card 130 and the second data card 150 may run a thin client software application where the processing is directed by the thin client but largely performed by a central entity such as a server (not shown).
  • FIG. 2 illustrates an example data card 200 , in accordance with certain embodiments of the present disclosure.
  • Data card 200 may be representative of either or both the first data card 130 and the second data card 150 .
  • data card 200 may be representative of both the first data card 130 and the second data card 150 , in which case the first data card 130 and the second data card 150 are identical.
  • data card 200 may include a microprocessor 204 , a memory device 212 , sensors 202 , a Subscriber Identity Module (SIM) 208 , a Global Positioning System (GPS) device 214 , a haptic device 216 and a battery 206 .
  • SIM Subscriber Identity Module
  • GPS Global Positioning System
  • Battery 206 provides electric power to one or more electric components of the data card 200 including one or more of the microprocessor 204 , memory device 212 , sensors 202 , SIM 208 , GPS device 214 and haptic device 216 .
  • Memory device 212 may be configured to store data relating to the data card 200 .
  • memory device 212 of the first data card 130 may be configured to store the first local data file 132 , the first sensor data 134 , the first geo-location data 136 and the first interaction data 138 .
  • memory device 212 of the second data card 150 may be configured to store the second local data file 152 , the second sensor data 154 , the second geo-location data 156 and the second interaction data 158 .
  • Memory device 212 may additionally store instructions that can be processed by the microprocessor 204 to perform operations related to the data card 200 as described in accordance with one or more embodiments of the present disclosure.
  • the GPS device 214 may be configured to detect a geographical location of the data card 200 .
  • the GPS device 214 may be configured to detect the geographical location of the data card 200 according to a pre-configured schedule (e.g., periodically).
  • the geo-location data obtained from the GPS device 214 may be recorded and stored in the memory device 212 of the data card 200 .
  • the first data card 130 may store the geo-location data obtained from the GPS device 214 of the first data card 130 as first geo-location data 136 .
  • the second data card 150 may store the geo-location data obtained from the GPS device 214 of the second data card 150 as second geo-location data 156 .
  • Each of the first data card 130 and the second data card 150 may be configured to transmit the respective geo-location data 136 and 156 to the respective data servers 110 and 120 .
  • each of the first data server 110 and the second data server 120 may be configured to activate the respective first offline data file 114 and the second offline data file 124 based on the respective geo-location data 136 and 156 received from the respective first data card 130 and the second data card 150 .
  • the first data server 110 may be configured to determine whether the first data card 130 is outside a designated region and/or within a designated region based on the first geo-location data 136 received from the first data card 130 .
  • the designated region may generally have network coverage and at least a portion of a region outside the designated region may not have network coverage.
  • the first data server 110 When the first data server 110 is configured to determine whether the first data card 130 is within a designated region, at least a portion of the designated region may not have network coverage.
  • the first data server 110 may be configured to keep the first offline data file 114 and the first data card 130 de-activated until the first data card 130 is detected outside a designated region or within a designated region whichever the case may be.
  • De-activating the first offline data file 114 may include deleting all data from the first offline data file 114 . This may include transferring all data from the first offline data file 114 to the first data file 112 .
  • the first data server 110 may be configured to activate the first offline data file 114 and the first local data file 132 in response to detecting that the first data card is outside a designated region or within a designated region, whichever the case may be. Activating the first offline data file 114 may include transferring a pre-selected portion of data from the first data file 112 to the first offline data file 114 .
  • a next data synchronization between the first offline data file 114 and the first local data file 132 copies the data from the first offline data file 114 to the first local data file 132 , consequently activating the first data card 130 for offline data exchanges with another data card (e.g., second data card 150 ).
  • another data card e.g., second data card 150
  • the first data card 130 when the first data card 130 is in network coverage and able to connect to the network 170 (e.g., internet), this may mean that the first user can connect a user device to the network 170 to request a data transfer between the first data server 110 and the second data server 120 .
  • the first data server 110 and the second data server 120 since a direct data transfer may be initiated between the first data server 110 and the second data server 120 , there is no need for an indirect data transfer between the data servers 110 and 120 via a data transfer between the first data card 130 and the second data card 150 over a peer-to-peer connection between the data cards 130 and 150 .
  • the indirect data transfer may be needed when the first data card 130 is not in network coverage (e.g., outside designated region and/or within a designated region), which may mean that the first user may not be able to connect a user device to the network 170 to initiate the direct data transfer between data servers 110 and 120 .
  • first data server 110 may ensure that indirect data transfer between data servers 110 and 120 via offline peer-to-peer data transfer between data cards 130 and 150 is enabled when the first user is outside network coverage and cannot initiate a direct data transfers between data servers 110 and 120 over the network 170 .
  • SIM 208 may be configured to connect data card 200 to a cellular data network (e.g., a portion of network 170 ) when data card 200 is within network coverage.
  • the SIM 208 allows the data card 200 to connect to a cellular base station 210 to provide network access to the data card 200 .
  • first data card 130 may be configured to synchronize (e.g. periodically) contents of the first local data file 132 with the first offline data file 114 stored at the first data server 110 .
  • second data card 150 may be configured to synchronize (e.g. periodically) contents of the second local data file 152 with the second offline data file 124 stored at the second data server 120 .
  • Haptic device 216 may be configured to generate a haptic feedback in response to events occurring at the data card 200 .
  • Haptic device 216 may include an electro-mechanical device that can generate haptic feedback for the user by applying forces, vibrations or motions to the user.
  • the haptic device 216 may be configured to generate the haptic feedback in response to a successful pairing operation and/or a successful data transfer operation as described below.
  • Sensors 202 may be configured to detect movement of another data card in a particular direction relative to the data card 200 within close proximity of the data card 200 .
  • sensors 202 can detect the second data card 150 moving in close proximity (e.g., within a pre-selected distance) to the first data card 130 in a particular direction.
  • sensors 202 may include three left sensors L 1 , L 2 and L 3 provided near a left edge of the data card 200 , three right sensors R 1 , R 2 , and R 3 provided near a right edge of the data card 200 , one top sensor T 1 provided near the center of a top edge of the data card 200 , and one bottom sensor B 1 provided near the center of a bottom edge of the data card 200 .
  • Each of the sensors 202 may include any type of sensor that can detect movement of another data card within a pre-selected distance from the data card 200 .
  • one or more of the sensors 202 may include a proximity sensor capable of detecting the presence of nearby objects within a nominal range.
  • Data card 200 may be configured to locally store sensor data collected by each sensor 202 in memory device 212 .
  • first data card 130 may store sensor data collected from sensors 202 as first sensor data 134 .
  • second data card 150 may store sensor data collected from similar sensors 202 as second sensor data 154 .
  • Microprocessor 204 may be configured to detect pre-configured gestures related to a data interaction between data card 200 and another data card, based on the sensor data collected from sensors 202 . For example, when the sensors 202 detect another data card moving from left to right relative to the data card 200 (e.g., direction aligned with L 1 >T 1 >R 1 , L 3 >B 1 >R 3 , L 2 >R 2 or a combination thereof), the microprocessor 204 may be configured to detect a pairing gesture. For example, when another card is moved from left to right direction over data card 200 in close proximity, each of the sensors L 1 , T 1 , and R 1 detect the other card in close proximity to the sensor one by one in sequence.
  • a pairing gesture For example, when another card is moved from left to right direction over data card 200 in close proximity, each of the sensors L 1 , T 1 , and R 1 detect the other card in close proximity to the sensor one by one in sequence.
  • L 1 first detects the other card in close proximity of L 1
  • T 1 detects the other card in close proximity of T 1
  • R 1 detects the other card in close proximity of the R 1 .
  • This sequence of detection of the other card by sensors L 1 , T 1 , and R 1 can be interpreted by the microprocessor 204 as the other card moving from left to right relative to the card 200 .
  • the movement of the other card from left to right relative to card 200 may be detected based on a similar sequence of detection by sensors “L 3 >B 1 >R 3 ” or “L 2 >R 2 ”.
  • the microprocessor 204 may be configured to detect the pairing gesture based on movement of the other card detected by sensors L 1 >T 1 >R 1 , L 3 >B 1 >R 3 , L 2 >R 2 or a combination thereof.
  • the microprocessor 204 may be configured to establish a peer-to-peer connection with the other card in response to detecting a pairing gesture.
  • the microprocessor 204 may be configured to detect a transfer gesture. For example, when another card is moved from top to bottom direction over card 200 in close proximity, each of the sensors L 1 , L 2 , and L 3 detect the other card in close proximity to the sensor one by one in sequence. That is, L 1 first detects the other card in close proximity of L 1 , then L 2 detects the other card in close proximity of L 2 , and finally L 3 detects the other card in close proximity of the L 3 .
  • This sequence of detection of the other card by sensors L 1 , L 2 , and L 3 can be interpreted by the microprocessor 204 as the other card moving from top to bottom relative to the card 200 .
  • the movement of the other card from top to bottom relative to card 200 may be detected based on a similar sequence of detection by sensors “R 1 >R 2 >R 3 ” or “T 1 >B 1 ”.
  • the microprocessor 204 may be configured to detect the transfer gesture based on movement of the other card detected by sensors L 1 >L 2 >L 3 , R 1 >R 2 >R 3 , T 1 >B 1 or a combination thereof.
  • the microprocessor may be configured to initiate a data exchange (e.g., transmit or receive data) with the other data card in response to detecting the transfer gesture.
  • data card 200 may be configured with a pre-selected distance within which the data card 200 is to detect other cards.
  • the microprocessor 204 may be configured to detect a pairing gesture and/or a transfer gesture when the other card is detected within the pre-selected distance from the data card 200 .
  • FIG. 3 A illustrates an example pairing gesture, in accordance with certain embodiments of the present disclosure.
  • first data card 130 can be moved from left to right relative to the second data card 150 in close proximity to each other (e.g., within a pre-selected distance from each other).
  • This relative movement may be detected by sensors 202 (e.g., L 1 >T 1 >R 1 , L 3 >B 1 >R 3 , L 2 >R 2 or a combination thereof) on either or both data cards 130 and 150 , which can be interpreted by the respective microprocessors 204 of the data cards 130 and 150 as a pairing gesture.
  • the first data card 130 and the second data card 150 may establish a peer-to-peer connection with each other.
  • the peer-to-peer connection between the data cards 130 and 150 may use any well-known communication technology that supports peer-to-peer data communication between two devices.
  • the peer-to-peer connection may use the Near-Field Communication (NFC) protocol.
  • NFC Near-Field Communication
  • Each data card 130 and 150 may include the necessary hardware to establish the peer-to-peer connection.
  • each of the data cards 130 and 150 may include a communication module (not shown) that can be configured to use one or more known communication protocols to establish the peer-to-peer connection with other data cards.
  • FIG. 3 B illustrates an example transfer gesture, in accordance with certain embodiments of the present disclosure.
  • first data card 130 can be moved from top to bottom relative to the second data card 150 in close proximity to each other (e.g., within a pre-selected distance from each other).
  • This relative movement may be detected by sensors 202 (e.g., L 1 >L 2 >L 3 , R 1 >R 2 >R 3 , T 1 >B 1 or a combination thereof) on either or both data cards 130 and 150 , which can be interpreted by the respective microprocessors 204 of the data cards 130 and 150 as a transfer gesture.
  • sensors 202 e.g., L 1 >L 2 >L 3 , R 1 >R 2 >R 3 , T 1 >B 1 or a combination thereof
  • the first data card 130 and the second data card 150 may exchange data over an already established peer-to-peer connection between the data cards 130 and 150 .
  • Data exchange between the first data card 130 and the second data card 150 may include data exchange between the first local data file 132 stored in memory 212 of the first data card 130 and the second local data file 152 stored in memory 212 of the second data card 150 .
  • the microprocessor 204 of the data card 200 may be configured to initiate a data exchange (e.g., data transmission or reception) with another data card (e.g., in response to detecting a transfer gesture) when a peer-to-peer connection is already established between the data card 200 and the other data card.
  • a pairing gesture may first need to be performed between the two data cards 130 and 150 followed by a transfer gesture between the two data cards 130 and 150 .
  • the first user when the first user desires to transfer data from the first local data file 132 stored at the first data card 130 to the second local data file 152 stored at the second data card 150 , the first user first performs a pairing gesture by moving the first data card 130 left to right relative to the second data card 150 within a pre-selected distance from the second data card 150 .
  • the relative movement of the data cards 130 and 150 is recorded by the sensors 202 on both data cards 130 and 150 and interpreted by respective microprocessors of the data cards 130 and 150 as a pairing gesture.
  • the microprocessors 204 of the data cards 130 and 150 establish a peer-to-peer connection between the data cards 130 and 150 .
  • the first data card 130 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the peer-to-peer connection has been successfully established between the first data card 130 and the second data card 150 .
  • the second data card 150 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the peer-to-peer connection has been successfully between the data cards 130 and 150 .
  • the first user performs a transfer gesture by moving the first data card 130 top to bottom relative to the second data card 150 within the pre-selected distance from the second data card 150 .
  • This relative movement of the data cards 130 and 150 is recorded by the sensors 202 on both data cards 130 and 150 and interpreted by respective microprocessors of the data cards 130 and 150 as a transfer gesture.
  • the microprocessor 204 of the first data card 130 may initiate transfer of the data from the first local data file 132 to the second data card 150 over the already established peer-to-peer connection.
  • the second data card 150 may prepare to receive the data from the first data card 130 in response to detecting the transfer gesture.
  • the first data card may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the data has been successfully transferred to the second data card 150 .
  • the second data card 150 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that that the data reception from the first data card 130 has been successfully completed.
  • the second data card 150 may store the received data in the memory 212 of the second data card 150 .
  • a similar method may be followed by the second user to initiate a data transfer from the second local data file 152 at the second data card 150 to the first local data file 132 at the first data card 130 .
  • the left to right movement of the data cards for the pairing gesture and the top to bottom movement of the data cards for the transfer gesture is described for exemplary purpose only. It may be appreciated that the pairing gesture may be implemented by a relative movement of data cards in any direction including left to right, right to left, top to bottom or bottom to right. Similarly, the transfer gesture may be implemented by a relative movement of the data cards in any direction including left to right, right to left, top to bottom or bottom to right.
  • Interaction data may be generated corresponding to each data transfer that occurs between the first data card 130 and the second data card 150 .
  • each data transfer occurring between the first data card 130 and the second data card 150 may be recorded as a separate data interaction.
  • a recorded data interaction may include a data transmission or a data reception, whichever the case may be.
  • a data transmission from the first data card 130 and the second data card 150 may be recorded as a data transmission at the first data card 130 and as a data reception at the second data card 150 .
  • the data interactions between the first data card 130 and the second data card 150 are stored as first interaction data 138 at the first data card 130 and second interaction data 158 at the second data card 150 respectively.
  • a recorded data interaction may include information relating to the type of the data interaction (e.g., data transmission or reception) and the data or portion thereof that was transmitted or received.
  • each of the first data card 130 and the second data card 150 may be configured to transmit the respective first interaction data 138 and second interaction data 150 to the first data server 110 and second data server 120 respectively.
  • data card 200 (e.g., first data card 130 , second data card 150 or both) may be provided with user interface on one of the faces of the data card.
  • FIG. 4 illustrates an example user interface 400 of a data card 200 as shown in FIG. 2 , in accordance with one or more embodiments of the present disclosure.
  • user interface 400 of the data card 200 includes a data input device 402 and display 404 on a face of the data card 200 .
  • the data input device 402 is illustrated as a number keypad, it may be appreciated that the data input device 402 may include any known input device including an alphanumeric keypad including letters, numbers and special characters.
  • display 404 is illustrated as displaying numbers, it may be appreciated that the display 404 can include any known display device, for example, capable of displaying numbers, letters and other characters.
  • the user interface 400 of the data card 200 may be used by a user to initiate data interactions with other data cards.
  • the first user may authenticate the data transfer from the first data card 130 to the second data card 150 by inputting a unique key using the data input device 402 .
  • the display 404 may display the characters of the unique key as the user types the characters using the data input device 402 .
  • the first user may use the data input device 402 to specify what portion of data from the first local data file 132 is to be transferred to the second data card 150 .
  • the authentication key and/or the input regarding what portion of data is to be transferred may be provided before or after a transfer gesture is performed.
  • the second user may use a similar data input device 402 provided at the second data card 150 to approve a reception of data from the first data card 130 .
  • the second user may input a unique key using the data input device 402 of the second data card 150 .
  • the second data card 150 may initiate the data reception from the first data card 130 upon receiving the correct key via the data input device 402 .
  • the second user may provide the unique authentication key before or after detecting the transfer gesture.
  • the sensors 202 are provided on a first face of the data card 200 and the user interface is provided on a second face of the data card 200 .
  • the first data server 110 may be representative of a first bank server and the second data server 120 may be representative of a second bank server.
  • the first data file 112 may be representative of a first bank account of the first user and the first offline data file 114 may be representative of a first offline bank account of the first user linked to the first bank account.
  • the second data file 122 may be representative of a second bank account of the second user and the second offline data file 124 may be representative of a second offline bank account of the first user linked to the second bank account.
  • the first data card 130 may be representative of a first money card of the first user that is registered with the first bank server
  • the second data card 150 may be representative of a second money cared of the second user that is registered with the second bank server.
  • the first user may be able to transfer funds from the first bank account of the first user to the second bank account of the second user by logging into a bank portal over the internet using a user device (e.g., smart phone, laptop computer etc.) and initiating an inter-account funds transfer.
  • a user device e.g., smart phone, laptop computer etc.
  • the first user may be unable to login to the bank portal to initiate funds transfer to the second bank account of the second user.
  • embodiments of the present disclosure may allow the first user to indirectly transfer funds between the first bank account to the second bank account via an offline funds transfer between cash card 130 and cash card 150 .
  • the first user may pre-configure the first bank account to transfer a portion of funds from the first bank account to the first offline account (e.g., when the first cash card is detected outside a designated region).
  • the first cash card may be configured to synchronize the first local data file 132 with the first offline bank account (e.g. periodically).
  • the first local data file 132 reflects the funds in the first offline account.
  • the second cash card may be synchronized with the second data server 120 so that the second local data file 152 reflects the funds in the second offline account of the second user.
  • funds may be exchanged between the first cash card and the second cash card similar to how data is exchanged between the first data card 130 and the second data card 150 as in accordance with embodiments of the present disclosure.
  • both cash cards are synchronized with their respective offline accounts such that offline interactions are reflected in the respective offline bank accounts.
  • FIG. 5 is a flowchart of an example method 500 for performing a data interaction between a first data card and a second data card, in accordance with certain embodiments of the present disclosure.
  • Method 500 can be implemented by the data processing system 100 as shown in FIG. 1 and described above.
  • the first data server 110 detects that a first data card 130 of a first user registered with a first data server 110 is outside a designated geographical region.
  • the data processing system 100 includes the first data server 110 , the first data card 130 , a second data server 120 , and a second data card 150 , each capable of connecting to a network 170 .
  • First data server 110 may store for the first user, a first data file 112 and a first offline data file 114 associated with the first data file 112 .
  • the first user may be registered with the first data server 110 to maintain the first data file 112 and the associated first offline data file 114 at the first data server 110 .
  • the first data file 112 may store data for the first user.
  • the first offline data file 114 may be linked to the first data file 112 and may store a portion of the data from the first data file 112 .
  • the second data server 120 may store for a second user, a second data file 122 and a second offline data file 124 associated with the second data file 122 .
  • the second user may be registered with the second data server 120 to maintain the second data file 122 and the associated second offline data file 124 at the second data server 120 .
  • the second data file 122 may store data for the second user.
  • the second offline data file 124 may be linked to the second data file 122 and may store a portion of the data from the second data file 122 .
  • a geo-location device (e.g., GPS device 214 ) may be built into the first data card 130 .
  • the GPS device 214 may detect a geographical location of the first data card 130 .
  • the GPS device 214 may be configured to detect the geographical location of the first data card 130 according to a pre-configured schedule (e.g., periodically).
  • the geo-location data obtained from the GPS device 214 may be recorded and stored in the memory device 212 of the first data card 130 .
  • the first data card 130 may store the geo-location data obtained from the GPS device 214 of the first data card 130 as first geo-location data 136 .
  • the first data card 130 may be configured to transmit the first geo-location data 136 to the first data server 110 .
  • the first data server 110 may be configured to determine whether the first data card 130 is outside a designated geographical region based on the first geo-location data 136 received from the first data card 130 .
  • the designated region may generally have network coverage and at least a portion of a region outside the designated region may not have network coverage. For example, when the first geo-location data 136 received from the first data card 130 includes GPS coordinates that are outside the designated region, the first data server 110 may determine that the first data card 130 is outside the designated region.
  • the first data server 110 transfers a portion of the data from the first data file 112 to the first offline data file 114 .
  • the first data server 110 may be configured to activate the first offline data file 114 based on the first geo-location data 136 received from the first data card 130 .
  • the first data server 110 may be configured to keep the first offline data file 114 and the first data card 130 de-activated until the first data card 130 is detected outside the designated region.
  • De-activating the first offline data file 114 may include deleting all data from the first offline data file 114 . This may include transferring all data from the first offline data file 114 to the first data file 112 .
  • the first data server 110 may be configured to activate the first offline data file 114 and the first local data file 132 in response to detecting that the first data card is outside the designated region. Activating the first offline data file 114 may include transferring a pre-selected portion of data from the first data file 112 to the first offline data file 114 .
  • a next data synchronization between the first offline data file 114 and the first local data file 132 copies the data from the first offline data file 114 to the first local data file 132 , consequently activating the first data card 130 for offline data exchanges with another data card (e.g., second data card 150 ).
  • another data card e.g., second data card 150
  • the first data card 130 checks whether the first data card 130 is connected to a network (e.g., network 170 including the internet). If the first data card 130 is not connected to the network 170 , method 500 continues monitoring (e.g., periodically) for a connection to the network 170 . On the other hand, if the first data card 130 is connected to the network 170 , method 500 proceeds to step 508 .
  • a network e.g., network 170 including the internet.
  • the first data card 130 synchronizes data stored locally in the first local data file 132 with the first offline data file 114 stored at the first data server 110 .
  • a SIM 208 may be included in the first data card 130 that may be configured to connect the first data card 130 to a cellular data network (e.g., a portion of network 170 ) when the first data card 130 is within network coverage.
  • the SIM 208 allows the first data card 130 to connect to a cellular base station 210 to provide network access to the first data card 130 .
  • first data card 130 may be configured to synchronize (e.g. periodically) contents of the first local data file 132 with the first offline data file 114 stored at the first data server 110 .
  • second data card 150 may be configured to synchronize (e.g. periodically) contents of the second local data file 152 with the second offline data file 124 stored at the second data server 120 .
  • the first data card 130 detects a pairing gesture performed between the first data card 130 and the second data card 150 .
  • sensors 202 included in each of the first data card 130 and the second data card 150 may be configured to detect relative movement of the data cards 130 and 150 in a particular direction within close proximity of each other.
  • sensors 202 of the first data card 130 can detect the second data card 150 moving in close proximity (e.g., within a pre-selected distance) to the first data card 130 in a particular direction. As shown in FIG.
  • sensors 202 may include three left sensors L 1 , L 2 and L 3 provided near a left edge of the data card 200 (e.g., representing first data card 130 and/or second data card 150 ), three right sensors R 1 , R 2 , and R 3 provided near a right edge of the data card 200 , one top sensor T 1 provided near the center of a top edge of the data card 200 , and one bottom sensor B 1 provided near the center of a bottom edge of the data card 200 .
  • Each of the sensors 202 may include any type of sensor that can detect movement of another data card within a pre-selected distance from the data card 200 .
  • one or more of the sensors 202 may include a proximity sensor capable of detecting the presence of nearby objects within a nominal range.
  • Data card 200 may be configured to locally store sensor data collected by each sensor 202 in memory device 212 .
  • first data card 130 may store sensor data collected from sensors 202 as first sensor data 134 .
  • second data card 150 may store sensor data collected from similar sensors 202 as second sensor data 154 .
  • Microprocessor 204 of the data card 200 may be configured to detect pre-configured gestures related to a data interaction between data card 200 and another data card, based on the sensor data collected from sensors 202 . For example, when the sensors 202 detect another data card moving from left to right relative to the data card 200 (e.g., direction aligned with L 1 >T 1 >R 1 , L 3 >B 1 >R 3 , L 2 >R 2 or a combination thereof), the microprocessor 204 may be configured to detect a pairing gesture. For example, when another card is moved from left to right direction over data card 200 in close proximity, each of the sensors L 1 , T 1 , and R 1 detect the other card in close proximity to the sensor one by one in sequence.
  • L 1 first detects the other card in close proximity of L 1
  • T 1 detects the other card in close proximity of T 1
  • R 1 detects the other card in close proximity of the R 1 .
  • This sequence of detection of the other card by sensors L 1 , T 1 , and R 1 can be interpreted by the microprocessor 204 as the other card moving from left to right relative to the card 200 .
  • the movement of the other card from left to right relative to card 200 may be detected based on a similar sequence of detection by sensors “L 3 >B 1 >R 3 ” or “L 2 >R 2 ”.
  • the microprocessor 204 may be configured to detect the pairing gesture based on movement of the other card detected by sensors L 1 >T 1 >R 1 , L 3 >B 1 >R 3 , L 2 >R 2 or a combination thereof. For example, as shown in FIG. 3 A , first data card 130 can be moved from left to right relative to the second data card 150 in close proximity to each other (e.g., within a pre-selected distance from each other).
  • This relative movement may be detected by sensors 202 (e.g., L 1 >T 1 >R 1 , L 3 >B 1 >R 3 , L 2 >R 2 or a combination thereof) on either or both data cards 130 and 150 , which can be interpreted by the respective microprocessors 204 of the data cards 130 and 150 as a pairing gesture.
  • sensors 202 e.g., L 1 >T 1 >R 1 , L 3 >B 1 >R 3 , L 2 >R 2 or a combination thereof
  • the first data card 130 establishes a peer-to-peer connection with the second data card 150 in response to detecting a pairing gesture performed between the first data card 130 and the second data cared 150 .
  • the peer-to-peer connection between the data cards 130 and 150 may use any well-known communication technology that supports peer-to-peer data communication between two devices.
  • the peer-to-peer connection may use the Near-Field Communication (NFC) protocol.
  • NFC Near-Field Communication
  • Each data card 130 and 150 may include the necessary hardware to establish the peer-to-peer connection.
  • each of the data cards 130 and 150 may include a communication module (not shown) that can be configured to use one or more known communication protocols to establish the peer-to-peer connection with other data cards.
  • the first data card 130 detects a data interaction gesture performed between the first data card 130 and the second data card 150 .
  • the sensors 202 of the data card 200 e.g., representing first data card 130 and/or second data card 150
  • the microprocessor 204 may be configured to detect a transfer gesture. For example, when another card is moved from top to bottom direction over card 200 in close proximity, each of the sensors L 1 , L 2 , and L 3 detect the other card in close proximity to the sensor one by one in sequence.
  • L 1 first detects the other card in close proximity of L 1
  • L 2 detects the other card in close proximity of L 2
  • L 3 detects the other card in close proximity of the L 3 .
  • This sequence of detection of the other card by sensors L 1 , L 2 , and L 3 can be interpreted by the microprocessor 204 as the other card moving from top to bottom relative to the card 200 .
  • the movement of the other card from top to bottom relative to card 200 may be detected based on a similar sequence of detection by sensors “R 1 >R 2 >R 3 ” or “T 1 >B 1 ”.
  • the microprocessor 204 may be configured to detect the transfer gesture based on movement of the other card detected by sensors L 1 >L 2 >L 3 , R 1 >R 2 >R 3 , T 1 >B 1 or a combination thereof.
  • the microprocessor may be configured to initiate a data exchange (e.g., transmit or receive data) with the other data card in response to detecting the transfer gesture. For example, as shown in FIG. 3 B , first data card 130 can be moved from top to bottom relative to the second data card 150 in close proximity to each other (e.g., within a pre-selected distance from each other).
  • This relative movement may be detected by sensors 202 (e.g., L 1 >L 2 >L 3 , R 1 >R 2 >R 3 , T 1 >B 1 or a combination thereof) on either or both data cards 130 and 150 , which can be interpreted by the respective microprocessors 204 of the data cards 130 and 150 as a transfer gesture.
  • sensors 202 e.g., L 1 >L 2 >L 3 , R 1 >R 2 >R 3 , T 1 >B 1 or a combination thereof
  • the first data card 130 exchanges data with the second data cared 150 after detecting the data interaction gesture (e.g., data transfer gesture) between the first data card 130 and second data card 150 .
  • the data exchange may include transmitting data to the second data card 150 or receiving data from the second data card 150 .
  • the first data card 130 and the second data card 150 may exchange data over an already established peer-to-peer connection between the data cards 130 and 150 .
  • Data exchange between the first data card 130 and the second data card 150 may include data exchange between the first local data file 132 stored in memory 212 of the first data card 130 and the second local data file 152 stored in memory 212 of the second data card 150 .
  • the data exchange between the first data card 130 and the second data card 150 may include the first data card 130 initiating a data transfer to transfer at least a portion of data stored in the first local data file 132 to the second local data file 152 at the second data card 150 .
  • the data exchange between the first data card 130 and the second data card 150 may include the first data card 130 receiving at least a portion of the data stored in the second local data file 152 at the second data card 150 .
  • the received data may be stored in the first local data file 132 .
  • the microprocessor 204 of the data card 200 may be configured to initiate a data exchange (e.g., data transmission or reception) with another data card (e.g., in response to detecting a transfer gesture) when a peer-to-peer connection is already established between the data card 200 and the other data card.
  • a pairing gesture may first need to be performed between the two data cards 130 and 150 followed by a transfer gesture between the two data cards 130 and 150 .
  • the first user when the first user desires to transfer data from the first local data file 132 stored at the first data card 130 to the second local data file 152 stored at the second data card 150 , the first user first performs a pairing gesture by moving the first data card 130 left to right relative to the second data card 150 within a pre-selected distance from the second data card 150 .
  • the relative movement of the data cards 130 and 150 is recorded by the sensors 202 on both data cards 130 and 150 and interpreted by respective microprocessors of the data cards 130 and 150 as a pairing gesture.
  • the microprocessors 204 of the data cards 130 and 150 establish a peer-to-peer connection between the data cards 130 and 150 .
  • the first data card 130 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the peer-to-peer connection has been successfully established between the first data card 130 and the second data card 150 .
  • the second data card 150 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the peer-to-peer connection has been successfully between the data cards 130 and 150 .
  • the first user performs a transfer gesture by moving the first data card 130 top to bottom relative to the second data card 150 within the pre-selected distance from the second data card 150 .
  • This relative movement of the data cards 130 and 150 is recorded by the sensors 202 on both data cards 130 and 150 and interpreted by respective microprocessors of the data cards 130 and 150 as a transfer gesture.
  • the microprocessor 204 of the first data card 130 may initiate transfer of the data from the first local data file 132 to the second data card 150 over the already established peer-to-peer connection.
  • the second data card 150 may prepare to receive the data from the first data card 130 in response to detecting the transfer gesture.
  • the first device may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the data has been successfully transferred to the second data card 150 .
  • the second data card 150 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that that the data reception from the first data card 130 has been successfully completed.
  • the second data card 150 may store the received data in the memory 212 of the second data card 150 .
  • a similar method may be followed by the second user to initiate a data transfer from the second local data file 152 at the second data card 150 to the first local data file 132 at the first data card 130 .
  • the first data card 130 checks whether the first data card 130 is connected to the network (e.g., network 170 including the internet). If the first data card 130 is not connected to the network 170 , method 500 continues monitoring (e.g., periodically) for a connection to the network 170 . On the other hand, if the first data card 130 is connected to the network 170 , method 500 proceeds to step 520 .
  • the network e.g., network 170 including the internet
  • the first data card 130 synchronizes data stored locally in the first local data file 132 with the first offline data file 114 stored at the first data server 110 . Since the data synchronization is after the data exchange between the first data card 130 and second data card 150 , the first offline data file 114 reflects the changes to the first local data file 132 right after the synchronization is completed. For example, if a portion of data from the first local data file 132 was transferred to the second data card, the portion of data is deleted from the first offline data file 114 after the synchronization is completed. Similarly, if a portion of data was received from the second data card 150 and stored in the first local data file 132 , the portion of data is added to the first offline data file 114 after the synchronization is completed.
  • FIG. 6 illustrates an example schematic diagram 600 of a data server illustrated in FIG. 1 , in accordance with one or more embodiments of the present disclosure.
  • Data server 620 may be representative of the first data server 110 and/or the second data server 120 as shown in FIG. 1 .
  • Data server 620 includes a processor 602 , a memory 606 , and a network interface 604 .
  • the data server 620 may be configured as shown in FIG. 6 or in any other suitable configuration.
  • the processor 602 comprises one or more processors operably coupled to the memory 606 .
  • the processor 602 is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g. a multi-core processor), field-programmable gate array (FPGAs), application specific integrated circuits (ASICs), or digital signal processors (DSPs).
  • the processor 602 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding.
  • the processor 602 is communicatively coupled to and in signal communication with the memory 606 .
  • the one or more processors are configured to process data and may be implemented in hardware or software.
  • the processor 602 may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture.
  • the processor 602 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.
  • ALU arithmetic logic unit
  • the one or more processors are configured to implement various instructions.
  • the one or more processors are configured to execute instructions (e.g., data server instructions 612 ) to implement the data server 620 .
  • processor 602 may be a special-purpose computer designed to implement the functions disclosed herein.
  • the data server 620 is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware.
  • the data server 620 is configured to operate as described with reference to FIGS. 1 - 5 .
  • the data server 620 may be configured to perform at least a portion of the method 500 as described in FIG. 5 .
  • the memory 606 comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution.
  • the memory 606 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).
  • the memory 606 is operable to store a data file 608 , an offline data file 610 and data server instructions 612 .
  • the data file 608 may be representative of the first data file 112 or the second data file 122 .
  • the offline data file 610 may be representative of the first offline data file 114 or the second offline data file 124 .
  • the data server instructions 612 may include any suitable set of instructions, logic, rules, or code operable to execute the data server 620 .
  • the network interface 604 is configured to enable wired and/or wireless communications.
  • the network interface 604 is configured to communicate data between the data server 620 and other devices, systems, or domains (e.g. other data servers, data cards etc.).
  • the network interface 604 may comprise a Wi-Fi interface, a LAN interface, a WAN interface, a modem, a switch, or a router.
  • the processor 602 is configured to send and receive data using the network interface 604 .
  • the network interface 604 may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.
  • each of the first data card 130 and the second data card 150 may be implemented similar to the data server 620 .
  • the each of the first data card 130 and the second data card 150 may include a processor and a memory storing instructions to implement the respective functionality as described above when executed by the processor.
  • the memory of each the first data card 130 may be configured to store the first local data file 132 , the first sensor data 134 , the first geo-location data 136 and the first interaction data 138 .
  • the memory of the second data card 150 may be configured to store the second local data file 152 , the second sensor data 154 , the second geo-location data 156 and the second interaction data 158 .

Abstract

A system is provided including a first server storing a first data file for a first user, a second server storing a second data file for a second user, a first data card of the first user registered with the first server and locally storing a portion of the first data file, and a second data card of the second user registered with the second server and associated with the second data file. The first data card detects a pairing gesture between the first and second data cards, and in response, establishes a peer-to-peer connection between the data cards. The first data card subsequently detects a transfer gesture between the first and second data cards, and in response, transmits the portion of the first data file from the first data card to the second data card over the peer-to-peer connection.

Description

    TECHNICAL FIELD
  • The present disclosure relates generally to data processing, and more specifically to offline data transfer between devices using gestures.
  • BACKGROUND
  • A computing infrastructure generally includes several data servers connected to a network such as the internet. Generally, data can be exchanged between data files stored on the same data server or different data servers upon request from registered users. However, to execute the data transfer between data files, the data server(s) as well as a computing device being used by the user to request the data transfer must be connected to a network such as the internet. For example, to request a data transfer from a first data file stored on a first data server connected to the internet to a second data file stored on a second server also connected to the internet, the user may need to connect a computing device of the user to the internet and communicate with the first server and/or the second server over the internet to request the data transfer. The user cannot initiate data transfers between data files stored at one or more servers without access to a network such as the internet that enables the user to communicate with the one or more servers and initiate the data transfers.
  • SUMMARY
  • The system and methods implemented by the system as disclosed in the present disclosure provide technical solutions to the technical problems discussed above by allowing a user to initiate a data exchange between data files stored on one or more data servers when the user is outside network coverage and unable to connect to a network such as the internet. The disclosed system and methods provide several practical applications and technical advantages. For example, the disclosed system provides the practical application of allowing a first user to transfer data from a first data file stored for the first user on a first data server to a second data file stored for a second user on the same or a different data server without needing to request the data transfer over a network such as the internet, for example, when the first user is outside network coverage. As described below, a first data card of the first user may be registered with the first data server and a second data card of the second user may be registered with the second data server. Whenever the first data card is in a region having network coverage, the first data card connects to the network and synchronizes with the first data server so that at least a portion of the first data file is copied to the first data card. Similarly, whenever the second data card is in a region having network coverage, the second data card connects to the network and synchronizes with the second data server so that at least a portion of the second data file is copied to the second data card. Subsequently, when the first and second data cards are in a geographical region having no network coverage, data may be exchanged between the first and second data cards over a peer-to-peer connections between the data cards. The next time each of the first and second data cards are back in network coverage and are able to connect to the network, the data cards synchronize again with the respective data server so that the offline data interactions performed between the two data cards are reflected in the first and second data files at the first and second data servers. Thus, the data transfer between the first and second data cards over the peer-to-peer connection between the data cards (when the data cards are out of network coverage) amounts to an indirect data transfer between the first and second data servers. Thus, the system and method described in accordance with embodiments of the present disclosure allow a user to perform a data transfer between data files stored at the same or different data servers when the user is outside network coverage by performing a data transfer between data cards registered with the respective data files over a peer-to-peer connection between the data cards without needing to connect to a network to request the data transfer.
  • The disclosed system and methods provide an additional practical application of providing a quick and secure method of transferring data between data cards. For example, as described below, a first data card may be configured to detect pre-configured gestures related to a data interaction between the first data card and a second data card, based on sensor data collected from sensors included in the first data card. For example, when the sensors of the first data card detect the second data card moving from left to right relative to the first data card in close proximity, the first data card may be configured to detect a pairing gesture. On the other hand, when the sensors of the first data card detect the second data card moving from top to bottom relative to the first data card in close proximity, the first data card may be configured to detect a transfer gesture.
  • In one example use case when the first user desires to transfer data from a first local data file stored at the first data card to a second local data file stored at the second data card, the first user first performs a pairing gesture by moving the first data card left to right relative to the second data card within a pre-selected distance from the second data card. The relative movement of the data cards is recorded by the sensors on both data cards and interpreted by respective data cards as a pairing gesture. In response to detecting the pairing gesture, the data cards establish a peer-to-peer connection between them. Once a peer-to-peer connection is established between the first data card and the second data card, the first user may authenticate the data transfer from the first data card to the second data card by inputting a unique key using a data input device provided at the first data card. Thereafter, the first user performs a transfer gesture by moving the first data card top to bottom relative to the second data card within the pre-selected distance from the second data card. This relative movement of the data cards is recorded by the sensors on both data cards and interpreted by the data cards as a transfer gesture. In response to detecting the transfer gesture, the first data card may initiate transfer of the data from the first local data file to the second data card over the already established peer-to-peer connection. The second data card may prepare to receive the data from the first data card in response to detecting the transfer gesture. The second data card may store the received data in the memory of the second data card.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
  • FIG. 1 is a schematic diagram of an example data processing system, in accordance with certain embodiments of the present disclosure;
  • FIG. 2 illustrates an example data card, in accordance with certain embodiments of the present disclosure;
  • FIG. 3A illustrates an example pairing gesture, in accordance with certain embodiments of the present disclosure;
  • FIG. 3B illustrates an example transfer gesture, in accordance with certain embodiments of the present disclosure;
  • FIG. 4 illustrates an example user interface of a data card as shown in FIG. 2 , in accordance with one or more embodiments of the present disclosure;
  • FIG. 5 is a flowchart of an example method for performing a data interaction between a first data card and a second data card, in accordance with certain embodiments of the present disclosure; and
  • FIG. 6 illustrates an example schematic diagram of a data server illustrated in FIG. 1 , in accordance with one or more embodiments of the present disclosure.
  • DETAILED DESCRIPTION System Overview
  • FIG. 1 is a schematic diagram of an example data processing system 100, in accordance with certain embodiments of the present disclosure.
  • As shown in FIG. 1 , data processing system 100 includes a first data server 110, a second data server 120, a first data card 130 and a second data card 150, each capable of connecting to a network 170. The network 170, in general, may be a wide area network (WAN), a personal area network (PAN), a cellular network, or any other technology that allows devices to communicate electronically with other devices. In one or more embodiments, the network 170 may be the Internet.
  • First data server 110 may store for a first user, a first data file 112 and a first offline data file 114 associated with the first data file 112. The first user may be registered with the first data server 110 to maintain the first data file 112 and the associated first offline data file 114 at the first data server 110. The first data file 112 may store data for the first user. The first offline data file 114 may be linked to the first data file 112 and may store a portion of the data from the first data file 112. For example, the first data server 110 may be configured to transfer a portion of the first user's data from the first data file 112 to the first offline data file 114, based on selections made by the first user. For example, the first user may configure the first data server 110 to transfer the portion of the data from the first data file 112 to the first offline data file 114. In one embodiment, the first data server 110 may be configured to maintain a pre-selected amount of user data in the first offline data file 114. For example, as and when the user data in the first offline data file 114 falls below the pre-selected amount, first data server 110 may be configured to transfer additional data from the first data file 112 to the first offline data file 114 to keep the amount of data in the first offline data file 114 at or above the pre-selected amount of data.
  • Similarly, the second data server 120 may store for a second user, a second data file 122 and a second offline data file 124 associated with the second data file 122. The second user may be registered with the second data server 120 to maintain the second data file 122 and the associated second offline data file 124 at the second data server 120. The second data file 122 may store data for the second user. The second offline data file 124 may be linked to the second data file 122 and may store a portion of the data from the second data file 122. For example, the second data server 120 may be configured to transfer a portion of the second user's data from the second data file 122 to the second offline data file 124, based on selections made by the second user. For example, the second user may configure the second data server 120 to transfer the portion of the data from the second data file 122 to the second offline data file 124. In one embodiment, the second data server 120 may be configured to maintain a pre-selected amount of user data in the second offline data file 124. For example, as and when the user data in the second offline data file 124 falls below the pre-selected amount, second data server 120 may be configured to transfer additional data from the second data file 122 to the second offline data file 124 to keep the amount of data in the second offline data file 124 at or above the pre-selected amount of data.
  • In one embodiment, the first user may be registered with both the first data server 110 and the second data server 120. In this case, the second data file 122 and the associated second offline data file 124 may also belong to the first user. In other words, the first data file 112 and the associated first offline data file 114 stored at the first data server 110, as well as the second data file 122 and associated second offline data file 124 may belong to the same user. In an additional or alternative embodiment, the first data server 110 may include the second data server 120 or vice versa. For example, the first data server 110 and the second data server 120 may be part of a single processing entity.
  • First data card 130 may belong to the first user and may be registered with the first data server 110 and linked to the first offline data file 114 of the first user. As shown in FIG. 1 , the first data card 130 may store a first local data file 132 which may include at least a portion of the first offline data file 114. For example, the first data card 130 may be configured to synchronize the first local data file 132 with the first offline data file 114 over the network 170 such that the first local data file 132 is a copy of the first offline data file 114 right after the synchronization is completed. The first data card 130 may be configured to synchronize the first local data file 132 with the first offline data file 114 over the network 170 according to a pre-determined schedule (e.g., periodically).
  • Similarly, the second data card 150 may belong to the second user and may be registered with the second data server 120 and linked to the second offline data file 124. As shown in FIG. 1 , the second data card 150 may store a second local data file 152 which may include at least a portion of the second offline data file 124. For example, the second data card 150 may be configured to synchronize the second local data file 152 with the second offline data file 124 over the network 170 such that the second local data file 152 is a copy of the second offline data file 124 right after the synchronization is completed. The second data card 150 may be configured to synchronize the second local data file 152 with the second offline data file 124 over the network 170 according to a pre-determined schedule (e.g., periodically).
  • As shown in FIG. 1 , first data card 130 may further store first sensor data 134 obtained from sensors built into the first data card 130 (as described below). First data card 130 may further store first geo-location data 136 indicating a geographical location of the first data card 130. The first geo-location data 136 may be collected by a Global Positioning System (GPS) device built into the first data card 130 (as described below). Similarly, the second data card 150 may further store second sensor data 154 obtained from sensors built into the second data card 150 (as described below). Second data card 150 may further store second geo-location data 156 indicating a geographical location of the second data card 150. The second geo-location data 156 may be collected by a GPS device built into the second data card 150 (as described below). The first data card 130 and the second data card 150 may further store first interaction data 138 and second interaction data 158 respectively. As described below the interaction data 138 and 158 may include information relating to data interactions (e.g., data transmissions and data reception) between the first data card 130 and the second data card 150.
  • As described below, each of the first data card 130 and the second data card 150 may be configured to exchange data (e.g., transmit data or receive data) with the other of the two data cards 130 and 150 when either or both data cards 130 and 150 are not connected to the network 170 (e.g., internet). For example, the first data card 130 may be configured to exchange data with the second data card 150 when both data cards 130 and 150 are collocated and out of network coverage. As described below, each of the data cards 130 and 150 may be configured to transmit data to the other one of the two data cards 130 and 150 over a peer-to-peer connection between the two data cards 130 and 150. The first data card 130 may be configured to transmit data from the first local data file 132 to the second local data file 152 at the second data card 150. The first data card 130 may also be configured to receive data from the second local data file 152 at the second data card 150 and store the received data in the first local data file 132. The second data card 150 may similarly transmit data to and receive data from the first local data file 132 of the first data card 130. Since the first local data file 132 includes data from the first offline data file 114 (stored at the first data server 110) and the second local data file 152 includes data from the second offline data file 124 (stored at the second data server 120), an offline data transfer between the first local data file 132 and the second local data file 152 essentially amounts to data transfer between the first offline data file 114 and the second offline data file 124. Thus, embodiments of the present disclosure allow a user to initiate a data transfer between two data servers (e.g., 110 and 120) without the user needing to connect a user device to a network (e.g., network 170) such as the internet to initiate the data transfer. As described in more detail below, a data transfer between the first data server 110 and the second data server 120 may be indirectly performed by initiating an offline data transfer between the first data card 130 and the second data card 150 each of which can locally store a portion of the data from the respective data servers 110 and 120.
  • It may be noted that while embodiments of the present disclosure are useful for exchanging data between the data cards 130 and 150 when either or both of the data cards 130 and 150 are outside network coverage, it can be appreciated that the embodiments of the present disclosure apply to data exchange between the data cards 130 and 150 when either or both data cards 130 and 150 are connected to the network 170.
  • In one or more embodiments, each of the first data server 110, the second data server 120, the first data card 130 and the second data card 150 may be implemented by a computing device running one or more software applications. For example, one or more of the first data server 110, the second data server 120, the first data card 130 and the second data card 150 may be representative of a computing system hosting software applications that may be installed and run locally or may be used to access software applications running on a server (not shown). The computing system may include mobile computing systems including smart phones, tablet computers, laptop computers, or any other mobile computing devices or systems capable of running software applications and communicating with other devices. The computing system may also include non-mobile computing devices such as desktop computers or other non-mobile computing devices capable of running software applications and communicating with other devices. In certain embodiments, one or more of the first data server 110, the second data server 120, the first data card 130 and the second data card 150 may be representative of a server running one or more software applications to implement respective functionality as described below. In certain embodiments, one or more of the first data server 110, the second data server 120, the first data card 130 and the second data card 150 may run a thin client software application where the processing is directed by the thin client but largely performed by a central entity such as a server (not shown).
  • FIG. 2 illustrates an example data card 200, in accordance with certain embodiments of the present disclosure. Data card 200 may be representative of either or both the first data card 130 and the second data card 150. In one embodiment, data card 200 may be representative of both the first data card 130 and the second data card 150, in which case the first data card 130 and the second data card 150 are identical.
  • As shown in FIG. 2 , data card 200 may include a microprocessor 204, a memory device 212, sensors 202, a Subscriber Identity Module (SIM) 208, a Global Positioning System (GPS) device 214, a haptic device 216 and a battery 206.
  • Battery 206 provides electric power to one or more electric components of the data card 200 including one or more of the microprocessor 204, memory device 212, sensors 202, SIM 208, GPS device 214 and haptic device 216.
  • Memory device 212 may be configured to store data relating to the data card 200. For example, memory device 212 of the first data card 130 may be configured to store the first local data file 132, the first sensor data 134, the first geo-location data 136 and the first interaction data 138. Similarly, memory device 212 of the second data card 150 may be configured to store the second local data file 152, the second sensor data 154, the second geo-location data 156 and the second interaction data 158. Memory device 212 may additionally store instructions that can be processed by the microprocessor 204 to perform operations related to the data card 200 as described in accordance with one or more embodiments of the present disclosure.
  • The GPS device 214 may be configured to detect a geographical location of the data card 200. The GPS device 214 may be configured to detect the geographical location of the data card 200 according to a pre-configured schedule (e.g., periodically). The geo-location data obtained from the GPS device 214 may be recorded and stored in the memory device 212 of the data card 200. For example, the first data card 130 may store the geo-location data obtained from the GPS device 214 of the first data card 130 as first geo-location data 136. The second data card 150 may store the geo-location data obtained from the GPS device 214 of the second data card 150 as second geo-location data 156. Each of the first data card 130 and the second data card 150 may be configured to transmit the respective geo-location data 136 and 156 to the respective data servers 110 and 120.
  • In one or more embodiments, each of the first data server 110 and the second data server 120 may be configured to activate the respective first offline data file 114 and the second offline data file 124 based on the respective geo-location data 136 and 156 received from the respective first data card 130 and the second data card 150. For example, the first data server 110 may be configured to determine whether the first data card 130 is outside a designated region and/or within a designated region based on the first geo-location data 136 received from the first data card 130. When the first data server 110 is configured to determine whether the first data card 130 is outside a designated region, the designated region may generally have network coverage and at least a portion of a region outside the designated region may not have network coverage. When the first data server 110 is configured to determine whether the first data card 130 is within a designated region, at least a portion of the designated region may not have network coverage. The first data server 110 may be configured to keep the first offline data file 114 and the first data card 130 de-activated until the first data card 130 is detected outside a designated region or within a designated region whichever the case may be. De-activating the first offline data file 114 may include deleting all data from the first offline data file 114. This may include transferring all data from the first offline data file 114 to the first data file 112. When the first offline data file 114 is empty, a next data synchronization between the first offline data file 114 and the first local data file 132 deletes all data from the first local data file 132 and consequently deactivates the first data card 130. The first data server 110 may be configured to activate the first offline data file 114 and the first local data file 132 in response to detecting that the first data card is outside a designated region or within a designated region, whichever the case may be. Activating the first offline data file 114 may include transferring a pre-selected portion of data from the first data file 112 to the first offline data file 114. When the first offline data file 114 has data, a next data synchronization between the first offline data file 114 and the first local data file 132 copies the data from the first offline data file 114 to the first local data file 132, consequently activating the first data card 130 for offline data exchanges with another data card (e.g., second data card 150).
  • In an example use case, when the first data card 130 is in network coverage and able to connect to the network 170 (e.g., internet), this may mean that the first user can connect a user device to the network 170 to request a data transfer between the first data server 110 and the second data server 120. In this case, since a direct data transfer may be initiated between the first data server 110 and the second data server 120, there is no need for an indirect data transfer between the data servers 110 and 120 via a data transfer between the first data card 130 and the second data card 150 over a peer-to-peer connection between the data cards 130 and 150. However, the indirect data transfer may be needed when the first data card 130 is not in network coverage (e.g., outside designated region and/or within a designated region), which may mean that the first user may not be able to connect a user device to the network 170 to initiate the direct data transfer between data servers 110 and 120. By activating the first offline data file 114 and the first data card 130 when the first data card 130 is detected outside a designated region or within a designated region, first data server 110 may ensure that indirect data transfer between data servers 110 and 120 via offline peer-to-peer data transfer between data cards 130 and 150 is enabled when the first user is outside network coverage and cannot initiate a direct data transfers between data servers 110 and 120 over the network 170.
  • SIM 208 may be configured to connect data card 200 to a cellular data network (e.g., a portion of network 170) when data card 200 is within network coverage. The SIM 208 allows the data card 200 to connect to a cellular base station 210 to provide network access to the data card 200. When in network coverage and connected to a data network, first data card 130 may be configured to synchronize (e.g. periodically) contents of the first local data file 132 with the first offline data file 114 stored at the first data server 110. Similarly, when in network coverage and connected to a data network, second data card 150 may be configured to synchronize (e.g. periodically) contents of the second local data file 152 with the second offline data file 124 stored at the second data server 120.
  • Haptic device 216 may be configured to generate a haptic feedback in response to events occurring at the data card 200. Haptic device 216 may include an electro-mechanical device that can generate haptic feedback for the user by applying forces, vibrations or motions to the user. The haptic device 216 may be configured to generate the haptic feedback in response to a successful pairing operation and/or a successful data transfer operation as described below.
  • Sensors 202 may be configured to detect movement of another data card in a particular direction relative to the data card 200 within close proximity of the data card 200. For example, when data card 200 represents the first data card 130, sensors 202 can detect the second data card 150 moving in close proximity (e.g., within a pre-selected distance) to the first data card 130 in a particular direction. As shown, sensors 202 may include three left sensors L1, L2 and L3 provided near a left edge of the data card 200, three right sensors R1, R2, and R3 provided near a right edge of the data card 200, one top sensor T1 provided near the center of a top edge of the data card 200, and one bottom sensor B1 provided near the center of a bottom edge of the data card 200. Each of the sensors 202 may include any type of sensor that can detect movement of another data card within a pre-selected distance from the data card 200. For example, one or more of the sensors 202 may include a proximity sensor capable of detecting the presence of nearby objects within a nominal range. Data card 200 may be configured to locally store sensor data collected by each sensor 202 in memory device 212. For example, first data card 130 may store sensor data collected from sensors 202 as first sensor data 134. Similarly, second data card 150 may store sensor data collected from similar sensors 202 as second sensor data 154.
  • Microprocessor 204 may be configured to detect pre-configured gestures related to a data interaction between data card 200 and another data card, based on the sensor data collected from sensors 202. For example, when the sensors 202 detect another data card moving from left to right relative to the data card 200 (e.g., direction aligned with L1>T1>R1, L3>B1>R3, L2>R2 or a combination thereof), the microprocessor 204 may be configured to detect a pairing gesture. For example, when another card is moved from left to right direction over data card 200 in close proximity, each of the sensors L1, T1, and R1 detect the other card in close proximity to the sensor one by one in sequence. That is, L1 first detects the other card in close proximity of L1, then T1 detects the other card in close proximity of T1, and finally R1 detects the other card in close proximity of the R1. This sequence of detection of the other card by sensors L1, T1, and R1 can be interpreted by the microprocessor 204 as the other card moving from left to right relative to the card 200. The movement of the other card from left to right relative to card 200 may be detected based on a similar sequence of detection by sensors “L3>B1>R3” or “L2>R2”. The microprocessor 204 may be configured to detect the pairing gesture based on movement of the other card detected by sensors L1>T1>R1, L3>B1>R3, L2>R2 or a combination thereof. The microprocessor 204 may be configured to establish a peer-to-peer connection with the other card in response to detecting a pairing gesture.
  • On the other hand, for example, when the sensors 202 detect another data card moving from top to bottom relative to the data card 200 (e.g., direction aligned with L1>L2>L3, R1>R2>R3, T1>B1 or a combination thereof), the microprocessor 204 may be configured to detect a transfer gesture. For example, when another card is moved from top to bottom direction over card 200 in close proximity, each of the sensors L1, L2, and L3 detect the other card in close proximity to the sensor one by one in sequence. That is, L1 first detects the other card in close proximity of L1, then L2 detects the other card in close proximity of L2, and finally L3 detects the other card in close proximity of the L3. This sequence of detection of the other card by sensors L1, L2, and L3 can be interpreted by the microprocessor 204 as the other card moving from top to bottom relative to the card 200. The movement of the other card from top to bottom relative to card 200 may be detected based on a similar sequence of detection by sensors “R1>R2>R3” or “T1>B1”. The microprocessor 204 may be configured to detect the transfer gesture based on movement of the other card detected by sensors L1>L2>L3, R1>R2>R3, T1>B1 or a combination thereof. The microprocessor may be configured to initiate a data exchange (e.g., transmit or receive data) with the other data card in response to detecting the transfer gesture.
  • In one or more embodiments, data card 200 may be configured with a pre-selected distance within which the data card 200 is to detect other cards. For example, the microprocessor 204 may be configured to detect a pairing gesture and/or a transfer gesture when the other card is detected within the pre-selected distance from the data card 200.
  • FIG. 3A illustrates an example pairing gesture, in accordance with certain embodiments of the present disclosure. As shown, first data card 130 can be moved from left to right relative to the second data card 150 in close proximity to each other (e.g., within a pre-selected distance from each other). This relative movement may be detected by sensors 202 (e.g., L1>T1>R1, L3>B1>R3, L2>R2 or a combination thereof) on either or both data cards 130 and 150, which can be interpreted by the respective microprocessors 204 of the data cards 130 and 150 as a pairing gesture. In response to detecting the pairing gesture, the first data card 130 and the second data card 150 may establish a peer-to-peer connection with each other. The peer-to-peer connection between the data cards 130 and 150 may use any well-known communication technology that supports peer-to-peer data communication between two devices. In one embodiment, the peer-to-peer connection may use the Near-Field Communication (NFC) protocol. Each data card 130 and 150 may include the necessary hardware to establish the peer-to-peer connection. For example, each of the data cards 130 and 150 may include a communication module (not shown) that can be configured to use one or more known communication protocols to establish the peer-to-peer connection with other data cards.
  • FIG. 3B illustrates an example transfer gesture, in accordance with certain embodiments of the present disclosure. As shown, first data card 130 can be moved from top to bottom relative to the second data card 150 in close proximity to each other (e.g., within a pre-selected distance from each other). This relative movement may be detected by sensors 202 (e.g., L1>L2>L3, R1>R2>R3, T1>B1 or a combination thereof) on either or both data cards 130 and 150, which can be interpreted by the respective microprocessors 204 of the data cards 130 and 150 as a transfer gesture. In response to detecting the transfer gesture, the first data card 130 and the second data card 150 may exchange data over an already established peer-to-peer connection between the data cards 130 and 150. Data exchange between the first data card 130 and the second data card 150 may include data exchange between the first local data file 132 stored in memory 212 of the first data card 130 and the second local data file 152 stored in memory 212 of the second data card 150.
  • The microprocessor 204 of the data card 200 may be configured to initiate a data exchange (e.g., data transmission or reception) with another data card (e.g., in response to detecting a transfer gesture) when a peer-to-peer connection is already established between the data card 200 and the other data card. Thus, in order to initiate a data exchange between the first data card 130 and the second data card 150, a pairing gesture may first need to be performed between the two data cards 130 and 150 followed by a transfer gesture between the two data cards 130 and 150.
  • In one example use case when the first user desires to transfer data from the first local data file 132 stored at the first data card 130 to the second local data file 152 stored at the second data card 150, the first user first performs a pairing gesture by moving the first data card 130 left to right relative to the second data card 150 within a pre-selected distance from the second data card 150. The relative movement of the data cards 130 and 150 is recorded by the sensors 202 on both data cards 130 and 150 and interpreted by respective microprocessors of the data cards 130 and 150 as a pairing gesture. In response to detecting the pairing gesture, the microprocessors 204 of the data cards 130 and 150 establish a peer-to-peer connection between the data cards 130 and 150. The first data card 130 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the peer-to-peer connection has been successfully established between the first data card 130 and the second data card 150. Similarly, the second data card 150 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the peer-to-peer connection has been successfully between the data cards 130 and 150. Once the peer-to-peer connection has been successfully established, the first user performs a transfer gesture by moving the first data card 130 top to bottom relative to the second data card 150 within the pre-selected distance from the second data card 150. This relative movement of the data cards 130 and 150 is recorded by the sensors 202 on both data cards 130 and 150 and interpreted by respective microprocessors of the data cards 130 and 150 as a transfer gesture. In response to detecting the transfer gesture, the microprocessor 204 of the first data card 130 may initiate transfer of the data from the first local data file 132 to the second data card 150 over the already established peer-to-peer connection. The second data card 150 may prepare to receive the data from the first data card 130 in response to detecting the transfer gesture. The first data card may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the data has been successfully transferred to the second data card 150. Similarly, the second data card 150 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that that the data reception from the first data card 130 has been successfully completed. The second data card 150 may store the received data in the memory 212 of the second data card 150.
  • A similar method may be followed by the second user to initiate a data transfer from the second local data file 152 at the second data card 150 to the first local data file 132 at the first data card 130.
  • It may be noted that that the left to right movement of the data cards for the pairing gesture and the top to bottom movement of the data cards for the transfer gesture is described for exemplary purpose only. It may be appreciated that the pairing gesture may be implemented by a relative movement of data cards in any direction including left to right, right to left, top to bottom or bottom to right. Similarly, the transfer gesture may be implemented by a relative movement of the data cards in any direction including left to right, right to left, top to bottom or bottom to right.
  • Interaction data may be generated corresponding to each data transfer that occurs between the first data card 130 and the second data card 150. For example, each data transfer occurring between the first data card 130 and the second data card 150 may be recorded as a separate data interaction. A recorded data interaction may include a data transmission or a data reception, whichever the case may be. For example, a data transmission from the first data card 130 and the second data card 150 may be recorded as a data transmission at the first data card 130 and as a data reception at the second data card 150. As shown in FIG. 1 , the data interactions between the first data card 130 and the second data card 150 are stored as first interaction data 138 at the first data card 130 and second interaction data 158 at the second data card 150 respectively. A recorded data interaction may include information relating to the type of the data interaction (e.g., data transmission or reception) and the data or portion thereof that was transmitted or received. When in network coverage, each of the first data card 130 and the second data card 150 may be configured to transmit the respective first interaction data 138 and second interaction data 150 to the first data server 110 and second data server 120 respectively.
  • In one or more embodiments, data card 200 (e.g., first data card 130, second data card 150 or both) may be provided with user interface on one of the faces of the data card.
  • FIG. 4 illustrates an example user interface 400 of a data card 200 as shown in FIG. 2 , in accordance with one or more embodiments of the present disclosure. As shown, user interface 400 of the data card 200 includes a data input device 402 and display 404 on a face of the data card 200. While the data input device 402 is illustrated as a number keypad, it may be appreciated that the data input device 402 may include any known input device including an alphanumeric keypad including letters, numbers and special characters. Further, while display 404 is illustrated as displaying numbers, it may be appreciated that the display 404 can include any known display device, for example, capable of displaying numbers, letters and other characters.
  • The user interface 400 of the data card 200 may be used by a user to initiate data interactions with other data cards. Following the above example, once a peer-to-peer connection is established between the first data card 130 and the second data card 150, the first user may authenticate the data transfer from the first data card 130 to the second data card 150 by inputting a unique key using the data input device 402. The display 404 may display the characters of the unique key as the user types the characters using the data input device 402. In an additional or alternative embodiment, the first user may use the data input device 402 to specify what portion of data from the first local data file 132 is to be transferred to the second data card 150. The authentication key and/or the input regarding what portion of data is to be transferred may be provided before or after a transfer gesture is performed. The second user may use a similar data input device 402 provided at the second data card 150 to approve a reception of data from the first data card 130. For example, in order to authenticate and approve the data reception from the first data card 130, the second user may input a unique key using the data input device 402 of the second data card 150. The second data card 150 may initiate the data reception from the first data card 130 upon receiving the correct key via the data input device 402. The second user may provide the unique authentication key before or after detecting the transfer gesture.
  • In one embodiment, the sensors 202 are provided on a first face of the data card 200 and the user interface is provided on a second face of the data card 200.
  • In an exemplary banking use case, the first data server 110 may be representative of a first bank server and the second data server 120 may be representative of a second bank server. The first data file 112 may be representative of a first bank account of the first user and the first offline data file 114 may be representative of a first offline bank account of the first user linked to the first bank account. Similarly, the second data file 122 may be representative of a second bank account of the second user and the second offline data file 124 may be representative of a second offline bank account of the first user linked to the second bank account. The first data card 130 may be representative of a first money card of the first user that is registered with the first bank server, and the second data card 150 may be representative of a second money cared of the second user that is registered with the second bank server. Generally, the first user may be able to transfer funds from the first bank account of the first user to the second bank account of the second user by logging into a bank portal over the internet using a user device (e.g., smart phone, laptop computer etc.) and initiating an inter-account funds transfer. However, when the first user does not have access to the internet (e.g., when travelling in a remote region with no or unreliable network coverage), the first user may be unable to login to the bank portal to initiate funds transfer to the second bank account of the second user. In such a case, embodiments of the present disclosure may allow the first user to indirectly transfer funds between the first bank account to the second bank account via an offline funds transfer between cash card 130 and cash card 150. The first user may pre-configure the first bank account to transfer a portion of funds from the first bank account to the first offline account (e.g., when the first cash card is detected outside a designated region). The first cash card may be configured to synchronize the first local data file 132 with the first offline bank account (e.g. periodically). Thus, after a synchronization between the first cash card and the first bank server after the funds are transferred to the first offline account, the first local data file 132 reflects the funds in the first offline account. Similarly, the second cash card may be synchronized with the second data server 120 so that the second local data file 152 reflects the funds in the second offline account of the second user. Now, when the first and second users are collocated and in a region with no network coverage, funds may be exchanged between the first cash card and the second cash card similar to how data is exchanged between the first data card 130 and the second data card 150 as in accordance with embodiments of the present disclosure. When the first and second cash cards are back in network coverage, both cash cards are synchronized with their respective offline accounts such that offline interactions are reflected in the respective offline bank accounts.
  • FIG. 5 is a flowchart of an example method 500 for performing a data interaction between a first data card and a second data card, in accordance with certain embodiments of the present disclosure. Method 500 can be implemented by the data processing system 100 as shown in FIG. 1 and described above.
  • At step 502, the first data server 110 detects that a first data card 130 of a first user registered with a first data server 110 is outside a designated geographical region.
  • As described above with reference to FIG. 1 , the data processing system 100 includes the first data server 110, the first data card 130, a second data server 120, and a second data card 150, each capable of connecting to a network 170. First data server 110 may store for the first user, a first data file 112 and a first offline data file 114 associated with the first data file 112. The first user may be registered with the first data server 110 to maintain the first data file 112 and the associated first offline data file 114 at the first data server 110. The first data file 112 may store data for the first user. The first offline data file 114 may be linked to the first data file 112 and may store a portion of the data from the first data file 112. Similarly, the second data server 120 may store for a second user, a second data file 122 and a second offline data file 124 associated with the second data file 122. The second user may be registered with the second data server 120 to maintain the second data file 122 and the associated second offline data file 124 at the second data server 120. The second data file 122 may store data for the second user. The second offline data file 124 may be linked to the second data file 122 and may store a portion of the data from the second data file 122.
  • A geo-location device (e.g., GPS device 214) may be built into the first data card 130. The GPS device 214 may detect a geographical location of the first data card 130. For example, the GPS device 214 may be configured to detect the geographical location of the first data card 130 according to a pre-configured schedule (e.g., periodically). The geo-location data obtained from the GPS device 214 may be recorded and stored in the memory device 212 of the first data card 130. For example, the first data card 130 may store the geo-location data obtained from the GPS device 214 of the first data card 130 as first geo-location data 136. The first data card 130 may be configured to transmit the first geo-location data 136 to the first data server 110. The first data server 110 may be configured to determine whether the first data card 130 is outside a designated geographical region based on the first geo-location data 136 received from the first data card 130. The designated region may generally have network coverage and at least a portion of a region outside the designated region may not have network coverage. For example, when the first geo-location data 136 received from the first data card 130 includes GPS coordinates that are outside the designated region, the first data server 110 may determine that the first data card 130 is outside the designated region.
  • At step 504, the first data server 110 transfers a portion of the data from the first data file 112 to the first offline data file 114.
  • As described above, the first data server 110 may be configured to activate the first offline data file 114 based on the first geo-location data 136 received from the first data card 130. For example, the first data server 110 may be configured to keep the first offline data file 114 and the first data card 130 de-activated until the first data card 130 is detected outside the designated region. De-activating the first offline data file 114 may include deleting all data from the first offline data file 114. This may include transferring all data from the first offline data file 114 to the first data file 112. When the first offline data file 114 is empty, a next data synchronization between the first offline data file 114 and the first local data file 132 deletes all data from the first local data file 132 and consequently deactivates the first data card 130. The first data server 110 may be configured to activate the first offline data file 114 and the first local data file 132 in response to detecting that the first data card is outside the designated region. Activating the first offline data file 114 may include transferring a pre-selected portion of data from the first data file 112 to the first offline data file 114. When the first offline data file 114 has data, a next data synchronization between the first offline data file 114 and the first local data file 132 copies the data from the first offline data file 114 to the first local data file 132, consequently activating the first data card 130 for offline data exchanges with another data card (e.g., second data card 150).
  • At step 506, the first data card 130 checks whether the first data card 130 is connected to a network (e.g., network 170 including the internet). If the first data card 130 is not connected to the network 170, method 500 continues monitoring (e.g., periodically) for a connection to the network 170. On the other hand, if the first data card 130 is connected to the network 170, method 500 proceeds to step 508.
  • At step 508, the first data card 130 synchronizes data stored locally in the first local data file 132 with the first offline data file 114 stored at the first data server 110.
  • As described above, a SIM 208 may be included in the first data card 130 that may be configured to connect the first data card 130 to a cellular data network (e.g., a portion of network 170) when the first data card 130 is within network coverage. The SIM 208 allows the first data card 130 to connect to a cellular base station 210 to provide network access to the first data card 130. When in network coverage and connected to the data network, first data card 130 may be configured to synchronize (e.g. periodically) contents of the first local data file 132 with the first offline data file 114 stored at the first data server 110. Similarly, when in network coverage and connected to a data network, second data card 150 may be configured to synchronize (e.g. periodically) contents of the second local data file 152 with the second offline data file 124 stored at the second data server 120.
  • At step 510, the first data card 130 detects a pairing gesture performed between the first data card 130 and the second data card 150.
  • As described above sensors 202 included in each of the first data card 130 and the second data card 150 may be configured to detect relative movement of the data cards 130 and 150 in a particular direction within close proximity of each other. For example, sensors 202 of the first data card 130 can detect the second data card 150 moving in close proximity (e.g., within a pre-selected distance) to the first data card 130 in a particular direction. As shown in FIG. 2 , sensors 202 may include three left sensors L1, L2 and L3 provided near a left edge of the data card 200 (e.g., representing first data card 130 and/or second data card 150), three right sensors R1, R2, and R3 provided near a right edge of the data card 200, one top sensor T1 provided near the center of a top edge of the data card 200, and one bottom sensor B1 provided near the center of a bottom edge of the data card 200. Each of the sensors 202 may include any type of sensor that can detect movement of another data card within a pre-selected distance from the data card 200. For example, one or more of the sensors 202 may include a proximity sensor capable of detecting the presence of nearby objects within a nominal range. Data card 200 may be configured to locally store sensor data collected by each sensor 202 in memory device 212. For example, first data card 130 may store sensor data collected from sensors 202 as first sensor data 134. Similarly, second data card 150 may store sensor data collected from similar sensors 202 as second sensor data 154.
  • Microprocessor 204 of the data card 200 may be configured to detect pre-configured gestures related to a data interaction between data card 200 and another data card, based on the sensor data collected from sensors 202. For example, when the sensors 202 detect another data card moving from left to right relative to the data card 200 (e.g., direction aligned with L1>T1>R1, L3>B1>R3, L2>R2 or a combination thereof), the microprocessor 204 may be configured to detect a pairing gesture. For example, when another card is moved from left to right direction over data card 200 in close proximity, each of the sensors L1, T1, and R1 detect the other card in close proximity to the sensor one by one in sequence. That is, L1 first detects the other card in close proximity of L1, then T1 detects the other card in close proximity of T1, and finally R1 detects the other card in close proximity of the R1. This sequence of detection of the other card by sensors L1, T1, and R1 can be interpreted by the microprocessor 204 as the other card moving from left to right relative to the card 200. The movement of the other card from left to right relative to card 200 may be detected based on a similar sequence of detection by sensors “L3>B1>R3” or “L2>R2”. The microprocessor 204 may be configured to detect the pairing gesture based on movement of the other card detected by sensors L1>T1>R1, L3>B1>R3, L2>R2 or a combination thereof. For example, as shown in FIG. 3A, first data card 130 can be moved from left to right relative to the second data card 150 in close proximity to each other (e.g., within a pre-selected distance from each other). This relative movement may be detected by sensors 202 (e.g., L1>T1>R1, L3>B1>R3, L2>R2 or a combination thereof) on either or both data cards 130 and 150, which can be interpreted by the respective microprocessors 204 of the data cards 130 and 150 as a pairing gesture.
  • At step 512, the first data card 130 establishes a peer-to-peer connection with the second data card 150 in response to detecting a pairing gesture performed between the first data card 130 and the second data cared 150. The peer-to-peer connection between the data cards 130 and 150 may use any well-known communication technology that supports peer-to-peer data communication between two devices. In one embodiment, the peer-to-peer connection may use the Near-Field Communication (NFC) protocol. Each data card 130 and 150 may include the necessary hardware to establish the peer-to-peer connection. For example, each of the data cards 130 and 150 may include a communication module (not shown) that can be configured to use one or more known communication protocols to establish the peer-to-peer connection with other data cards.
  • At step 514, the first data card 130 detects a data interaction gesture performed between the first data card 130 and the second data card 150. As described above, when the sensors 202 of the data card 200 (e.g., representing first data card 130 and/or second data card 150) detect another data card moving from top to bottom relative to the data card 200 (e.g., direction aligned with L1>L2>L3, R1>R2>R3, T1>B1 or a combination thereof), the microprocessor 204 may be configured to detect a transfer gesture. For example, when another card is moved from top to bottom direction over card 200 in close proximity, each of the sensors L1, L2, and L3 detect the other card in close proximity to the sensor one by one in sequence. That is, L1 first detects the other card in close proximity of L1, then L2 detects the other card in close proximity of L2, and finally L3 detects the other card in close proximity of the L3. This sequence of detection of the other card by sensors L1, L2, and L3 can be interpreted by the microprocessor 204 as the other card moving from top to bottom relative to the card 200. The movement of the other card from top to bottom relative to card 200 may be detected based on a similar sequence of detection by sensors “R1>R2>R3” or “T1>B1”. The microprocessor 204 may be configured to detect the transfer gesture based on movement of the other card detected by sensors L1>L2>L3, R1>R2>R3, T1>B1 or a combination thereof. The microprocessor may be configured to initiate a data exchange (e.g., transmit or receive data) with the other data card in response to detecting the transfer gesture. For example, as shown in FIG. 3B, first data card 130 can be moved from top to bottom relative to the second data card 150 in close proximity to each other (e.g., within a pre-selected distance from each other). This relative movement may be detected by sensors 202 (e.g., L1>L2>L3, R1>R2>R3, T1>B1 or a combination thereof) on either or both data cards 130 and 150, which can be interpreted by the respective microprocessors 204 of the data cards 130 and 150 as a transfer gesture.
  • At step 516, the first data card 130 exchanges data with the second data cared 150 after detecting the data interaction gesture (e.g., data transfer gesture) between the first data card 130 and second data card 150. The data exchange may include transmitting data to the second data card 150 or receiving data from the second data card 150.
  • As described above, in response to detecting the transfer gesture, the first data card 130 and the second data card 150 may exchange data over an already established peer-to-peer connection between the data cards 130 and 150. Data exchange between the first data card 130 and the second data card 150 may include data exchange between the first local data file 132 stored in memory 212 of the first data card 130 and the second local data file 152 stored in memory 212 of the second data card 150. For example, the data exchange between the first data card 130 and the second data card 150 may include the first data card 130 initiating a data transfer to transfer at least a portion of data stored in the first local data file 132 to the second local data file 152 at the second data card 150. In an additional or alternative embodiment, the data exchange between the first data card 130 and the second data card 150 may include the first data card 130 receiving at least a portion of the data stored in the second local data file 152 at the second data card 150. The received data may be stored in the first local data file 132.
  • As described above with reference to FIG. 2 , the microprocessor 204 of the data card 200 may be configured to initiate a data exchange (e.g., data transmission or reception) with another data card (e.g., in response to detecting a transfer gesture) when a peer-to-peer connection is already established between the data card 200 and the other data card. Thus, in order to initiate a data exchange between the first data card 130 and the second data card 150, a pairing gesture may first need to be performed between the two data cards 130 and 150 followed by a transfer gesture between the two data cards 130 and 150.
  • In one example use case when the first user desires to transfer data from the first local data file 132 stored at the first data card 130 to the second local data file 152 stored at the second data card 150, the first user first performs a pairing gesture by moving the first data card 130 left to right relative to the second data card 150 within a pre-selected distance from the second data card 150. The relative movement of the data cards 130 and 150 is recorded by the sensors 202 on both data cards 130 and 150 and interpreted by respective microprocessors of the data cards 130 and 150 as a pairing gesture. In response to detecting the pairing gesture, the microprocessors 204 of the data cards 130 and 150 establish a peer-to-peer connection between the data cards 130 and 150. The first data card 130 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the peer-to-peer connection has been successfully established between the first data card 130 and the second data card 150. Similarly, the second data card 150 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the peer-to-peer connection has been successfully between the data cards 130 and 150. Once the peer-to-peer connection has been successfully established, the first user performs a transfer gesture by moving the first data card 130 top to bottom relative to the second data card 150 within the pre-selected distance from the second data card 150. This relative movement of the data cards 130 and 150 is recorded by the sensors 202 on both data cards 130 and 150 and interpreted by respective microprocessors of the data cards 130 and 150 as a transfer gesture. In response to detecting the transfer gesture, the microprocessor 204 of the first data card 130 may initiate transfer of the data from the first local data file 132 to the second data card 150 over the already established peer-to-peer connection. The second data card 150 may prepare to receive the data from the first data card 130 in response to detecting the transfer gesture. The first device may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that the data has been successfully transferred to the second data card 150. Similarly, the second data card 150 may provide a feedback (e.g., one or more audible beeps, a haptic response etc.) to confirm that that the data reception from the first data card 130 has been successfully completed. The second data card 150 may store the received data in the memory 212 of the second data card 150.
  • A similar method may be followed by the second user to initiate a data transfer from the second local data file 152 at the second data card 150 to the first local data file 132 at the first data card 130.
  • At step 518, the first data card 130 checks whether the first data card 130 is connected to the network (e.g., network 170 including the internet). If the first data card 130 is not connected to the network 170, method 500 continues monitoring (e.g., periodically) for a connection to the network 170. On the other hand, if the first data card 130 is connected to the network 170, method 500 proceeds to step 520.
  • At step 520, the first data card 130 synchronizes data stored locally in the first local data file 132 with the first offline data file 114 stored at the first data server 110. Since the data synchronization is after the data exchange between the first data card 130 and second data card 150, the first offline data file 114 reflects the changes to the first local data file 132 right after the synchronization is completed. For example, if a portion of data from the first local data file 132 was transferred to the second data card, the portion of data is deleted from the first offline data file 114 after the synchronization is completed. Similarly, if a portion of data was received from the second data card 150 and stored in the first local data file 132, the portion of data is added to the first offline data file 114 after the synchronization is completed.
  • FIG. 6 illustrates an example schematic diagram 600 of a data server illustrated in FIG. 1 , in accordance with one or more embodiments of the present disclosure. Data server 620 may be representative of the first data server 110 and/or the second data server 120 as shown in FIG. 1 .
  • Data server 620 includes a processor 602, a memory 606, and a network interface 604. The data server 620 may be configured as shown in FIG. 6 or in any other suitable configuration.
  • The processor 602 comprises one or more processors operably coupled to the memory 606. The processor 602 is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g. a multi-core processor), field-programmable gate array (FPGAs), application specific integrated circuits (ASICs), or digital signal processors (DSPs). The processor 602 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. The processor 602 is communicatively coupled to and in signal communication with the memory 606. The one or more processors are configured to process data and may be implemented in hardware or software. For example, the processor 602 may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture. The processor 602 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.
  • The one or more processors are configured to implement various instructions. For example, the one or more processors are configured to execute instructions (e.g., data server instructions 612) to implement the data server 620. In this way, processor 602 may be a special-purpose computer designed to implement the functions disclosed herein. In one or more embodiments, the data server 620 is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. The data server 620 is configured to operate as described with reference to FIGS. 1-5 . For example, the data server 620 may be configured to perform at least a portion of the method 500 as described in FIG. 5 .
  • The memory 606 comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. The memory 606 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).
  • The memory 606 is operable to store a data file 608, an offline data file 610 and data server instructions 612. The data file 608 may be representative of the first data file 112 or the second data file 122. The offline data file 610 may be representative of the first offline data file 114 or the second offline data file 124. The data server instructions 612 may include any suitable set of instructions, logic, rules, or code operable to execute the data server 620.
  • The network interface 604 is configured to enable wired and/or wireless communications. The network interface 604 is configured to communicate data between the data server 620 and other devices, systems, or domains (e.g. other data servers, data cards etc.). For example, the network interface 604 may comprise a Wi-Fi interface, a LAN interface, a WAN interface, a modem, a switch, or a router. The processor 602 is configured to send and receive data using the network interface 604. The network interface 604 may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.
  • It may be noted that each of the first data card 130 and the second data card 150 may be implemented similar to the data server 620. For example, the each of the first data card 130 and the second data card 150 may include a processor and a memory storing instructions to implement the respective functionality as described above when executed by the processor. The memory of each the first data card 130 may be configured to store the first local data file 132, the first sensor data 134, the first geo-location data 136 and the first interaction data 138. Similarly, the memory of the second data card 150 may be configured to store the second local data file 152, the second sensor data 154, the second geo-location data 156 and the second interaction data 158.
  • While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
  • In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.
  • To aid the Patent Office, and any readers of any patent issued on this application in interpreting the claims appended hereto, applicants note that they do not intend any of the appended claims to invoke 35 U.S.C. § 112(f) as it exists on the date of filing hereof unless the words “means for” or “step for” are explicitly used in the particular claim.

Claims (20)

1. A system comprising:
a first server storing a first data file for a first user;
a second server storing a second data file for a second user;
a first data card of the first user registered with the first server, wherein the first data card has a first set of sensors provided on a first face of the first data card and a first data input device provided on a second face of the first data card, wherein the first data card locally stores a portion of the first data file;
a second data card of the second user registered with the second server, wherein the second data card is associated with the second data file;
the first data card comprising at least one processor configured to:
receive a first signal from at least one sensor of the first set of sensors;
detect, based on the received first signal, a movement of the first data card relative to the second data card in a first direction within a pre-selected distance from the second data card;
interpret the relative movement of the first data card in the first direction as a card pairing gesture;
establish a peer-to-peer connection between the first data card and the second data card, in response to the card pairing gesture;
receive via the first data input device, an indication to transmit the portion of the first data file from the first data card to the second data card;
receive a second signal from at least one sensor of the first set of sensors;
detect, based on the received second signal, a movement of the first data card relative to the second data card in a second direction different from the first direction within a pre-selected distance from the second data card;
interpret the relative movement of the first data card in the second direction as a data interaction gesture; and
transmit the portion of the first data file from the first data card to the second data card over the peer-to-peer connection, in response to the data interaction gesture.
2. The system of claim 1, wherein:
the first server stores a first offline data file;
the first data card comprises a geo-location device to detect a geographical location of the first data card;
the first server is configured to:
receive a geo-location signal from the first data card;
detect, based on the geo-location signal that the first data card is outside a designated region; and
in response, transfer the portion of the first data file to the first offline data file.
3. The system of claim 2, wherein the portion of the first data file is pre-selected for transferring to the first offline data file.
4. The system of claim 2, wherein:
the first data card further comprises a first Subscriber Identity Module (SIM) for connecting to a data network; and
the at least one processor of the first data card is further configured to:
detect that the first data card is connected to the data network via the first SIM; and
synchronize data locally stored at the first data card with the first offline data file over the data network.
5. The system of claim 4, wherein:
the second data card comprises a second Subscriber Identity Module (SIM) for connecting to the data network; and
the second data card comprises at least one second processor configured to:
detect that the second data card is connected to the data network via the second SIM; and
synchronize over the data network data stored locally at the second data card with the second data file or a second offline data file associated with the second data file at the second server.
6. The system of claim 1, wherein:
the first data card further comprises a haptic device;
the at least one processor is further configured to:
trigger a first haptic response by the haptic device in response to successfully establishing the peer-to-peer connection with the second data card; and
trigger a second haptic response by the haptic device in response to successfully completing transmission of the portion of the first data file to the second data card.
7. The system of claim 1, wherein the first server comprises the second server or the second server comprises the first server.
8. The system of claim 1, wherein the peer-to-peer connection comprises a Near-Field Communication (NFC) protocol.
9. A system comprising:
a first server storing a first data file for a first user;
a second server storing a second data file for a second user;
a first data card of the first user registered with the first server, wherein the first data card has a first set of sensors provided on a first face of the first data card, wherein the first data card is associated with the first data file;
a second data card of the second user registered with the second server, wherein the second data card locally stores a portion of the second data file;
wherein the first data card comprises at least one processor configured to:
receive a first signal from at least one sensor of the first set of sensors;
detect, based on the received first signal, a movement of the first data card relative to the second data card in a first direction within a pre-selected distance from the second data card;
interpret the relative movement of the first data card in the first direction as a card pairing gesture;
establish a peer-to-peer connection with the second data card, in response to the card pairing gesture;
receive a second signal from at least one sensor of the first set of sensors;
detect, based on the received second signal, a movement of the first data card relative to the second data card in a second direction within the pre-selected distance from the second data card;
interpret the relative movement of the first data card in the second direction as a data interaction gesture; and
receive the portion of the second data file from the second data card over the peer-to-peer connection, in response to the data interaction gesture; and
a memory coupled to the at least one processor and configured to locally store the received portion of the second data file.
10. The system of claim 9, wherein:
the first data card further comprises a first data input device provided on a second face of the first data card;
the at least one processor is further configured to:
receive a confirmation via the first data input device of receiving the portion of the second data file from the second data card; and
receiving the portion of the second data file from the second data card after receiving the confirmation.
11. The system of claim 10, wherein:
the first server stores a first offline data file associated with the first data file;
the first data card further comprises a first Subscriber Identity Module (SIM) for connecting to a data network; and
the at least one processor of the first data card is further configured to:
detect that the first data card is connected to the data network via the first SIM; and
synchronize data locally stored in the memory of the first data card with the first offline data file over the data network, wherein synchronizing includes transmitting the portion of the second data file to the second server for storing in the first offline data file.
12. The system of claim 11, wherein:
the second data card comprises a second Subscriber Identity Module (SIM) for connecting to the data network; and
the second data card comprises at least one second processor configured to:
detect that the second data card is connected to the data network via the second SIM; and
synchronize over the data network data stored locally at the second data card with the second data file or a second offline data file associated with the second data file at the second server.
13. The system of claim 9, wherein:
the first data card further comprises a haptic device;
the at least one processor is further configured to:
trigger a first haptic response by the haptic device in response to successfully establishing the peer-to-peer connection with the second data card; and
trigger a second haptic response by the haptic device in response to successfully completing reception of the portion of the second data file from the second data card.
14. The system of claim 9, wherein the first server comprises the second server or the second server comprises the first server.
15. The system of claim 9, wherein the peer-to-peer connection comprises a Near-Field Communication (NFC) protocol.
16. A method for operating a first data card, comprising:
receiving a first signal from at least one sensor of a first set of sensors provided at the first data card;
detecting, based on the first signal, a movement of the first data card relative to a second data card in a first direction within a pre-selected distance from the second data card;
interpreting the relative movement of the first data card in the first direction as a card pairing gesture;
establishing a peer-to-peer connection between the first data card and the second data card, in response to the card pairing gesture;
receiving an indication to exchange data with the second data card, wherein exchanging the data includes one or more of transmitting the data to the second data card and receiving the data from the second data card;
receiving a second signal from at least one sensor of the first set of sensors;
detecting, based on the second signal, a movement of the first data card relative to the second data card in a second direction different from the first direction within a pre-selected distance from the second data card;
interpreting the relative movement of the first data card in the second direction as a data interaction gesture; and
exchanging the data with the second data card over the peer-to-peer connection, in response to the data interaction gesture.
17. The method of claim 16, further comprising:
detecting a geographical location of the first data card using a geo-location device provided at the first data card;
transmitting the geographical location of the first data card to a first server;
receiving a portion of a data file from the first server; and
locally storing the received portion of the data file at the first data card,
wherein exchanging the data with the second data card comprises transmitting the portion of the data file to the second data card.
18. The method of claim 16, further comprising:
detecting that the first data card is connected to a data network via a first Subscriber Identity Module (SIM) provided at the first data card; and
synchronize data locally stored at the first data card with an offline data file stored at a first server over the data network.
19. The method of claim 16, further comprising:
triggering a first haptic response using a haptic device provided at the first data card, in response to successfully establishing the peer-to-peer connection with the second data card; and
triggering a second haptic response using the haptic device in response to successfully exchanging the data with the second data card.
20. The method of claim 16, wherein the peer-to-peer connection comprises a Near-Field Communication (NFC) protocol.
US17/385,775 2021-07-26 2021-07-26 Offline data transfer between devices using gestures Active 2041-08-04 US11556264B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/385,775 US11556264B1 (en) 2021-07-26 2021-07-26 Offline data transfer between devices using gestures
US18/051,823 US11914880B2 (en) 2021-07-26 2022-11-01 Offline data transfer between devices using gestures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/385,775 US11556264B1 (en) 2021-07-26 2021-07-26 Offline data transfer between devices using gestures

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/051,823 Continuation US11914880B2 (en) 2021-07-26 2022-11-01 Offline data transfer between devices using gestures

Publications (2)

Publication Number Publication Date
US11556264B1 US11556264B1 (en) 2023-01-17
US20230024454A1 true US20230024454A1 (en) 2023-01-26

Family

ID=84922752

Family Applications (2)

Application Number Title Priority Date Filing Date
US17/385,775 Active 2041-08-04 US11556264B1 (en) 2021-07-26 2021-07-26 Offline data transfer between devices using gestures
US18/051,823 Active US11914880B2 (en) 2021-07-26 2022-11-01 Offline data transfer between devices using gestures

Family Applications After (1)

Application Number Title Priority Date Filing Date
US18/051,823 Active US11914880B2 (en) 2021-07-26 2022-11-01 Offline data transfer between devices using gestures

Country Status (1)

Country Link
US (2) US11556264B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556264B1 (en) * 2021-07-26 2023-01-17 Bank Of America Corporation Offline data transfer between devices using gestures

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060131393A1 (en) * 2004-12-22 2006-06-22 Eastman Kodak Company Multi-role transaction card
US20070038516A1 (en) * 2005-08-13 2007-02-15 Jeff Apple Systems, methods, and computer program products for enabling an advertiser to measure user viewing of and response to an advertisement
US20110163944A1 (en) * 2010-01-05 2011-07-07 Apple Inc. Intuitive, gesture-based communications with physics metaphors
US20170365134A1 (en) * 2016-06-21 2017-12-21 Bank Of America Corporation Devices and systems for detecting unauthorized communication of data from a magnetic stripe device or embedded smart chip device
US20180130059A1 (en) * 2016-11-04 2018-05-10 Bbpos Lmited System and methods to prevent unauthorized usage of card readers
US20220138746A1 (en) * 2020-11-03 2022-05-05 Capital One Services, Llc Computer-based systems configured to provide multimodal atm access via mobile devices and methods of use thereof

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US722333A (en) 1901-01-26 1903-03-10 Friedrich Sturm Electric igniting device.
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7523505B2 (en) 2002-08-16 2009-04-21 Hx Technologies, Inc. Methods and systems for managing distributed digital medical data
US9406063B2 (en) 2002-10-01 2016-08-02 Dylan T X Zhou Systems and methods for messaging, calling, digital multimedia capture, payment transactions, global digital ledger, and national currency world digital token
US9704151B2 (en) 2002-10-01 2017-07-11 Andrew H B Zhou Systems and methods for mobile application, wearable application, transactional messaging, calling, digital multimedia capture and payment transactions
US10147076B2 (en) 2002-10-01 2018-12-04 Andrew H B Zhou Digital currency (virtual payment cards) issued by central bank for mobile and wearable devices
US9710804B2 (en) 2012-10-07 2017-07-18 Andrew H B Zhou Virtual payment cards issued by banks for mobile and wearable devices
US9830589B2 (en) 2002-10-01 2017-11-28 Zhou Tian Xing Systems and methods for mobile application, wearable application, transactional messaging, calling, digital multimedia capture, payment transactions, and one touch payment, one tap payment, and one touch service
US9646300B1 (en) 2002-10-01 2017-05-09 World Award Academy, World Award Foundation, Amobilepay, Inc. Systems and methods for mobile application, wearable application, transactional messaging, calling, digital multimedia capture, payment transactions, and one touch service
US10055714B2 (en) 2002-10-01 2018-08-21 World Award Academy, World Award Foundation, Amobilepay, Inc. Digital currency (virtual payment cards) issued by central bank for mobile and wearable devices
US7426574B2 (en) 2003-12-16 2008-09-16 Trend Micro Incorporated Technique for intercepting data in a peer-to-peer network
EP1920393A2 (en) 2005-07-22 2008-05-14 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US7427926B2 (en) * 2006-01-26 2008-09-23 Microsoft Corporation Establishing communication between computing-based devices through motion detection
US8391786B2 (en) * 2007-01-25 2013-03-05 Stephen Hodges Motion triggered data transfer
US8964653B2 (en) 2008-07-11 2015-02-24 Qualcomm Incorporated Peer-to-peer device identification and cognitive communication
US20140100973A1 (en) 2009-12-28 2014-04-10 Cryptite, Llc Smartphone virtual payment card
US9965756B2 (en) 2013-02-26 2018-05-08 Digimarc Corporation Methods and arrangements for smartphone payments
US20150026072A1 (en) 2011-07-18 2015-01-22 Andrew H B Zhou Global world universal digital mobile and wearable currency image token and ledger
KR101321875B1 (en) 2011-07-19 2013-10-28 에이큐 주식회사 System of NFC secure print and method thereof
WO2013029014A2 (en) 2011-08-24 2013-02-28 Visa International Service Association Method for using barcodes and mobile devices to conduct payment transactions
US10270587B1 (en) 2012-05-14 2019-04-23 Citigroup Technology, Inc. Methods and systems for electronic transactions using multifactor authentication
US9549024B2 (en) 2012-12-07 2017-01-17 Remote Media, Llc Routing and synchronization system, method, and manager
US9307403B2 (en) 2013-02-07 2016-04-05 Schlage Lock Company Llc System and method for NFC peer-to-peer authentication and secure data transfer
US9312926B2 (en) 2013-02-07 2016-04-12 Schlage Lock Company Llc System and method for NFC peer-to-peer authentication and secure data transfer
US20140258110A1 (en) 2013-03-11 2014-09-11 Digimarc Corporation Methods and arrangements for smartphone payments and transactions
US9830588B2 (en) 2013-02-26 2017-11-28 Digimarc Corporation Methods and arrangements for smartphone payments
EP2962262A4 (en) 2013-02-26 2016-08-24 Digimarc Corp Methods and arrangements for smartphone payments and transactions
WO2015030742A1 (en) 2013-08-28 2015-03-05 Intel Corporation Systems and methods for authenticating access to an operating system by a user before the operating system is booted using a wireless communication token
US9955505B2 (en) 2013-12-06 2018-04-24 Apple Inc. Peer-to-peer communications on restricted channels
US9311639B2 (en) 2014-02-11 2016-04-12 Digimarc Corporation Methods, apparatus and arrangements for device to device communication
US20160125403A1 (en) 2014-04-28 2016-05-05 Chin-hao Hu Offline virtual currency transaction
US20150339662A1 (en) 2014-05-23 2015-11-26 LoopPay Inc. Systems and methods for linking devices to user accounts
WO2016033499A1 (en) 2014-08-29 2016-03-03 Mastercard International Incorporated Secure on device cardholder authentication usning biometric data
EP3248359A4 (en) 2015-01-22 2018-09-05 Visa International Service Association Method and system for establishing a secure communication tunnel
JP2016197767A (en) 2015-04-02 2016-11-24 Kddi株式会社 Authentication data verification system, device and method using command from communication apparatus
AU2016244847A1 (en) 2015-04-07 2017-11-23 Omnyway, Inc. Methods and systems for using a mobile device to effect a secure electronic transaction
US10049349B1 (en) 2015-09-29 2018-08-14 Square, Inc. Processing electronic payment transactions in offline-mode
AU2017277523A1 (en) 2016-06-07 2018-10-04 Visa International Service Association Multi-level communication encryption
US10366378B1 (en) 2016-06-30 2019-07-30 Square, Inc. Processing transactions in offline mode
KR20180013061A (en) 2016-07-28 2018-02-07 삼성전자주식회사 Method and device to pay remotely
KR102239488B1 (en) 2017-05-31 2021-04-12 삼성에스디에스 주식회사 System and method for communicating between devices
EP3502993A1 (en) 2017-12-22 2019-06-26 Mastercard International Incorporated A method and system for conducting a transaction
US10453054B2 (en) * 2018-01-10 2019-10-22 Capital One Services, Llc Utilizing a transaction card to provide secondary authentication for accessing a secure application with a user device
TWI722333B (en) 2018-01-19 2021-03-21 澧達科技股份有限公司 Card reading transaction system and method for operating a card reading transaction system
CA3090597A1 (en) 2018-02-07 2019-08-15 Beijing Sankuai Online Technology Co., Ltd Resource transfer based on near field communication
WO2019217726A1 (en) 2018-05-09 2019-11-14 Averon Us, Inc. Improved identification and authentication of a user using identity-linked device information for facilitation of near-field events
US11823200B2 (en) 2019-07-08 2023-11-21 Oracle International Corporation Smart physical payment cards
US10872345B1 (en) * 2020-01-30 2020-12-22 Capital One Services, Llc Transaction cards and computer-based systems that provide fraud detection at POS devices based on analysis of feature sets and methods of use thereof
US11763293B2 (en) * 2020-10-30 2023-09-19 Capital One Services, Llc Computer-based systems involving temporary cards and associated server and/or mobile device features and methods of use thereof
US11556264B1 (en) * 2021-07-26 2023-01-17 Bank Of America Corporation Offline data transfer between devices using gestures

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060131393A1 (en) * 2004-12-22 2006-06-22 Eastman Kodak Company Multi-role transaction card
US20070038516A1 (en) * 2005-08-13 2007-02-15 Jeff Apple Systems, methods, and computer program products for enabling an advertiser to measure user viewing of and response to an advertisement
US20110163944A1 (en) * 2010-01-05 2011-07-07 Apple Inc. Intuitive, gesture-based communications with physics metaphors
US20170365134A1 (en) * 2016-06-21 2017-12-21 Bank Of America Corporation Devices and systems for detecting unauthorized communication of data from a magnetic stripe device or embedded smart chip device
US20180130059A1 (en) * 2016-11-04 2018-05-10 Bbpos Lmited System and methods to prevent unauthorized usage of card readers
US20220138746A1 (en) * 2020-11-03 2022-05-05 Capital One Services, Llc Computer-based systems configured to provide multimodal atm access via mobile devices and methods of use thereof

Also Published As

Publication number Publication date
US11556264B1 (en) 2023-01-17
US11914880B2 (en) 2024-02-27
US20230085733A1 (en) 2023-03-23

Similar Documents

Publication Publication Date Title
EP3701671B1 (en) Cross-blockchain authentication method, apparatus, and electronic device
WO2015062412A1 (en) Method, device and system for online payment
US11914880B2 (en) Offline data transfer between devices using gestures
EP2926264A1 (en) Data assembly, transfer and storage
CA3214734A1 (en) Secure sensor data distribution
CA2958267A1 (en) System and method for management of payee information
US20200372489A1 (en) Resource transfer based on near field communication
KR102650721B1 (en) Electronic device and method for processing remote payment
WO2017053688A1 (en) Mobile application performance
WO2018064876A1 (en) Payment method and device based on nfc near field communication
EP3892034A1 (en) Proximity device network
US20220092564A1 (en) Resource configuration methods, apparatuses, and systems
US20170161744A1 (en) System and Method for Cash Withdrawal
WO2016151056A1 (en) Authentication for mobile transactions
US11711421B2 (en) System and method using peer-to-peer connections for a distribution interaction session
US20190156334A1 (en) System and method for providing anonymous payments
KR101639866B1 (en) Card terminal, communication server and Method for processing payment information thereof
CN111915313B (en) Digital asset transfer control method, device and communication system for blockchain
US20240054464A1 (en) Atm leveraging edge devices for alternative data routing
US20230229814A1 (en) System and Method for Providing Trusted Links Between Applications
WO2023281451A1 (en) Contactless payment methods and systems
CA3214741A1 (en) Blockchain key generation
AU2022254519A1 (en) Sim cryptographic key storage
JP2024518218A (en) Multi-factor authentication with cryptography-enabled smart cards
WO2019171288A1 (en) Contactless communication-based financial transactions

Legal Events

Date Code Title Description
AS Assignment

Owner name: BANK OF AMERICA CORPORATION, NORTH CAROLINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PULLA, KIRAN;BEELA, MOHAN;SIGNING DATES FROM 20210715 TO 20210716;REEL/FRAME:056980/0674

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE