US20230024454A1 - Offline data transfer between devices using gestures - Google Patents
Offline data transfer between devices using gestures Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/352—Contactless payments by cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/409—Device specific authentication in transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services 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
- 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. 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.
- 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.
- 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 inFIG. 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 inFIG. 1 , in accordance with one or more embodiments of the present disclosure. -
FIG. 1 is a schematic diagram of an exampledata processing system 100, in accordance with certain embodiments of the present disclosure. - As shown in
FIG. 1 ,data processing system 100 includes afirst data server 110, asecond data server 120, afirst data card 130 and asecond data card 150, each capable of connecting to anetwork 170. Thenetwork 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, thenetwork 170 may be the Internet. -
First data server 110 may store for a first user, a first data file 112 and a firstoffline data file 114 associated with the first data file 112. The first user may be registered with thefirst data server 110 to maintain the first data file 112 and the associated firstoffline data file 114 at thefirst data server 110. The first data file 112 may store data for the first user. The firstoffline 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, thefirst data server 110 may be configured to transfer a portion of the first user's data from the first data file 112 to the firstoffline data file 114, based on selections made by the first user. For example, the first user may configure thefirst data server 110 to transfer the portion of the data from the first data file 112 to the firstoffline data file 114. In one embodiment, thefirst data server 110 may be configured to maintain a pre-selected amount of user data in the firstoffline data file 114. For example, as and when the user data in the firstoffline 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 firstoffline data file 114 to keep the amount of data in the firstoffline 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 thesecond data server 120 to maintain the second data file 122 and the associated second offline data file 124 at thesecond 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, thesecond 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 thesecond 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, thesecond 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 thesecond 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 thefirst 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, thefirst data server 110 may include thesecond data server 120 or vice versa. For example, thefirst data server 110 and thesecond 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 thefirst data server 110 and linked to the first offline data file 114 of the first user. As shown inFIG. 1 , thefirst 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, thefirst data card 130 may be configured to synchronize the first local data file 132 with the first offline data file 114 over thenetwork 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. Thefirst data card 130 may be configured to synchronize the first local data file 132 with the first offline data file 114 over thenetwork 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 thesecond data server 120 and linked to the second offline data file 124. As shown inFIG. 1 , thesecond 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, thesecond data card 150 may be configured to synchronize the second local data file 152 with the second offline data file 124 over thenetwork 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. Thesecond data card 150 may be configured to synchronize the second local data file 152 with the second offline data file 124 over thenetwork 170 according to a pre-determined schedule (e.g., periodically). - As shown in
FIG. 1 ,first data card 130 may further storefirst 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 thefirst 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, thesecond data card 150 may further storesecond 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 thesecond 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). Thefirst data card 130 and thesecond data card 150 may further storefirst interaction data 138 and second interaction data 158 respectively. As described below theinteraction data 138 and 158 may include information relating to data interactions (e.g., data transmissions and data reception) between thefirst data card 130 and thesecond data card 150. - As described below, each of the
first data card 130 and thesecond data card 150 may be configured to exchange data (e.g., transmit data or receive data) with the other of the twodata cards data cards first data card 130 may be configured to exchange data with thesecond data card 150 when bothdata cards data cards data cards data cards 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 thesecond data card 150. Thefirst data card 130 may also be configured to receive data from the second local data file 152 at thesecond data card 150 and store the received data in the first local data file 132. Thesecond data card 150 may similarly transmit data to and receive data from the first local data file 132 of thefirst 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 thefirst data server 110 and thesecond data server 120 may be indirectly performed by initiating an offline data transfer between thefirst data card 130 and thesecond data card 150 each of which can locally store a portion of the data from therespective data servers - It may be noted that while embodiments of the present disclosure are useful for exchanging data between the
data cards data cards data cards data cards network 170. - In one or more embodiments, each of the
first data server 110, thesecond data server 120, thefirst data card 130 and thesecond data card 150 may be implemented by a computing device running one or more software applications. For example, one or more of thefirst data server 110, thesecond data server 120, thefirst data card 130 and thesecond 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 thefirst data server 110, thesecond data server 120, thefirst data card 130 and thesecond 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 thefirst data server 110, thesecond data server 120, thefirst data card 130 and thesecond 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 anexample data card 200, in accordance with certain embodiments of the present disclosure.Data card 200 may be representative of either or both thefirst data card 130 and thesecond data card 150. In one embodiment,data card 200 may be representative of both thefirst data card 130 and thesecond data card 150, in which case thefirst data card 130 and thesecond data card 150 are identical. - As shown in
FIG. 2 ,data card 200 may include amicroprocessor 204, amemory device 212,sensors 202, a Subscriber Identity Module (SIM) 208, a Global Positioning System (GPS)device 214, ahaptic device 216 and abattery 206. -
Battery 206 provides electric power to one or more electric components of thedata card 200 including one or more of themicroprocessor 204,memory device 212,sensors 202,SIM 208,GPS device 214 andhaptic device 216. -
Memory device 212 may be configured to store data relating to thedata card 200. For example,memory device 212 of thefirst data card 130 may be configured to store the first local data file 132, thefirst sensor data 134, the first geo-location data 136 and thefirst interaction data 138. Similarly,memory device 212 of thesecond data card 150 may be configured to store the second local data file 152, thesecond 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 themicroprocessor 204 to perform operations related to thedata 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 thedata card 200. TheGPS device 214 may be configured to detect the geographical location of thedata card 200 according to a pre-configured schedule (e.g., periodically). The geo-location data obtained from theGPS device 214 may be recorded and stored in thememory device 212 of thedata card 200. For example, thefirst data card 130 may store the geo-location data obtained from theGPS device 214 of thefirst data card 130 as first geo-location data 136. Thesecond data card 150 may store the geo-location data obtained from theGPS device 214 of thesecond data card 150 as second geo-location data 156. Each of thefirst data card 130 and thesecond data card 150 may be configured to transmit the respective geo-location data 136 and 156 to therespective data servers - In one or more embodiments, each of the
first data server 110 and thesecond 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 respectivefirst data card 130 and thesecond data card 150. For example, thefirst data server 110 may be configured to determine whether thefirst data card 130 is outside a designated region and/or within a designated region based on the first geo-location data 136 received from thefirst data card 130. When thefirst data server 110 is configured to determine whether thefirst 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 thefirst data server 110 is configured to determine whether thefirst data card 130 is within a designated region, at least a portion of the designated region may not have network coverage. Thefirst data server 110 may be configured to keep the first offline data file 114 and thefirst data card 130 de-activated until thefirst 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 thefirst data card 130. Thefirst 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 thefirst 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 thenetwork 170 to request a data transfer between thefirst data server 110 and thesecond data server 120. In this case, since a direct data transfer may be initiated between thefirst data server 110 and thesecond data server 120, there is no need for an indirect data transfer between thedata servers first data card 130 and thesecond data card 150 over a peer-to-peer connection between thedata cards 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 thenetwork 170 to initiate the direct data transfer betweendata servers first data card 130 when thefirst data card 130 is detected outside a designated region or within a designated region,first data server 110 may ensure that indirect data transfer betweendata servers data cards data servers network 170. -
SIM 208 may be configured to connectdata card 200 to a cellular data network (e.g., a portion of network 170) whendata card 200 is within network coverage. TheSIM 208 allows thedata card 200 to connect to acellular base station 210 to provide network access to thedata 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 thefirst 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 thesecond data server 120. -
Haptic device 216 may be configured to generate a haptic feedback in response to events occurring at thedata 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. Thehaptic 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 thedata card 200 within close proximity of thedata card 200. For example, whendata card 200 represents thefirst data card 130,sensors 202 can detect thesecond data card 150 moving in close proximity (e.g., within a pre-selected distance) to thefirst 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 thedata card 200, three right sensors R1, R2, and R3 provided near a right edge of thedata card 200, one top sensor T1 provided near the center of a top edge of thedata card 200, and one bottom sensor B1 provided near the center of a bottom edge of thedata card 200. Each of thesensors 202 may include any type of sensor that can detect movement of another data card within a pre-selected distance from thedata card 200. For example, one or more of thesensors 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 eachsensor 202 inmemory device 212. For example,first data card 130 may store sensor data collected fromsensors 202 asfirst sensor data 134. Similarly,second data card 150 may store sensor data collected fromsimilar sensors 202 assecond sensor data 154. -
Microprocessor 204 may be configured to detect pre-configured gestures related to a data interaction betweendata card 200 and another data card, based on the sensor data collected fromsensors 202. For example, when thesensors 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), themicroprocessor 204 may be configured to detect a pairing gesture. For example, when another card is moved from left to right direction overdata 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 themicroprocessor 204 as the other card moving from left to right relative to thecard 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”. Themicroprocessor 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. Themicroprocessor 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), themicroprocessor 204 may be configured to detect a transfer gesture. For example, when another card is moved from top to bottom direction overcard 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 themicroprocessor 204 as the other card moving from top to bottom relative to thecard 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”. Themicroprocessor 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 thedata card 200 is to detect other cards. For example, themicroprocessor 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 thedata 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 thesecond 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 bothdata cards respective microprocessors 204 of thedata cards first data card 130 and thesecond data card 150 may establish a peer-to-peer connection with each other. The peer-to-peer connection between thedata cards data card 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 thesecond 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 bothdata cards respective microprocessors 204 of thedata cards first data card 130 and thesecond data card 150 may exchange data over an already established peer-to-peer connection between thedata cards first data card 130 and thesecond data card 150 may include data exchange between the first local data file 132 stored inmemory 212 of thefirst data card 130 and the second local data file 152 stored inmemory 212 of thesecond data card 150. - The
microprocessor 204 of thedata 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 thedata card 200 and the other data card. Thus, in order to initiate a data exchange between thefirst data card 130 and thesecond data card 150, a pairing gesture may first need to be performed between the twodata cards data cards - 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 thesecond data card 150, the first user first performs a pairing gesture by moving thefirst data card 130 left to right relative to thesecond data card 150 within a pre-selected distance from thesecond data card 150. The relative movement of thedata cards sensors 202 on bothdata cards data cards microprocessors 204 of thedata cards data cards 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 thefirst data card 130 and thesecond data card 150. Similarly, thesecond 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 thedata cards first data card 130 top to bottom relative to thesecond data card 150 within the pre-selected distance from thesecond data card 150. This relative movement of thedata cards sensors 202 on bothdata cards data cards microprocessor 204 of thefirst data card 130 may initiate transfer of the data from the first local data file 132 to thesecond data card 150 over the already established peer-to-peer connection. Thesecond data card 150 may prepare to receive the data from thefirst 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 thesecond data card 150. Similarly, thesecond 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 thefirst data card 130 has been successfully completed. Thesecond data card 150 may store the received data in thememory 212 of thesecond 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 thefirst 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 thesecond data card 150. For example, each data transfer occurring between thefirst data card 130 and thesecond 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 thefirst data card 130 and thesecond data card 150 may be recorded as a data transmission at thefirst data card 130 and as a data reception at thesecond data card 150. As shown inFIG. 1 , the data interactions between thefirst data card 130 and thesecond data card 150 are stored asfirst interaction data 138 at thefirst data card 130 and second interaction data 158 at thesecond 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 thefirst data card 130 and thesecond data card 150 may be configured to transmit the respectivefirst interaction data 138 andsecond interaction data 150 to thefirst data server 110 andsecond 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 anexample user interface 400 of adata card 200 as shown inFIG. 2 , in accordance with one or more embodiments of the present disclosure. As shown,user interface 400 of thedata card 200 includes adata input device 402 and display 404 on a face of thedata card 200. While thedata input device 402 is illustrated as a number keypad, it may be appreciated that thedata input device 402 may include any known input device including an alphanumeric keypad including letters, numbers and special characters. Further, whiledisplay 404 is illustrated as displaying numbers, it may be appreciated that thedisplay 404 can include any known display device, for example, capable of displaying numbers, letters and other characters. - The
user interface 400 of thedata 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 thefirst data card 130 and thesecond data card 150, the first user may authenticate the data transfer from thefirst data card 130 to thesecond data card 150 by inputting a unique key using thedata input device 402. Thedisplay 404 may display the characters of the unique key as the user types the characters using thedata input device 402. In an additional or alternative embodiment, the first user may use thedata input device 402 to specify what portion of data from the first local data file 132 is to be transferred to thesecond 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 similardata input device 402 provided at thesecond data card 150 to approve a reception of data from thefirst data card 130. For example, in order to authenticate and approve the data reception from thefirst data card 130, the second user may input a unique key using thedata input device 402 of thesecond data card 150. Thesecond data card 150 may initiate the data reception from thefirst data card 130 upon receiving the correct key via thedata 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 thedata card 200 and the user interface is provided on a second face of thedata card 200. - In an exemplary banking use case, the
first data server 110 may be representative of a first bank server and thesecond 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. Thefirst data card 130 may be representative of a first money card of the first user that is registered with the first bank server, and thesecond 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 betweencash card 130 andcash 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 thesecond 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 thefirst data card 130 and thesecond 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 anexample 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 thedata processing system 100 as shown inFIG. 1 and described above. - At
step 502, thefirst data server 110 detects that afirst data card 130 of a first user registered with afirst data server 110 is outside a designated geographical region. - As described above with reference to
FIG. 1 , thedata processing system 100 includes thefirst data server 110, thefirst data card 130, asecond data server 120, and asecond data card 150, each capable of connecting to anetwork 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 thefirst data server 110 to maintain the first data file 112 and the associated first offline data file 114 at thefirst 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, thesecond 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 thesecond data server 120 to maintain the second data file 122 and the associated second offline data file 124 at thesecond 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. TheGPS device 214 may detect a geographical location of thefirst data card 130. For example, theGPS device 214 may be configured to detect the geographical location of thefirst data card 130 according to a pre-configured schedule (e.g., periodically). The geo-location data obtained from theGPS device 214 may be recorded and stored in thememory device 212 of thefirst data card 130. For example, thefirst data card 130 may store the geo-location data obtained from theGPS device 214 of thefirst data card 130 as first geo-location data 136. Thefirst data card 130 may be configured to transmit the first geo-location data 136 to thefirst data server 110. Thefirst data server 110 may be configured to determine whether thefirst data card 130 is outside a designated geographical region based on the first geo-location data 136 received from thefirst 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 thefirst data card 130 includes GPS coordinates that are outside the designated region, thefirst data server 110 may determine that thefirst data card 130 is outside the designated region. - At
step 504, thefirst 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 thefirst data card 130. For example, thefirst data server 110 may be configured to keep the first offline data file 114 and thefirst data card 130 de-activated until thefirst 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 thefirst data card 130. Thefirst 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 thefirst data card 130 for offline data exchanges with another data card (e.g., second data card 150). - At
step 506, thefirst data card 130 checks whether thefirst data card 130 is connected to a network (e.g.,network 170 including the internet). If thefirst data card 130 is not connected to thenetwork 170,method 500 continues monitoring (e.g., periodically) for a connection to thenetwork 170. On the other hand, if thefirst data card 130 is connected to thenetwork 170,method 500 proceeds to step 508. - At
step 508, thefirst data card 130 synchronizes data stored locally in the first local data file 132 with the first offline data file 114 stored at thefirst data server 110. - As described above, a
SIM 208 may be included in thefirst data card 130 that may be configured to connect thefirst data card 130 to a cellular data network (e.g., a portion of network 170) when thefirst data card 130 is within network coverage. TheSIM 208 allows thefirst data card 130 to connect to acellular base station 210 to provide network access to thefirst 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 thefirst 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 thesecond data server 120. - At
step 510, thefirst data card 130 detects a pairing gesture performed between thefirst data card 130 and thesecond data card 150. - As described above
sensors 202 included in each of thefirst data card 130 and thesecond data card 150 may be configured to detect relative movement of thedata cards sensors 202 of thefirst data card 130 can detect thesecond data card 150 moving in close proximity (e.g., within a pre-selected distance) to thefirst data card 130 in a particular direction. As shown inFIG. 2 ,sensors 202 may include three left sensors L1, L2 and L3 provided near a left edge of the data card 200 (e.g., representingfirst data card 130 and/or second data card 150), three right sensors R1, R2, and R3 provided near a right edge of thedata card 200, one top sensor T1 provided near the center of a top edge of thedata card 200, and one bottom sensor B1 provided near the center of a bottom edge of thedata card 200. Each of thesensors 202 may include any type of sensor that can detect movement of another data card within a pre-selected distance from thedata card 200. For example, one or more of thesensors 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 eachsensor 202 inmemory device 212. For example,first data card 130 may store sensor data collected fromsensors 202 asfirst sensor data 134. Similarly,second data card 150 may store sensor data collected fromsimilar sensors 202 assecond sensor data 154. -
Microprocessor 204 of thedata card 200 may be configured to detect pre-configured gestures related to a data interaction betweendata card 200 and another data card, based on the sensor data collected fromsensors 202. For example, when thesensors 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), themicroprocessor 204 may be configured to detect a pairing gesture. For example, when another card is moved from left to right direction overdata 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 themicroprocessor 204 as the other card moving from left to right relative to thecard 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”. Themicroprocessor 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 inFIG. 3A ,first data card 130 can be moved from left to right relative to thesecond 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 bothdata cards respective microprocessors 204 of thedata cards - At
step 512, thefirst data card 130 establishes a peer-to-peer connection with thesecond data card 150 in response to detecting a pairing gesture performed between thefirst data card 130 and the second data cared 150. The peer-to-peer connection between thedata cards data card data cards - At
step 514, thefirst data card 130 detects a data interaction gesture performed between thefirst data card 130 and thesecond data card 150. As described above, when thesensors 202 of the data card 200 (e.g., representingfirst 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), themicroprocessor 204 may be configured to detect a transfer gesture. For example, when another card is moved from top to bottom direction overcard 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 themicroprocessor 204 as the other card moving from top to bottom relative to thecard 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”. Themicroprocessor 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 inFIG. 3B ,first data card 130 can be moved from top to bottom relative to thesecond 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 bothdata cards respective microprocessors 204 of thedata cards - At
step 516, thefirst data card 130 exchanges data with the second data cared 150 after detecting the data interaction gesture (e.g., data transfer gesture) between thefirst data card 130 andsecond data card 150. The data exchange may include transmitting data to thesecond data card 150 or receiving data from thesecond data card 150. - As described above, in response to detecting the transfer gesture, the
first data card 130 and thesecond data card 150 may exchange data over an already established peer-to-peer connection between thedata cards first data card 130 and thesecond data card 150 may include data exchange between the first local data file 132 stored inmemory 212 of thefirst data card 130 and the second local data file 152 stored inmemory 212 of thesecond data card 150. For example, the data exchange between thefirst data card 130 and thesecond data card 150 may include thefirst 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 thesecond data card 150. In an additional or alternative embodiment, the data exchange between thefirst data card 130 and thesecond data card 150 may include thefirst data card 130 receiving at least a portion of the data stored in the second local data file 152 at thesecond data card 150. The received data may be stored in the first local data file 132. - As described above with reference to
FIG. 2 , themicroprocessor 204 of thedata 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 thedata card 200 and the other data card. Thus, in order to initiate a data exchange between thefirst data card 130 and thesecond data card 150, a pairing gesture may first need to be performed between the twodata cards data cards - 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 thesecond data card 150, the first user first performs a pairing gesture by moving thefirst data card 130 left to right relative to thesecond data card 150 within a pre-selected distance from thesecond data card 150. The relative movement of thedata cards sensors 202 on bothdata cards data cards microprocessors 204 of thedata cards data cards 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 thefirst data card 130 and thesecond data card 150. Similarly, thesecond 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 thedata cards first data card 130 top to bottom relative to thesecond data card 150 within the pre-selected distance from thesecond data card 150. This relative movement of thedata cards sensors 202 on bothdata cards data cards microprocessor 204 of thefirst data card 130 may initiate transfer of the data from the first local data file 132 to thesecond data card 150 over the already established peer-to-peer connection. Thesecond data card 150 may prepare to receive the data from thefirst 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 thesecond data card 150. Similarly, thesecond 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 thefirst data card 130 has been successfully completed. Thesecond data card 150 may store the received data in thememory 212 of thesecond 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 thefirst data card 130. - At
step 518, thefirst data card 130 checks whether thefirst data card 130 is connected to the network (e.g.,network 170 including the internet). If thefirst data card 130 is not connected to thenetwork 170,method 500 continues monitoring (e.g., periodically) for a connection to thenetwork 170. On the other hand, if thefirst data card 130 is connected to thenetwork 170,method 500 proceeds to step 520. - At
step 520, thefirst data card 130 synchronizes data stored locally in the first local data file 132 with the first offline data file 114 stored at thefirst data server 110. Since the data synchronization is after the data exchange between thefirst data card 130 andsecond 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 thesecond 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 inFIG. 1 , in accordance with one or more embodiments of the present disclosure.Data server 620 may be representative of thefirst data server 110 and/or thesecond data server 120 as shown inFIG. 1 . -
Data server 620 includes aprocessor 602, amemory 606, and anetwork interface 604. Thedata server 620 may be configured as shown inFIG. 6 or in any other suitable configuration. - The
processor 602 comprises one or more processors operably coupled to thememory 606. Theprocessor 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). Theprocessor 602 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. Theprocessor 602 is communicatively coupled to and in signal communication with thememory 606. The one or more processors are configured to process data and may be implemented in hardware or software. For example, theprocessor 602 may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture. Theprocessor 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, thedata server 620 is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. Thedata server 620 is configured to operate as described with reference toFIGS. 1-5 . For example, thedata server 620 may be configured to perform at least a portion of themethod 500 as described inFIG. 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. Thememory 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 adata file 608, anoffline data file 610 anddata 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. Thedata server instructions 612 may include any suitable set of instructions, logic, rules, or code operable to execute thedata server 620. - The
network interface 604 is configured to enable wired and/or wireless communications. Thenetwork interface 604 is configured to communicate data between thedata server 620 and other devices, systems, or domains (e.g. other data servers, data cards etc.). For example, thenetwork interface 604 may comprise a Wi-Fi interface, a LAN interface, a WAN interface, a modem, a switch, or a router. Theprocessor 602 is configured to send and receive data using thenetwork interface 604. Thenetwork 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 thesecond data card 150 may be implemented similar to thedata server 620. For example, the each of thefirst data card 130 and thesecond 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 thefirst data card 130 may be configured to store the first local data file 132, thefirst sensor data 134, the first geo-location data 136 and thefirst interaction data 138. Similarly, the memory of thesecond data card 150 may be configured to store the second local data file 152, thesecond 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.
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)
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)
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)
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 |
-
2021
- 2021-07-26 US US17/385,775 patent/US11556264B1/en active Active
-
2022
- 2022-11-01 US US18/051,823 patent/US11914880B2/en active Active
Patent Citations (6)
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 |