Caching of data payloads in peripheral devices for supplying data to target devices.

Peripheral devices cache and deliver data payloads to target devices using short-range wireless protocols, addressing the challenge of inaccessible source devices and enhancing mobile computing usability.

JP2026513730APending Publication Date: 2026-05-01INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2024-03-22
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing mobile computing technologies face challenges in efficiently transferring data payloads to target devices when the source device is not readily accessible, such as when it is stored away in luggage or pockets, hindering the use of digital boarding passes or house keys.

Method used

A peripheral device caches data payloads from a source device using short-range wireless protocols, storing them temporarily in its memory and transmitting them to the target device when in network proximity, enabling seamless data transfer without the need for the source device to be accessible.

Benefits of technology

Enables convenient and reliable delivery of data payloads to target devices, enhancing the usability of mobile computing by allowing peripheral devices to act as agents of the source device, ensuring data accessibility even when the source device is not immediately available.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026513730000001_ABST
    Figure 2026513730000001_ABST
Patent Text Reader

Abstract

A technique for caching a data payload on a peripheral device for supply to a target device is described. The technique includes the steps of: receiving a data payload intended for the target device on the peripheral device via a short-range wireless protocol, wherein the data payload is received from a source device configured to transmit the data payload to the target device. The technique further includes the steps of: storing the data payload in the memory of the peripheral device for a period of time during which the peripheral device is positioned in network proximity to the target device, enabling the data payload to be transferred from the peripheral device to the target device. The technique further includes the steps of: detecting the target device via a short-range wireless network; and transmitting the data payload to the target device via a short-range wireless protocol used by the target device. (Figure 3)
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0003]

[0001] The present disclosure relates to mobile computing, and more particularly to caching data on a device. <000006> Mobile computing involves human-computer interaction, where a computing device can be transported during normal use to enable wireless transmission of data. Mobile computing involves mobile communication, mobile hardware, mobile software, and applications. Mobile communication is enabled by ad hoc networks and infrastructure networks, as well as communication characteristics, protocols, and data formats. Mobile hardware includes mobile devices (e.g., mobile phones, portable computers, wearable devices, etc.) and components of the devices to enable mobile communication (e.g., wireless network hardware). Mobile software and applications process the characteristics and requirements of mobile computing and communication.

Summary of the Invention

[0003] Aspects of the present disclosure are directed to a computer-implemented method that includes receiving, at a peripheral device via a short-range wireless protocol, a data payload targeted at a target device, where the data payload is received from a source device configured to transmit the data payload to the target device. The computer-implemented method further includes storing the data payload in a memory of the peripheral device for a time during which the peripheral device is positioned in network proximity to the target device to enable transfer of the data payload from the peripheral device to the target device. The computer-implemented method further includes detecting the target device via a short-range wireless network and transmitting the data payload to the target device via a short-range wireless protocol used by the target device.

[0004] Additional aspects of this disclosure relate to systems and computer program products configured to perform the methods described above. This summary is not intended to represent any aspect, implementation, and / or embodiment of this disclosure. [Brief explanation of the drawing]

[0005] The drawings included herein are incorporated herein and form part thereof. They illustrate embodiments of the disclosure and, together with this description, serve to illustrate the principles of the disclosure. The drawings are illustrative of specific embodiments and do not limit the disclosure.

[0006] [Figure 1] This block diagram shows an exemplary system environment in which data caching can be implemented on peripheral devices according to some embodiments of the present disclosure.

[0007] [Figure 2] According to some embodiments of this disclosure, exemplary use cases are shown in which a data payload is cached in a peripheral device for supply to a target device.

[0008] [Figure 3] This flowchart illustrates an exemplary method for caching a data payload in a peripheral device for supply to a target device, according to some embodiments of the present disclosure.

[0009] [Figure 4] A block diagram shows an exemplary computing environment in which aspects of the present disclosure may be implemented according to some embodiments of the present disclosure.

[0010] This disclosure is modifiable in various forms and modifications, while the drawings illustrate specific aspects of this disclosure, which are described in detail below. However, it should be understood that this disclosure is not intended to limit itself to any particular embodiment described. On the contrary, it is intended to encompass all modifications, equivalents, and substitutions that fall within the spirit and scope of this disclosure. [Modes for carrying out the invention]

[0011] Aspects of this disclosure relate to a peripheral device that caches a data payload intended for a target device, thereby enabling the peripheral device to be used to supply the data payload to the target device when positioned within network proximity to the target device, thereby allowing the transfer of the data payload over a short-range wireless protocol. While not limited to such uses, embodiments of this disclosure may be better understood in light of the above context.

[0012] The rise of mobile computing has brought about wireless communication technologies that enable mobile devices to exchange data with other devices, such as end-user devices, reader devices, and other mobile devices. Short-range wireless protocols, including, for example, near-field communication (NFC), radio frequency identification (RFID), ZigBee®, Bluetooth®, Wi-Fi®, Wi-Fi Direct®, and similar technologies, enable a source device (e.g., a mobile device) to exchange data payloads with target devices, such as end-user devices, reader devices, or other mobile devices. For example, a user may load an electronic boarding pass onto their mobile device, and when boarding an airplane, train, bus, etc., the user may present the electronic boarding pass by placing their mobile device near a reader device, which initiates the transfer of the electronic boarding pass to the reader device using a short-range wireless protocol.

[0013] However, in some cases, using a source device to transmit a data payload (e.g., a boarding pass, digital key, or other data) to a target device can be cumbersome. As an example, when traveling, a user may load an electronic boarding pass onto their mobile device and then, to free up their hands, store the mobile device away from them (e.g., in a backpack, carry-on bag, or even checked baggage). If they are then asked to present the boarding pass, the user's mobile device may be physically inaccessible or not easily accessible (e.g., stored in a backpack, carry-on bag, or checked baggage), which prevents or hinders the user from retrieving the mobile device and presenting the electronic boarding pass to a boarding pass reader. As another example, a user may store a digital house key on their mobile device. If they arrive home with only a few items and their mobile device is stored away from them in their pocket, bag, or left in their vehicle, it may be impossible for them to immediately retrieve the mobile device and use the digital house key to unlock the door.

[0014] Advantageously, aspects of the Disclosure overcome these and other challenges by caching a data payload targeted to a target device in a peripheral device, which can then be used to supply the data payload to the target device. More specifically, aspects of the Disclosure enable a peripheral device to receive a data payload targeted to a target device from a source device via a short-range wireless protocol. The data payload may be any type of data targeted to a target device, such as an electronic ticket, security credentials, or a digital key. In a non-limiting example, a user may load an electronic boarding pass onto their mobile device (source device), and before storing those mobile devices (e.g., mobile devices) separately in their luggage, the user may place a peripheral device (e.g., wireless headphones, a smartwatch, or similar) within network proximity of the mobile device, thereby initiating the transfer of the electronic boarding pass from the user's mobile device to the user's peripheral device using a short-range wireless protocol (e.g., NFC, RFID, ZigBee®, Bluetooth®, Wi-Fi®, Wi-Fi Direct®, etc.).

[0015] In response to the peripheral device receiving a data payload, an aspect of the Disclosure may allow the peripheral device to store the data payload in its memory for a period of time that enables the data payload to be transferred from the peripheral device to the target device. Continuing the non-limiting example above, after receiving an electronic boarding pass from a user's mobile device, the peripheral device caches the electronic boarding pass in its memory. The electronic boarding pass may be cached in the peripheral device for a sufficient amount of time (e.g., 10, 20, 30, or 45 minutes) for the user to proceed to the checkpoint and present the boarding pass.

[0016] After storing a data payload in a peripheral device, the peripheral device may be used to deliver the data payload to a target device. More specifically, the peripheral device may be positioned in network proximity to the target device, and in response, aspects of the present disclosure may transmit the data payload from the peripheral device to the target device using the same or different short-range wireless protocols. Continuing the non-limiting example above, when proceeding to a checkpoint, a user may position a peripheral device near a boarding pass reader device (target device) configured to read and validate an electronic boarding pass. By positioning the peripheral device next to the reader device, a wireless transfer of the electronic boarding pass from the peripheral device to the reader device can be initiated using a short-range wireless protocol (e.g., NFC, RFID, ZigBee®, Bluetooth®, Wi-Fi®, Wi-Fi Direct®, etc.).

[0017] Therefore, as described above, aspects of the disclosure provide improvements in the domain of device-to-device communication by configuring peripheral devices to deliver data payloads to intended target devices when the source device is not readily accessible. In other words, aspects of the disclosure address the network-centric challenge of transmitting data payloads to target devices when the source device is not accessible. These aspects, which enable peripheral devices to receive data payloads from source devices, to cache data payloads in the peripheral device's memory for a limited time, and to deliver data payloads to target devices when the peripheral device is network-proximity to the target device, are meaningful limitations rooted in computer technology. Furthermore, enabling peripheral devices to deliver data payloads to intended target devices enhances the ability of peripheral devices to do something they could not do before.

[0018] Referring here to the figure, Figure 1 shows a block diagram of an exemplary system environment 100 in which data caching may be implemented on peripheral devices according to some embodiments of the present disclosure. As shown, the system environment 100 may include a source device 102, a peripheral device 104, and a target device 106, which are configured to communicate over one or more short-range wireless networks 120A and 120B (collectively referred to as 120).

[0019] The source device 102 comprises a processor-based system, such as a computing device, capable of exchanging data with other devices. In some embodiments, the source device 102 may be a mobile device (e.g., a mobile phone, mobile computer, tablet device, handheld game console, portable media player, and similar) capable of transmitting and receiving data payloads over a short-range wireless network 120. The source device 102 includes one or more network modules 122A that implement a short-range wireless protocol for communication over the short-range wireless network 120. A short-range wireless network is a computer network that communicates over short distances, typically within a few millimeters to a few meters. Common types of short-range wireless protocols include NFC, RFID, Bluetooth®, ZigBee®, Wi-Fi®, Wi-Fi Direct®, and similar network communication protocols. In some embodiments, the source device 102 may include a network module 122A capable of transmitting and receiving data payloads via other types of networks (e.g., local area network (LAN), wide area network (WAN), etc.) or direct device-to-device wired connections (e.g., a plug-and-play interface that allows the source device 102 to be directly connected to and communicate with a peripheral device 104).

[0020] The source device 102, in particular, hosts a user application 108 that communicates with the target device 106 by sending a data payload to the target device 106. Exemplary, the user application 108 comprises a software application installed on the source device 102 and designed for use by a user to perform specific tasks involved in sending a data payload to the target device 106. Non-exclusive examples of user applications 108 include transportation applications (e.g., airline applications, train system applications, public bus applications, etc.), access control system applications (e.g., door access system applications, IoT smart lock applications, etc.), security system applications (e.g., authentication applications for accessing computer systems), and other types of user applications designed to provide a data payload to the target device 106. The user application 108 interfaces with the network module 122A to send and receive data payloads.

[0021] In some embodiments, the user application 108 may be configured to identify the peripheral device 104 as an agent of the source device 102 in order to supply a data payload to the target device 106. In other embodiments, the peripheral device 104 may mimic the target device 106, and as a result, when the peripheral device 104 connects to the source device 102, the user application 108 on the source device 102 identifies the peripheral device 104 as the target device 106. For example, when connecting to the source device 102, the data caching module 110 (described below) on the peripheral device 104 may be configured to identify itself (i.e., the peripheral device 104) as the target device 106, and as a result, the user application 108 on the source device 102 interacts with the data caching module 110 on the peripheral device 104 in the same way that it interacts with the target application 114 on the target device 106.

[0022] The data payload comprises any type of data that can be transmitted over a computer network, ranging from simple messages to complex files. Exemplary, the data payload may comprise: a boarding pass enabling boarding of a form of public transport, an electronic ticket for admission to an event or place, user credentials for accessing a restricted area of ​​a structure or a computer system or unlocking an IoT lock device, transaction data, and any other type of data that can be presented to the target device 106. In some embodiments, the data payload may comprise optical codes or machine-readable symbols that can be displayed and / or read by devices 102 / 104 / 106. The header and metadata may include the data payload to enable its delivery to the intended target device 106.

[0023] The target device 106 comprises a processor-based system, such as a computing device, capable of receiving a data payload originating from the source device 102. In some embodiments, the target device 106 may be a mobile device capable of wirelessly receiving a reading device (e.g., an NFC reader, RFID reader, chip card reader, etc.), an optical reading device (e.g., a quick response (QR) code scanner, barcode scanner, passport scanner, etc.), a data payload, and the like. The target device 106 includes a network module 122C that implements a short-range wireless protocol for communication over a short-range wireless network 120. In some embodiments, the short-range wireless protocol used by the target device 106 may be the same short-range wireless protocol used by the source device 102 (e.g., both utilize NFC to transmit and receive data payloads). In other embodiments, as described in more detail below, the target device 106 and the source device 102 may utilize different short-range wireless protocols (for example, the source device 102 may use a first short-range wireless protocol (e.g., Bluetooth®) to transmit and receive data payloads, and the target device 106 may use a second short-range wireless protocol (e.g., NFC) to transmit and receive data payloads).

[0024] The target device 106 can host, among other things, a target application 114 or software program that receives a data payload originating from a user application 108 in the source device 102 and executes specific tasks regarding the data payload. The target application 114 interfaces with a network module 122C to receive the data payload. Non-limiting examples of tasks executed by the target application 114 or software program include: constructing boarding passes / ticket validity checks, access validity checks (e.g., door access, IoT smart lock / unlock, etc.), security authentication (e.g., authentication to access a computer system), and other types of tasks regarding the data payload originating from the source device 102. Alternatively, in some embodiments, the target application 114 can be hosted in a cloud environment. In such embodiments, the target device 106 operates as a client by receiving a data payload from the peripheral device 104 (as described in detail below), and then transmits the data payload to the target application 114 located in the cloud environment via a wide area network (WAN).

[0025] The peripheral device 104 comprises a processor-based system, such as a computing device, capable of hosting the data caching module 110. Non-limiting examples of the peripheral device 104 include: wireless headphones, smartwatches, smart rings, smart clothing, smart glasses, augmented reality (AR) and / or mixed reality glasses, fitness trackers, and any other devices capable of hosting the data caching module 110. In some embodiments, the peripheral device 104 may be manufactured to include a data caching module 110 that enables the peripheral device 104 to receive a data payload from a source device 102 and supply the data payload to a target device 106. In other embodiments, the data caching module 110 (e.g., a data caching application or program) may be loaded / installed on the peripheral device 104 by a user to enable the peripheral device 104 to receive a data payload from a source device 102 and supply the data payload to a target device 106.

[0026] The peripheral device 104 includes one or more network modules 122B to implement a short-range wireless protocol for communication over the short-range wireless network 120. As described above, in some embodiments, the peripheral device 104 may receive a data payload from the source device 102 using a first short-range wireless protocol (e.g., Bluetooth®) and then transmit the data payload to the target device 106 using a second short-range wireless protocol (e.g., NFC). In such embodiments, the peripheral device 104 may include a first network module 122B implementing the first short-range wireless protocol and a second network module 122B implementing the second short-range wireless protocol. In some embodiments, the peripheral device 104 may be an Internet-connected device (e.g., an Internet of Things (IoT) device), and the source device 102 may transmit a data payload to the peripheral device 104 over the Internet.

[0027] The data caching module 110 enables the peripheral device 104 to operate as an agent of the source device 102 for supplying a data payload to the target device 106. That is, in addition to the primary function of the peripheral device 104 (e.g., audio speaker, time display, fitness tracking, etc.), the data caching module 110 enables the peripheral device 104 to provide a secondary function of supplying the data payload received from the source device 102 to the target device 106. In particular, the data caching module 110 receives a data payload targeted at the target device 106 from the source device 102 via the short-range wireless network 120A, and the data caching module 110 stores the data payload in the memory 112 of the peripheral device 104. Thereafter, when the peripheral device 104 is placed in the network proximity of the target device, the data caching module 110 transmits the data payload to the target device 106 via the short-range wireless network 120B. The network proximity referred to herein is the distance between the devices 102 / 104 / 106 that enables communication via a wireless communication channel for transferring a data payload between the devices 102 / 104 / 106.

[0028] In some embodiments, the data caching mode of the peripheral device 104 is activated to enable the peripheral device 104 to act as an agent of the source device 102 for supplying a data payload to the target device 106. Activating the data caching mode in the peripheral device 104 loads the data caching module 110 into the peripheral device's computing hardware for execution. Exemplary examples of activating the data caching mode may include: activating dedicated hardware control of the peripheral device (e.g., pressing a button), overriding hardware control (e.g., disabling the primary function of a button by pressing a volume button multiple times or for a certain period of time), activating an input element of the graphical user interface of the peripheral device 104 (e.g., a software button in a smartwatch interface), detecting a user's voice command via the microphone of the peripheral device 104 (e.g., a user saying the phrase "turn on data caching mode"), receiving a signal from the source device 102 (e.g., via a short-range wireless network 120A), and similar actions. Activating data caching mode on peripheral device 104 causes the data caching module 110 to search for and / or connect to a nearby source device 102, and to begin transferring the data payload from source device 102 to peripheral device 104. In some examples, peripheral device 104 may already be connected to source device 104 (for example, source device 104 may be a paired device, as described below).

[0029] In another embodiment, the data caching mode in peripheral device 104 is in a passive, always-on state, and as a result, the data caching module 110 is loaded into memory 112 and runs on peripheral device 104 as a background service. When peripheral device 104 is located in network proximity to source device 102, the data caching module 110 detects source device 102 (via short-range wireless network 120A) and begins transferring the data payload from source device 102 to peripheral device 104.

[0030] As described above, the data caching module 110 searches for a nearby source device 102 to which the peripheral device 104 can connect. In some embodiments, the data caching module 110 may search for a paired source device 102 to which the peripheral device 104 has been registered (e.g., paired). For example, the source device 102 and the peripheral device 104 may be paired devices, and as a result, the source device 102 and the peripheral device 104 have completed a pairing process (e.g., a Bluetooth® pairing process) to register devices 102 / 104 with each other. Once registered, devices 102 / 104 are trusted and can exchange data without having to complete the pairing process again. In the case of paired devices 102 / 104, activating the data caching mode on the peripheral device 104 causes the data caching module 110 to establish a network connection with the source device 102 (if not already connected) and to begin transferring the data payload from the source device 102 to the peripheral device 104. In situations where the source device 102 and / or peripheral device 104 are not trusted devices, aspects of the disclosure may perform authentication and authorization to enable devices 102 / 104 to connect with each other and exchange data payloads. Any authentication and authorization technique, including biometric authentication, voice authentication, personal identification number (PIN) authentication, token authentication, two-factor authentication (2FA), media access control (MAC) authentication, and other authentication methods, may be used to verify the identity of devices 102 / 104 and / or the user.

[0031] Upon detecting the short-range wireless network 120A associated with the source device 104, the data caching module 110 establishes a communication channel with the source device 104 (which may include performing authentication and authorization as necessary). The communication channel enables the data caching module 110 to communicate with the user application 108 hosted on the source device 102. The user application 108 on the source device 102 then transmits a data payload to the peripheral device 104 via the communication channel. The transmission of the data payload from the source device 102 to the peripheral device 104 involves data transfer via the communication channel, which can be implemented using short-range wireless protocols (e.g., NFC, RFID, ZigBee®, Bluetooth®, Wi-Fi®, Wi-Fi Direct®, and similar). Figure 1 shows that the short-range wireless network 120A is provided to enable communication between the source device 102 and the peripheral device 104. The short-range wireless network 120B may be implemented using any suitable short-range wireless protocol, or a combination thereof, and the components used for the short-range wireless network 120A depend at least in part on the type of wireless network and / or environment selected.

[0032] Upon receiving a data payload from the source device 102, the data caching module 110 stores the data payload in the peripheral device 104's memory 112 for a period of time that allows the data payload to be transferred from the peripheral device 104 to the target device 106. The amount of time the data payload is stored in memory 112 may depend on the context of the data payload. For example, if the data payload contains protected data (e.g., passport, username and password), short-lived data (e.g., two-step verification code), or another type of data that should not be cached in memory for an extended period of time, the data caching module 110 may remove the data payload from memory 112 after a short timeout period (e.g., 1 to 5 minutes). However, if the data payload contains non-sensitive data, or if the user requires additional time to proceed to the target device 106, then the amount of time the data payload is cached in the peripheral device 104 may be longer (e.g., 10 minutes, 30 minutes, 1 hour, etc.). In some embodiments, the data caching module 110 may estimate a timeout period for a data payload based on the context of the data payload (for example, setting an increased timeout period if the data payload is an airline boarding pass to allow a user to proceed from airport security to an airport gate, and setting a shorter timeout period if the data payload is a security key to unlock a door). Accordingly, in some embodiments, when caching the data payload in memory 112, the data caching module 110 sets a timeout period for the data payload. If the data payload is not transferred to the target device 106 before the timeout period expires, the data caching module 110 removes the data payload from memory 112 of the peripheral device 104.

[0033] In some embodiments, before removing the data payload from memory 112, the data caching module 110 may query the user whether they wish to extend the timeout period, thereby providing the user with additional time to proceed to the target device 106. For example, if a user is traveling through a congested airport terminal and the timeout period is about to expire, the data caching module 110 may query the user (e.g., via a speaker on peripheral device 104, a graphical user interface, a haptic interface, etc.) whether they wish to extend the timeout period to allow the user to reach the target device 106 located at the airport gate. The time extension to the timeout period may be a fixed amount of time applied by the data caching module 110 (e.g., 2 minutes, 5 minutes, etc.), or the user may indicate an additional amount of time to apply to the timeout period (e.g., by entering a customized amount of time, or by selecting one of several time extensions provided by the data caching module 110).

[0034] As a non-limiting example illustrating the above concept, Figure 2, continuing reference to Figure 1, shows that before boarding a form of public transport requiring a boarding pass (e.g., airplane, train, boat, etc.), user 202 may cache a data payload containing an electronic boarding pass in a peripheral headphone device 206. To cache the electronic boarding pass in the headphone device 206, user 202 activates the data caching mode of the headphone device 206 (as previously described) and positions the headphone device 206 within network proximity of the source mobile device 204. When within network proximity of the mobile device 204, the data caching module 110 in the headphone device 206 detects the mobile device 204 via a short-range wireless network 120A (e.g., Bluetooth® or NFC network) associated with the mobile device 204 and connects to the source mobile device 204. In response, the user application 108 on the mobile device 204 initiates the transfer of the electronic boarding pass to the headphone device 206, and the data caching module 110 on the headphone device 206 caches the electronic boarding pass in the memory 112 of the headphone device 206. The user 202 can then move the mobile device 204 away (for example, in the user's bag 208) and place the peripheral headphone device 206 in an easily accessible location (for example, in the user's ear). The user 202 can then proceed to the location of the boarding pass reader device 210. Using the electronic boarding pass cached on the headphone device 206, the electronic boarding pass is easily accessible to the user 202 via the headphone device 206. As should be understood, the above example shown in Figure 2 merely illustrates one implementation of an aspect of the present disclosure and is not limited to any particular way.

[0035] Returning to Figure 1, the data caching module 110 caches the data payload in the memory 112 of the peripheral device 104, and then, upon detecting the target device 106, transfers the data payload cached in the memory 112 of the peripheral device 104 to the target device 106. In some embodiments, the peripheral device 104 searches for the target device 106 by scanning for the short-range wireless network 120B associated with the target device 106. Upon detecting the short-range wireless network 120B associated with the target device 106, the data caching module 110 establishes a communication channel with the target device 106 and transmits the data payload cached in the memory 112 to the target device 106, thereby enabling the data payload to be provided to the target application 114 hosted on the target device 106 or in a cloud environment. The transmission of a data payload from the peripheral device 104 to the target device 106 involves data transfer over a communication channel, which is implemented using a short-range wireless protocol (e.g., NFC, RFID, ZigBee®, Bluetooth®, Wi-Fi®, Wi-Fi Direct®, and similar). As shown, the short-range wireless network 120B is provided to enable communication between the peripheral device 104 and the target device 106. The short-range wireless network 120B may be implemented using any useful short-range wireless protocol, or a combination thereof, and the components utilized for the short-range wireless network 120B depend at least in part on the type of wireless network and / or environment selected. In some embodiments, the data caching module 110 detects the short-range wireless network 120B being utilized by the target device 106 when the peripheral device 104 is in network proximity to the short-range wireless network 120B.Upon detecting the short-range wireless network 120B, the data caching module 110 establishes a communication channel with the target device 106, and at that time, the data caching module 110 begins to transmit the data payload cached in the memory 112 to the target device 106 via the communication channel.

[0036] Referring again to the non-limiting example shown in Figure 2, and continuing to refer to Figure 1, when user 202 reaches the target boarding pass reader device 210, user 202 may acquire the headphone device 206 (e.g., from the user's ears) and place the headphone device 206 near the boarding pass reader device 210. The data caching module 110 in the headphone device 206 detects the short-range wireless network (e.g., NFC) associated with the boarding pass reader device 210 and establishes a communication channel with the boarding pass reader device 210. The data caching module 110 then initiates the transfer of the electronic boarding pass, cached in the memory 112 of the headphone device 206, to the boarding pass reader device 210, which provides the electronic boarding pass to a passenger application configured to verify the electronic boarding pass. As previously stated, the above example shown in Figure 2 is merely an example illustrating one implementation of an aspect of the present disclosure and is not limited to any particular way.

[0037] Returning to Figure 1, in some embodiments, as part of exchanging the data payload with the target device 106, the data caching module 110 in the peripheral device 104 may receive an acknowledgment message from the target device 106 indicating that the data payload has been successfully transferred to the target device 106. In response, the data caching module 110 may store the acknowledgment message (for example, in the memory 112 of the peripheral device 104), so that when the peripheral device 104 next connects to the source device 102, the data caching module 110 can provide the acknowledgment message to the user application 108 hosted on the source device 102, thereby providing the user application 108 with evidence that the data payload was successfully delivered to the target device 106. Similarly, in cases where the data payload was not successfully delivered to the target device 106 (for example, the timeout period expired and the data payload was removed from the peripheral device 104's memory 112), the data caching module 110 may provide a negative response message to the user application 108 hosted on the source device 102 indicating that the data payload was not delivered to the target device 106. Accordingly, the user application 108 may maintain a record of the transfer status of each data payload from the source device 102 to the target device 106.

[0038] In the previously described example where the data caching mode of peripheral device 104 is activated, enabling peripheral device 104 to act as an agent of source device 102 for supplying a data payload to target device 106, after supplying the data payload to target device 106 and optionally providing an acknowledgment or denial response message, the data caching mode may be deactivated using the operation or method used to activate the data caching mode (e.g., activating the volume button of peripheral device 104 a certain number of times or for a certain period of time). Also, in the example where the data caching mode of peripheral device 104 is activated, enabling peripheral device 104 to act as an agent of source device 102, in some embodiments, if peripheral device 104 is unable to supply the data payload to target device 106 within the timeout period (as previously described), the data caching mode of peripheral device 104 may be automatically deactivated after the timeout period expires.

[0039] In some embodiments, all or part of the system environment 100 in Figure 1 may be implemented by the components shown in the computing environment 400 in Figure 4. The data caching module 110 may be implemented in software, hardware, firmware, or a combination thereof. If software is used, the operations performed by the data caching module 110 may be implemented in program instructions configured to be executed on hardware such as one or more processors. If firmware is used, the operations performed by the data caching module 110 may be implemented in program instructions and data, which are stored in persistent memory for execution on a processor. If hardware is employed, the hardware may include circuitry that operates to perform the operations of the data caching module 110. The data caching module 110 in peripheral device 104 may also be configured to perform at least one of the steps, operations, or actions described in different exemplary examples using software, hardware, firmware, or a combination thereof, so that the peripheral device 104 acts as a special device that enables the data caching module 110 to caching and supply data payloads to the target device 106. In particular, the data caching module 110 transforms the peripheral device 104 into a special-purpose device compared to a typical computer device currently available that does not have the data caching module 110.

[0040] Figure 1 shows an example of a system environment in which the above-described technology can be implemented, but many other similar or different environments are possible. That is, the shown system environment 100 does not imply any physical or structural limitations on how the exemplary embodiment can be implemented. Other components may be used in addition to or instead of those shown. Some components may be unnecessary. Also, the blocks are presented to show several functional components. One or more of these blocks may be combined with, divided into, or combined and divided into different blocks when implemented in the exemplary embodiment. Accordingly, the exemplary environment described and shown above is merely representative and is not intended to be limiting.

[0041] Figure 3 is a flowchart illustrating exemplary method 300 for caching a data payload on a peripheral device for supply to a target device, according to some embodiments of the present disclosure. As previously described, in the area of ​​device-to-device communication, using a source device (e.g., a mobile device) to transmit a data payload to a target device (e.g., a boarding pass reader or an electronic ticket reader) can be cumbersome if the source device is not readily accessible. Method 300 provides an improvement to the ability of a peripheral device to address these and other problems associated with using a source device to transmit a data payload to a target device.

[0042] Starting with operation 302, method 300 activates a data caching mode in a peripheral device. Activating the data caching mode enables the peripheral device to act as an agent of the source device for supplying a data payload to a target device, as described by the operations described below. Exemplary, activating the data caching mode in the peripheral device may involve selected operations from the group consisting of: detecting an audio instruction by the peripheral device's microphone; activating hardware controls of the peripheral device; activating input elements of the peripheral device's graphical user interface; and receiving an activation signal transmitted by the source device (e.g., an instruction transmitted via a short-range radio protocol instructing the peripheral device to activate the data caching mode). In some embodiments, the data caching mode in the peripheral device may be a passive, always-on state, and as a result, if the peripheral device is located in network proximity to the source device, the peripheral device detects the source device and initiates the transfer of a data payload from the source device to the peripheral device.

[0043] In operation 304, the peripheral device receives a data payload intended for the target device from the source device via a short-range wireless network. In some embodiments, the source device may not be aware that it is communicating with a peripheral device rather than the target device. That is, when connecting to a peripheral device and transmitting a data payload to the peripheral device, the source device may identify the peripheral device as the target device. In other embodiments, the source device may be configured to identify the peripheral device as an agent of the source device in order to supply the data payload to the target device.

[0044] In some embodiments, receiving a data payload from the source device may include authenticating and authorizing the transfer of the data payload from the source device to the peripheral device. For example, authentication and authorization may be performed by one or both of the source device and / or peripheral device, enabling the exchange of data payloads. Any authentication and authorization technique may be used to verify the identity of the source device, peripheral device, and / or user.

[0045] In operation 306, the peripheral device stores the data payload in its memory for a period of time that allows the peripheral device to be positioned in network proximity to the target device and to transfer the data payload from the peripheral device to the target device. In some embodiments, storing the data payload in the peripheral device's memory initiates a timeout for transferring the data payload to the target device. If the data payload is not transferred to the target device before the timeout period expires, the data payload is removed from the peripheral device's memory. In some embodiments, the timeout period may be set based on the context of the data payload, and as a result, the timeout period for caching sensitive data in the peripheral device may be shorter than the timeout period for caching non-sensitive data in the peripheral device.

[0046] In operation 308, the peripheral device detects the target device via a short-range wireless network. For example, the peripheral device may scan the radio frequencies of a short-range wireless network associated with the target device. Upon detecting the short-range wireless network associated with the target device, the peripheral device may establish a communication channel with the target device, enabling it to transmit a data payload to the target device. Subsequently, in operation 310, the peripheral device transmits the data payload to the target device via a short-range wireless protocol used by the target device. In some embodiments, the peripheral device may transmit the data payload to the target device using a different short-range wireless protocol than the one used to receive the data payload from the source device. For example, a first transmission transmitting the data payload from the source device to the peripheral device may use a first short-range wireless protocol, and a second transmission transmitting the data payload from the peripheral device to the target device may use a second short-range wireless protocol.

[0047] In some embodiments, transmitting the data payload to the target device includes the peripheral device receiving a message from the target device indicating that the data payload has been successfully received by the target device. The peripheral device stores a message confirming the successful delivery of the data payload to the target device, and at some point thereafter transmits the message to the source device to indicate to the source device that the data payload has been successfully received by the target device.

[0048] The method 300 described above may be performed by a computing device (e.g., the embodiment of computer 401 in Figure 4) and / or may be implemented in fixed-function hardware, configurable logic, logical instructions, or any combination thereof. In some alternative implementations, the operations described in the blocks of Figure 3 may occur in an order other than that shown. For example, in some cases, depending on the functions involved, two consecutively shown blocks may be executed substantially simultaneously, and these blocks may, in some cases, be executed in reverse order. In addition, other blocks may be added to the blocks shown in the flowchart or block diagram.

[0049] Various aspects of this disclosure are described by explanatory text, flowcharts, block diagrams of computer systems, and / or block diagrams of machine logic included in embodiments of computer program products (CPPs). With respect to any flowchart, depending on the technology involved, operations may be performed in a different order than those shown in a given flowchart. For example, again depending on the technology involved, two operations shown in consecutive blocks of a flowchart may be performed in reverse order, as a single integrated step, simultaneously, or with at least partial time overlap.

[0050] Embodiments of a computer program product ("CPP Embodiment" or "CPP") are terms used in this disclosure to describe any set of one or more storage media (also referred to as "Multiple Media") that collectively comprise a set of one or more storage devices containing machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. A "Storage Device" is any tangible device capable of holding and storing instructions for use by a computer processor. Computer-readable storage media may, but are not limited to, electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, mechanical storage media, or any preferred combination thereof. Some known types of storage devices, including these media, include diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices (such as pits / lands formed on the main surface of a punch card or disk), or any suitable combination of the foregoing. When the term "computer-readable storage medium" is used in this disclosure, it shall not be construed as storage in the form of transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, optical pulses passing through optical fiber cables, electrical signals communicated through wires, and / or other transmission media.As those skilled in the art will understand, data is typically moved at several intermittent points during the normal operation of a storage device, such as during access, defragmentation, or garbage collection; however, data is not transient while it is stored, and therefore the above does not mean that the storage device is transient.

[0051] The computing environment 400 includes an example of an environment for executing at least some of the computer code involved in performing the disclosed method, such as block 450 which contains computer code for the data caching module described above. In addition to block 450, the computing environment 400 includes, for example, a computer 401, a network 402 (e.g., a wide area network (WAN), a short-range wireless network, etc.), an end-user device (EUD) 403, a remote server 404, a public cloud 405, and a private cloud 406. In this embodiment, the computer 401 includes a processor set 410 (including processing circuits 420 and a cache 421), a communication fabric 411, volatile memory 412, persistent storage 413 (including an operating system 422 and block 450 as identified above), a peripheral device set 414 (including a user interface (UI), a device set 423, storage 424, and an Internet of Things (IoT) sensor set 425), and a network module 415. The remote server 404 includes the remote database 430. The public cloud 405 includes the gateway 440, the cloud orchestration module 441, the host physical machine set 442, the virtual machine set 443, and the container set 444.

[0052] Computer 401 may take the form of a desktop computer, laptop computer, tablet computer, smartphone, smartwatch or other wearable computer, mainframe computer, quantum computer, or any other form of computer or mobile device currently known or to be developed in the future that is capable of running programs, accessing networks, or querying databases such as remote database 430. As is well understood in the field of computer technology, and depending on the technology, the execution of a computer implementation may be distributed among multiple computers and / or multiple locations. On the other hand, in this description of the computing environment 400, in order to make the explanation as concise as possible, the detailed discussion will focus on a single computer, specifically computer 401. Computer 401 may be located in the cloud, even if it is not shown in the cloud in Figure 4. On the other hand, computer 401 is not required to be located in the cloud, except to any extent that can be definitively shown.

[0053] The processor set 410 includes one or more computer processors of any type currently known or to be developed in the future. The processing circuitry 420 may be distributed across multiple packages, for example, multiple interconnected integrated circuit chips. The processing circuitry 420 may implement multiple processor threads and / or multiple processor cores. The cache 421 is memory located within the processor chip package and is typically used for data or code that should be available for high-speed access by threads or cores running on the processor set 410. The cache memory is typically organized into multiple levels depending on its relative proximity to the processing circuitry. Alternatively, some or all of the cache for the processor set may be located "off-chip". In some computing environments, the processor set 410 may operate using qubits and be designed to perform quantum computing.

[0054] Computer-readable program instructions are typically loaded into computer 401 and cause the processor set 410 of computer 401 to execute a series of operational steps, thereby enabling a computer implementation method, the instructions thus executed instantiating the method specified in the flowcharts and / or descriptions of the computer implementation method contained herein (collectively referred to as the “Disclosed Methods”). These computer-readable program instructions are stored in various types of computer-readable storage media, such as the cache 421 and other storage media discussed below. The computer-readable program instructions and associated data are accessed by the processor set 410 to control and direct the execution of the Disclosed Methods. In the computing environment 400, at least some of the instructions for executing the Disclosed Methods may be stored in block 450 in persistent storage 413.

[0055] The communication fabric 411 is a signal-conducting path that enables various components of the computer 401 to communicate with one another. Typically, this fabric is made up of switches and conductive paths, such as buses, bridges, physical input / output ports, and similar components. Other types of signal-conducting paths may be used, such as fiber optic communication paths and / or wireless communication paths.

[0056] Volatile memory 412 is any type of volatile memory currently known or to be developed in the future. Examples include dynamic random access memory (RAM) or static RAM. Volatile memory typically features random access, but this is not required unless explicitly stated. In computer 401, volatile memory 412 is located in a single package and resides inside computer 401, but alternatively or additionally, volatile memory may be distributed across multiple packages and / or located externally to computer 401.

[0057] Persistent storage 413 is any form of non-volatile storage for a computer, currently known or to be developed in the future. Non-volatility of this storage means that stored data is maintained regardless of whether power is supplied to the computer 401 and / or directly to the persistent storage 413. Persistent storage 413 may be read-only memory (ROM), but typically at least a portion of the persistent storage allows for writing, deleting, and rewriting of data. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. The operating system 422 can take several forms, such as various known proprietary operating systems or open-source portable operating system interface operating systems employing a kernel. The code contained in block 450 typically includes at least some computer code related to the execution of the disclosed method.

[0058] The peripheral device set 414 includes a set of peripheral devices for the computer 401. Data communication connections between the computer 401's peripheral devices and other components may be implemented in various ways, such as Bluetooth® connections, near-field communication (NFC) connections, connections formed by cables (such as Universal Serial Bus (USB) type cables), insert-type connections (e.g., Secure Digital (SD) cards), connections formed through local area communication networks, and even connections formed through wide area networks such as the Internet. In various embodiments, the UI device set 423 may include components such as a display screen, speaker, microphone, wearable devices (such as goggles and smartwatches), keyboard, mouse, printer, touchpad, game controller, and haptic devices. Storage 424 is external storage such as an external hard drive, or insertable storage such as an SD card. Storage 424 may be persistent and / or volatile. In some embodiments, storage 424 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments where computer 401 requires a large amount of storage (for example, when computer 401 locally stores and manages a large database), this storage may be provided by peripheral storage devices designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. The IoT sensor set 425 consists of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer and another may be a motion detector.

[0059] The network module 415 is a collection of computer software, hardware, and firmware that enables computer 401 to communicate with other computers via network 402. The network module 415 may include hardware such as a modem or Wi-Fi® signal transceiver, software for packetizing and / or depackaging data for transmission over a communication network, and / or web browser software for communicating data over the internet. In some embodiments, the network control and network forwarding functions of the network module 415 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing Software-Defined Networking (SDN)), the control and forwarding functions of the network module 415 are performed on physically separate devices, such that the control function manages several different network hardware devices. Computer-readable program instructions for performing the disclosed method can typically be downloaded to computer 401 from an external computer or external storage device via a network adapter card or network interface included in the network module 415.

[0060] Network 402 is any computer network capable of transmitting computer data over long distances by any currently known or future-developed technology for transmitting computer data, including short-range wireless networks, WANs (e.g., the Internet), and LANs. In some embodiments, the WAN may be replaced and / or complemented by a local area network (LAN), such as a Wi-Fi® network, designed to transmit data between devices located in a local area. The WAN and / or LAN typically include computer hardware such as copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and edge servers.

[0061] An end-user device (EUD) 403 is any computer system used and controlled by an end-user (e.g., a customer of the company operating computer 401) and can take any of the forms discussed above in relation to computer 401. EUD 403 typically receives useful and valuable data from the operation of computer 401. For example, in a hypothetical case where computer 401 is designed to provide recommendations to an end-user, these recommendations would typically be transmitted from computer 401's network module 415 to EUD 403 via WAN 402. Thus, EUD 403 can display or otherwise present recommendations to the end-user. In some embodiments, EUD 403 may be a client device such as a thin client, heavy client, mainframe computer, or desktop computer.

[0062] The remote server 404 is any computer system that provides at least some data and / or functionality to computer 401. The remote server 404 may be controlled and used by the same entity that operates computer 401. The remote server 404 represents a machine that collects and stores useful and beneficial data for use by other computers, such as computer 401. For example, in a hypothetical case where computer 401 is designed and programmed to provide recommendations based on historical data, this historical data may be provided to computer 401 from the remote database 430 of the remote server 404.

[0063] A public cloud 405 is any computer system available for use by multiple entities, providing on-demand availability of computer system resources and / or other computer functions, particularly data storage (cloud storage) and computing power, without direct active management by the user. Cloud computing typically leverages resource sharing to achieve coherence and economies of scale. Direct active management of the computing resources of the public cloud 405 is performed by the computer hardware and / or software of the cloud orchestration module 441. The computing resources provided by the public cloud 405 are typically implemented by virtual computing environments running on various computers that make up the host physical machine set 442, which is a universe of physical computers located within and / or available to the public cloud 405. The virtual computing environment (VCE) typically takes the form of virtual machines from the virtual machine set 443 and / or containers from the container set 444. These VCEs can be stored as images and transferred either as images or after the instantiation of the VCEs, among and between hosts on various physical machines. The cloud orchestration module 441 manages the transfer and storage of images, deploys new instantiations of VCEs, and manages active instantiations of VCE deployments. The gateway 440 is a collection of computer software, hardware, and firmware that enables the public cloud 405 to communicate over the WAN 402.

[0064] Here, some further explanation of virtualized computing environments (VCEs) is provided. A VCE can be stored as an "image." A new active instance of a VCE can be instantiated from an image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature in which the kernel allows for the existence of multiple isolated user-space instances called containers. These isolated user-space instances typically behave like actual computers in terms of the programs running within them. Computer programs running on a normal operating system can utilize all of that computer's resources, including connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and the devices allocated to the container; this feature is known as containerization.

[0065] Private Cloud 406 is similar to Public Cloud 405, except that its computing resources are available for use by a single enterprise only. While Private Cloud 406 is shown as being in communication with WAN 402, in other embodiments, a private cloud may be completely isolated from the internet and accessible only via a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), often implemented by different vendors. Each of the multiple clouds remains a separate discrete entity, but the larger hybrid cloud architecture is coupled by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the multiple configured clouds. In this embodiment, both Public Cloud 405 and Private Cloud 406 are part of a larger hybrid cloud.

[0066] The terms used herein are intended solely to describe specific embodiments and are not intended to limit the range of embodiments. Where used herein, unless otherwise explicitly stated in the context, the singular forms "a," "an," and "the" are intended to include the plural forms. The terms "comprises," "comprising," "includes," "including," "has," "having," "contains," or "containing," or any other variations thereof, are intended to encompass non-exclusive inclusion. For example, a process, method, article, or apparatus comprising a list of elements is not necessarily limited to those elements alone, and may include other elements not expressly listed or specific to such process, method, article, or apparatus. The term "user" refers to an entity (e.g., an individual), a computer, or an application running on a computer. Where used herein, the terms “includes” and / or “including” specify the presence of the described features, integers, steps, actions, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, actions, elements, components, and / or groups thereof.

[0067] In the previous detailed descriptions of exemplary embodiments of various embodiments, references are made to the accompanying drawings (similar numbers represent similar elements), which form part of the previous detailed descriptions and illustrate specific exemplary embodiments in which various embodiments can be carried out. These embodiments are described in sufficient detail to enable those skilled in the art to carry out the embodiments, but other embodiments may be used, and logical, mechanical, electrical, and other variations may be made without departing from the scope of the various embodiments. In the previous descriptions, numerous specific details are given to provide a complete understanding of the various embodiments. However, various embodiments may be carried out without these specific details. In other examples, well-known circuits, structures, and techniques are not shown in detail so as not to obscure the embodiments.

[0068] Where used herein, different instances of the word “embodiment” do not necessarily refer to the same embodiment, although those instances may refer to the same embodiment. Any data and data structures shown or described herein are merely examples, and different amounts of data, data types, fields, number and types of fields, field names, number and types of rows, records, entries, or data organization may be used in other embodiments. In addition, any data may be combined with logic, thereby eliminating the need for separate data structures. The prior detailed descriptions are therefore not to be construed as limiting.

[0069] While descriptions of various embodiments of this disclosure have been presented for illustrative purposes, they are not intended to be exhaustive or to limit oneself to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments described. The terminology used herein has been selected to best describe the principles of the embodiments, their practical applications, or technical improvements to the technology available on the market, or to enable other persons skilled in the art to understand the embodiments disclosed herein.

[0070] While this disclosure has described specific embodiments, variations and modifications thereof are expected to be obvious to those skilled in the art. Therefore, the following claims are intended to encompass all such variations and modifications that fall within the true spirit and scope of this disclosure.

[0071] Any benefits described herein are exemplary benefits, and embodiments of this disclosure may implement all, some, or none of any of the benefits described herein, while remaining within the spirit and scope of this disclosure.

Claims

1. The step involves a peripheral device receiving a data payload intended for a target device via a short-range wireless protocol, wherein the data payload is received from a source device configured to transmit the data payload to the target device; The step of storing the data payload in the memory of the peripheral device for a period of time during which the peripheral device is positioned in network proximity to the target device, enabling the transfer of the data payload from the peripheral device to the target device; The step of detecting the target device via a short-range wireless network; and The step of transmitting the data payload to the target device via a short-range wireless protocol used by the target device. A computer implementation method comprising the above.

2. Detecting the source device and establishing network communication with the source device, and receiving the data payload from the source device; and To detect the target device, establish network communication with the target device, and transmit the data payload to the target device. The computer implementation method according to the above claim, further comprising the step of activating a data caching mode in the peripheral device in order to enable the peripheral device to perform the above.

3. The steps for activating the data caching mode in the peripheral device are: The microphone of the aforementioned peripheral device detects voice instructions. Activating hardware control of the aforementioned peripheral device, Activating the input elements of the graphical user interface of the peripheral device, and Receiving the activation signal transmitted by the source device. The computer implementation method according to the above claim, further comprising an operation selected from a group consisting of the above.

4. The computer implementation method according to any of the preceding claims, wherein the step of receiving the data payload from the source device further includes authenticating and authorizing the transfer of the data payload from the source device to the peripheral device.

5. The computer implementation method according to any of the preceding claims, wherein the step of storing the data payload in the memory of the peripheral device further includes initiating a timeout for transferring the data payload to the target device.

6. The step of transmitting the data payload to the target device is: The step of the peripheral device receiving a message from the target device indicating that the data payload has been successfully received by the target device; and The peripheral device transmits the message to the source device indicating that the data payload was successfully received by the target device. A computer implementation method according to any of the preceding claims, further comprising:

7. A first transfer, comprising transmitting the data payload from the source device to the peripheral device, uses a first short-range wireless protocol. The second transfer, which includes transmitting the data payload from the peripheral device to the target device, uses a second short-range radio protocol. A computer implementation method according to any of the above claims.

8. At least one short-range wireless module; One or more computer-readable storage media for storing program instructions, and in response to the execution of the program instructions: A data payload is received via a short-range wireless protocol, where the data payload is received from a source device configured to transmit the data payload to the target device; The peripheral device is positioned at network proximity to the target device, and the data payload is stored in the peripheral device's memory for a period of time that allows the data payload to be transferred from the peripheral device to the target device; Detect the target device via a short-range wireless network; and The data payload is transmitted to the target device via the short-range wireless protocol used by the target device. One or more processors configured in this manner A peripheral device equipped with these features.

9. The aforementioned program instruction disclosure: The system detects the source device, establishes network communication with the source device, and receives the data payload from the source device; and The system detects the target device, establishes network communication with the target device, and transmits the data payload to the target device. The peripheral device according to the above claim, configured to cause one or more processors to activate a data caching mode in the peripheral device in order to enable the peripheral device to perform the above.

10. The program instruction configured to cause one or more processors to activate the data caching mode in the peripheral device further: A procedure for detecting voice instructions using the microphone of the aforementioned peripheral device, A procedure for activating hardware control of the aforementioned peripheral device, A procedure for activating the input elements of the graphical user interface of the peripheral device, and Procedure for receiving the activation signal transmitted by the source device. The peripheral device according to the above claim, configured to cause one or more processors to activate the data caching mode in accordance with an operation selected from a group consisting of the above.

11. The program instruction configured to cause one or more processors to receive the data payload from the source device further: Authenticates and authorizes the transfer of the data payload from the source device to the peripheral device. A peripheral device according to any one of the three preceding claims, configured to cause one or more processors to perform the above.

12. The program instruction configured to cause one or more processors to store the data payload in the memory of the peripheral device further: Start a timeout to transfer the data payload to the target device. A peripheral device according to any one of the four preceding claims, configured to cause one or more processors to perform the above.

13. The program instruction configured to cause one or more processors to transmit the data payload to the target device further: A message is received from the target device indicating that the data payload has been successfully received by the target device; and The message indicating that the data payload has been successfully received by the target device is sent to the source device. A peripheral device according to any one of the five preceding claims, configured to cause one or more processors to perform the above.

14. The aforementioned program instruction disclosure: Receive the data payload from the source device using a first short-range wireless protocol; and The data payload is transmitted to the target device using a second short-range wireless protocol. A peripheral device according to any one of the six aforementioned claims, configured to cause one or more processors to perform the above.

15. One or more computer-readable storage media, and program instructions stored together on the one or more computer-readable storage media. The program instructions are: A peripheral device receives a data payload intended for a target device via a short-range wireless protocol, wherein the data payload is received from a source device configured to transmit the data payload to the target device; The peripheral device is positioned at network proximity to the target device, and the data payload is stored in the peripheral device's memory for a period of time that allows the data payload to be transferred from the peripheral device to the target device; Detect the target device via a short-range wireless network; and The data payload is transmitted to the target device via the short-range wireless protocol used by the target device. A computer program product configured to cause one or more processors to perform a task.

16. The aforementioned program instruction disclosure: The system detects the source device, establishes network communication with the source device, and receives the data payload from the source device; and The system detects the target device, establishes network communication with the target device, and transmits the data payload to the target device. The computer program product according to the above claim, configured to cause one or more processors to activate a data caching mode in the peripheral device in order to enable the peripheral device to perform the above.

17. The program instruction configured to cause one or more processors to activate the data caching mode in the peripheral device further: A procedure for detecting voice instructions using the microphone of the aforementioned peripheral device, A procedure for activating hardware control of the aforementioned peripheral device, A procedure for activating the input elements of the graphical user interface of the peripheral device, and Procedure for receiving the activation signal transmitted by the source device. The computer program product according to the above claim, configured to cause one or more processors to activate the data caching mode in accordance with an operation selected from a group consisting of the above.

18. The program instruction configured to cause one or more processors to receive the data payload from the source device further: Authenticates and authorizes the transfer of the data payload from the source device to the peripheral device. A computer program product according to any one of the three preceding claims, configured to cause one or more processors to perform the above.

19. The program instruction configured to cause one or more processors to store the data payload in the memory of the peripheral device further: Start a timeout to transfer the data payload to the target device. A computer program product according to any one of the four preceding claims, configured to cause one or more processors to perform the above.

20. The program instruction configured to cause one or more processors to transmit the data payload to the target device further: A message is received from the target device indicating that the data payload has been successfully received by the target device; and The message indicating that the data payload has been successfully received by the target device is sent to the source device. A computer program product according to any one of the five preceding claims, configured to cause one or more processors to perform the above.