WO2016196556A1 - Method and apparatus for bluetooth communication - Google Patents

Method and apparatus for bluetooth communication Download PDF

Info

Publication number
WO2016196556A1
WO2016196556A1 PCT/US2016/035164 US2016035164W WO2016196556A1 WO 2016196556 A1 WO2016196556 A1 WO 2016196556A1 US 2016035164 W US2016035164 W US 2016035164W WO 2016196556 A1 WO2016196556 A1 WO 2016196556A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
receiving
intermediary
transferring
receiving device
Prior art date
Application number
PCT/US2016/035164
Other languages
French (fr)
Inventor
James HOEFGEN
Samrat Saha
Original Assignee
Dci Marketing, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dci Marketing, Inc. filed Critical Dci Marketing, Inc.
Publication of WO2016196556A1 publication Critical patent/WO2016196556A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • This invention relates generally to inter device communication, and more specifically to data transfers between two devices communicating via the Bluetooth standard or protocol, such as the Bluetooth Low Energy (“BLE”) standard or protocol.
  • BLE Bluetooth Low Energy
  • Much of the marketing material used within automotive retail is in the form of print media, including posters, banners and small format graphics.
  • the marketing material on this print media can be intended to have a limited applicability, such as with seasonal sales or the like.
  • a large percentage of such print media may not be updated due to the time, effort, and cost needed to transport and replace the old material with new material.
  • One issue that can arise from not updating the marketing material in a timely and accurate manner is compliance with brand messages from a controlling entity or corporate headquarters.
  • Digital signage provides advantages over traditional signage in that the content displayed thereon can be updated or changed more easily as desired.
  • the signage can be connected to a digital player through a network or can receive files through storage devices coupled thereto. While an Internet connection, such as through WiFi connection, can provide faster download and transfer speeds, many retail locations have intermittent or otherwise unreliable connections and, as such, may not provide the reliability needed for consistent updating.
  • the Bluetooth standard or protocol may be utilized as a mechanism for connecting digital signage devices and transferring new material or content for same.
  • the speed by which the Bluetooth standard transfers data from one device to another can limit its usefulness.
  • BLE is a wireless personal area network technology that has a lower power consumption and cost than traditional Bluetooth technology, while maintaining a similar communication range, by enabling devices to remain paired without requiring a continual stream of data to be transferred between the devices.
  • BLE can, however, present difficulties for communication between multiple devices in certain setups. For example, in a setup where two BLE enabled devices that can only act in a central role, i.e., make outbound connections, need to communicate with one another, a BLE peripheral device has to act as an intermediary between the two central role BLE devices.
  • One drawback is that BLE peripherals can only accept one inbound connection at a time.
  • the amount of data that can be transferred at a time is limited by the number of service and characteristics that are advertised by a BLE Peripheral, which can be around a few kilobytes.
  • FIG. 1 is a schematic diagram showing connections and configurations of a transferring device, a receiving device, and an intermediary device;
  • FIG. 2 is a schematic diagram showing connections between a communication device and a server device
  • FIG. 3 is a schematic diagram showing connections between transferring devices, intermediary devices, and receiving devices;
  • FIG. 4 is a flowchart of a first portion of a data transfer method
  • FIG. 5 is a flowchart of a second portion of the data transfer method of FIG. 2;
  • FIG. 6 is a schematic diagram showing multiple transferring device connecting to multiple receiving devices via an intermediary device.
  • FIG. 7 is a block diagram of a computing device.
  • the system, method and apparatus described herein provides a simpler and high thru put method for transferring data using the Bluetooth Low Energy (“BLE”) standard or protocol, such as Bluetooth 4, that can be directed using user communication devices, such as smart phones, tablets, laptops, smart TVs or displays, or other computing devices.
  • BLE Bluetooth Low Energy
  • user communication devices such as smart phones, tablets, laptops, smart TVs or displays, or other computing devices.
  • BLE Bluetooth Low Energy
  • the description herein will refer to Bluetooth, BLE, and Bluetooth4 without additionally specifying that these are standards or protocols for inter device communication.
  • content can be quickly updated with minimal user interaction.
  • the use of Bluetooth provides easy connection to devices and software operating on the user device can provide a straight- forward interface for users to update content as desired or required.
  • any number of transmitting or transferring devices can thereby transfer digital files, or data streams, to any number of receiving devices via one or more intermediary devices.
  • file transfer as described herein can include the transmission of data packets or a data stream.
  • the transfer of digital files or data streams will be understood to include transmitting the digital files or data streams to a receiving device or having the receiving device read the digital files or data streams from the intermediary device.
  • a transferring device can utilize more than one intermediary device to transfer files or data streams, such as when an intermediary device fails mid-transfer.
  • the configuration of transferring devices, intermediary devices, and receiving devices utilizing the transfer method described herein can withstand multiple and extensive periods of disconnection because each device maintains a physical memory, so that at any point in a transfer process, a disconnection or reboot from power loss or other malfunction will not invalidate earlier transfer actions. If any of the devices require a reboot during a transfer process, the other devices simply proceed as described below attempting to connect or advertising a service until the device has rebooted and the transfer process can continue.
  • an intermediary device that acts in a peripheral role and is capable of accepting intermittent connections to both the transferring device and the receiving device.
  • the intermediary device can repeatedly connect to the transferring device and the receiving device to enable file transfers for files of any size.
  • An intermediary device as described herein can further act as a hub or router for communications from multiple devices to a single receiving device. This is particularly advantageous for allowing multiple devices to intermittently connect to a receiving device that can otherwise only connect to one device at a time, such as a Bluetooth-enabled vehicle or speaker.
  • the intermediary hub device can connect to a first transmitting device to receive a signal therefrom, forward the signal to the receiving device, disconnect from the first transmitting device, and repeat the process for additional transmitting devices. So configured, multiple mobile telephones can communicate intermittently with the receiving device without having to manually disconnect each transmitting device.
  • the intermediary device effectively forms an ad hoc Bluetooth network that allows devices to communicate with one another that otherwise cannot directly communicate, such as devices operating on iOS and Android, two peripheral devices, two central role devices, etc., as well as, allows multiple devices to communicate with a single receiving device. Therefore, ail Bluetooth-enabled devices, using any protocol, within range of the hub device can communicate with one another through the hub and the ad hoc network that it generates. Suitable devices include, smart phones, tablets, speakers, smart televisions, wearable devices, including health monitoring devices, smart watches, appliances, home security systems, entertainment systems, etc.
  • the following description includes a single first communication or transferring device 10 transferring a file to a single second communication or receiving device 12 via a single intermediary or hub device 14.
  • the sequence of events and device configurations can support any number of transferring, receiving, and intermediary devices. Additionally, it should be noted that the roles of the transferring device and receiving device are interchangeable.
  • the transferring device 10 can be any suitable communication device that includes a user input 18, such as a touch screen, keypad, switch device, voice command software, or the like, a receiver 20, a transmitter 22, which can be combined into a transceiver, a memory 26, a power source 28, which can be replaceable or rechargeable as desired, a display 30, and a processing/control device 32 controlling the operation thereof.
  • a user input 18 such as a touch screen, keypad, switch device, voice command software, or the like
  • a receiver 20 a transmitter 22, which can be combined into a transceiver, a memory 26, a power source 28, which can be replaceable or rechargeable as desired, a display 30, and a processing/control device 32 controlling the operation thereof.
  • the components are connected by electrical pathways, such as wires, traces, circuit boards, and the like.
  • the transferring device 10 is a mobile communication device, such as a smart phone or tablet.
  • the transferring device 10 can be another type of computing device (e.g., laptop computer, desktop computer, smart TV, smart display, etc.
  • the receiving device 12 can be a communication module including a Bluetooth transceiver, including a receiver 20 and transmitter 22, and in the exemplary retail location example, a display 40, which alternatively may be associated therewith and coupled thereto, among other optional components, such as a speaker, and other user inputs, including a power button, volume buttons, etc.
  • the receiving device 12 can alternatively be configured similarly to the transferring device.
  • FIG. 1 the receiving device 12 can be a standalone device and configured to physically couple to the display 40 using any suitable connector, such as through HDMI, USB, or the like.
  • the receiving device 12 would connect to the display 40 similar to how a USB jump drive connects to a computer.
  • the intermediary device 14, as it only needs to facilitate communication between the transferring and receiving devices 10, 12, can be a circuit board having a receiver 20, a transmitter 22, memory 26 configured to store data transferred to the intermediary device 14, a processing or control device 32, and the like mounted thereto.
  • the intermediary device 14 can be installed or mounted where desired to facilitate easy communication between the transferring and receiving devices 10, 12 using BLE.
  • the intermediary device 14 can be incorporated into the same housing 42 and/or be electrically connected to the receiving 12.
  • the intermediary and receiving devices 14, 12 can be incorporated into the display 40.
  • the transferring device 10, the receiving device 12, and the intermediary device 14 can all be incorporated into a single device 44, such as a television or the like.
  • the intermediary device 14 can advertise or transmit a service to any receptive devices.
  • the service can preferably have a Universally Unique Identifier (UUID) associated therewith, which in one example can be 8888.
  • UUID Universally Unique Identifier
  • the service can further include several characteristics.
  • the sendee includes characteristics (a) - (g).
  • Characteristic (c) includes packets of the file to be transferred. More specifically, (c) can include space for 10 packets. UUID's of these packets can range from ccOO to cc09 and (c) can be written as packetData[0, , .9], These 10 packets include the data that is to be transferred from the transferring device 10 to the intermediary device 14 and read by the receiving device 12 from the intermediary device 14. In one example, each packet has read, write properties set to "true" and is 254 bytes in length. As such, in this example the total data that can be transmitted in one connection attempt is 2540 bytes.
  • a method 100 for transferring a file from the transferring device 0 to the receiving device 12 through the intermediary device 14 is shown in FIGS. 4 and 5.
  • the method 00 starts with the transferring device 10 receiving an instruction to transfer a file to the receiving device 12.
  • the instruction can be in the form of selection of the user input 8 of the transferring device 10, whether an immediate instruction or set to begin at a future predetermined time, or can be initiated via internal logic of the device 10.
  • the transferring device 10 determines the number of packets in the file. For example, the transferring device 10 can calculate the number of packets in the file or receive the number of packets in the file from another device. In one approach, each packet can be up to 254 bytes in length, such that the transferring device 10 divides the total size of the file by 254 bytes. In a further approach, the transferring device 10 can utilize a rounding function that rounds the calculation of the number of packets to the first integer greater than or equal to the number of packets, so that the entire file can be transferred.
  • the transferring device 10 can then scan for an intermediary device, such as the intermediary device 14. After finding the intermediary device 14, the transferring device 10 connects 102 thereto and determines 104 whether the intermediary device 14 is currently transferring a file, e.g., checks the value of characteristic (g) (fileTransferlnProgress). If the value is false, the intermediary device 14 is open for a file transfer operation. If the value is true, then the intermediary device 14 is already managing a transfer operation. In this instance, the transferring device 10 can disconnect 106 from the intermediary device 14 and periodically reconnect to the intermediary device 14 to check the value of (g) and/or search for other available intermediary devices.
  • an intermediary device such as the intermediary device 14.
  • the transferring device 10 can then write/set 108 file transfer data at the intermediary device 14.
  • the file transfer data can include one or more of: an ID of the file, a type of the file, a size of the file, and an ID of a recipient of the file.
  • the transferring device 10 can connect to the intermediary device and set the values of characteristics (a) (filelDandType), (b) (iiumOfBytes), and (f) (idOfRecipient).
  • the file transfer data includes groups of packets of the file.
  • the transferring device 10 can also write 108 the first packets of data to the intermediary device 14. If the file size is less than 10 packets, the transferring device 10 will write all of the packets to the intermediary device 14. If the file size is greater than 10 packets, the transferring device 10 will write the first 10 packets to the intermediary device 14. After writing the first packets of data, the transferring device 10 sets a value at the intermediary device 14 to indicate that the intermediary device 14 is working on the file transfer and is not ready for additional packets. Using the sendee characteristics, the transferring sets the value of characteristic (d) (nextPacket) to false. The intermediary device 14 then sets a value to indicate to other devices that a file transfer is in progress. Using the service characteristics, the intermediary device 14 sets 1 14 the value of characteristic (g) to true.
  • the transferring device 10 disconnects 110 from the intermediary device 14.
  • the transferring device 10 can set a timer for a predetermined time, such as seconds up to minutes or hours (e.g., 5 seconds to 60 seconds, and more preferably about 10 seconds, 5 minutes, etc.), at the expiration of which, the transferring device 10 will reconnect 12 with the intermediary device 14 to determine a status of the file transfer.
  • the transferring device 14 can be configured to periodically reconnect with the intermediary device 14 to determine the status after repeated expirations of the predetermined times.
  • the reconnect interval can be adaptive, which is described in greater detail below.
  • the transferring device 10 checks the value of characteristic (d). If the value of (d) is true, this indicates to the transferring device 10 that the receiving device 12 has connected and read the first packets of data, described in more detail below. If the value of (d) is false, this indicates to the transferring device 10 that the receiving device 12 has not connected and read the first packets of data, such that the transferring device 10 disconnects again for the predetermined time.
  • receiving devices such as the receiving device 12, periodically scan for and connect 114 to intermediary devices, such as the intermediary device 14.
  • the receiving device 12 determines 116 whether the intermediary device 14 has a file transfer in progress and, if so, determines 118 whether an ID of the receiving device 12 matches an ID of a recipient of the file stored in the intermediary device 14.
  • the receiving device uses the sendee characteristics to determine the values of characteristics (g) (fileTransferlnProgress) and (f) (idOfRecipient).
  • the receiving device 12 If a value of (g) is true and (f) includes an ID that matches the ID of the receiving device 12, then the receiving device 12 reads 120 the first data packets, characteristic (c), and then sets the value of characteristic (d) to true. After this, the receiving device 12 disconnects 122 from the intermediary device 14 for a predetermined interval. The receiving device 12 then attempts to reconnect to the intermediary device 14 after predetermined intervals.
  • the transferring device 10 periodically attempts to reconnect to the intermediary device 14.
  • the transferring device 10 checks 126 the value of characteristic (d) (nextPacket), which indicates whether the receiving device 12 has read the first data packets. If the value of (d) is true, the transferring device 10 then writes 128 the next 10 packets of data, sets the value of (d) to false, and disconnects 130. If the value of (d) is false, the transferring device 10 disconnects 132. As such, when the receiving device 12 reconnects 134 to the intermediar device 14 after the interval, the receiving device checks the value of (d).
  • d characteristic
  • the transferring device 10 and the receiving device 12 periodically connect to and disconnect from the intermediary device 14 to write and read data packets respectively.
  • This configuration advantageously overcomes the difficulties presented by the intermediary device 14 only being able to connect to one of the transferring and receiving devices 10, 12 at a time.
  • This configuration further allows the transferring device 10 to transfer large files, e.g., greater than 2540 bytes of data, to the receiving device 12 as compared to the default settings of BLE.
  • this configuration allows multiple transferring devices to transfer files to multiple receiving devices using one or more intermediary devices.
  • the reconnect interval times can be adaptive. This is advantageous because when one device is connected to the intermediary device 14, the other device cannot connect, which can undesirably delay file transfer times.
  • the transferring device 10 changes the times between connections to the intermediary device 14 to provide progressively longer times for the receiving device 12 to content to the intermediary device 14 and read the data packets.
  • the transferring device 10 can use a predetermined interval, such as seconds up to minutes or hours (e.g., 5 seconds to 60 seconds, and more particularly about 10 seconds, 5 minutes, etc.). If desired, the transferring device 10 can use the predetermined interval for a number of first connections.
  • the transferring device 10 After the first connection or first series of connections, the transferring device 10 periodically increases the interval time between reconnections attempts, for example, by one or more seconds, minutes, or hours (e.g., 1 second - 10 seconds, and preferably about 1 second, etc.).
  • the transferring device 10 can be configured to cancel the transfer and/or notify end users of the problem after a predetermined period. For example, if after a predetermined transfer period, e.g., 60 minutes, has elapsed and the receiving device 10 has not read the data packets from the intermediary device, the transferring device 10 can cancel the transfer and/or notify end users of the problem, such as by outputting a notification on the user device.
  • the transferring device 10 can use the time period between its last connection and the time at which the receiving device 12 changed the value of characteristic (d) (nextPacket). More specifically, based on this reading time period, the transferring device 10 can correspondingly increase or decrease the length of the predetermined time interval after the transferring device writes the next packets and disconnects from the intermediary device 14. For example, if reading time period is shorter than a current value for the predetermined time interval, the transferring device 10 can shorten the time interval a preset amount or to match the reading time period. If the reading time period is longer than an expected reading time, the transferring device 10 can lengthen the time interval. This adaptive mechanism allows for optimizing the data transfer speeds between the transferring device 10 and the receiving device 12.
  • the connecting device can avoid reconnecting to the intermediary device for an extended time period, such as by setting an extended timer as compared to a normal interval, so that the file transfer is allowed to progress without unnecessary interference from the connecting device.
  • the connecting device can set a timer using a characteristic set by the transferring device 10.
  • the intermediary device 14 can advertise another service characteristic that is set by the transferring device 10 on the estimated time remaining for the transfer to complete, which can be calculated based on the size of the file to be transferred, the remaining packets to be read by the receiving device, and or average reading times by the receiving device 12.
  • the transfer method described above can advantageously be used in a retail setting to update digital signage at the retail location.
  • a user at a retail outlet can remotely access an advertising file from a file service, such as via software operating on the user device to access a website and/or a server device or database 46 hosted by the controlling entity.
  • the user device can connect to the file service over any suitable communication network 48, such as cellular, Internet, or the like, and select a desired or required advertising file via the user input so that signage at the retail location can be updated.
  • headquarters or other central directing entities can direct individual retail locations to follow advertising campaigns, which can require lengthy file transfers and signage updates, especially in remote locations where internet access is slow, unreliable, or absent.
  • the central directing entity can be a third party acting at the behest of the headquarters.
  • the file service can be utilized by headquarters to track individual retail locations to determine which locations have accessed the file sendee and/or downloaded an advertising campaign, which is described in more detail below.
  • the file service can require that individual members have unique sign-in information, so that actions within the file service can be tracked and stored.
  • a user can log into the file service, which can include sending identification information of a particular retail location to the file service, to determine whether there are new display or signage files available, which can include images and/or video files.
  • the file service can notify the user when new files are available with a message, which can be an email message, a text message, a voice message, or the like, sent to the user device.
  • a message which can be an email message, a text message, a voice message, or the like, sent to the user device.
  • the user chooses a desired file and downloads the new file via selection through the user input from the server device or database 46. After the file downloads, the user runs software on the user device that is configured to perform the transferring device side of the method described above.
  • the user can select an intended receiving device or devices and one or more files to transfer.
  • the user device searches for an intermediary device, as set forth above.
  • the intermediary device or devices can be mounted or installed directly in the intended displays or installed at desired locations throughout the retail location.
  • displays such as televisions or kiosks can be quickly and easily updated with advertising so that after the receiving device receives the data from the transferring device via the intermediary device, the receiving device can display any images and/or video files on the displays.
  • the software operating on the user device 10 can be an application (“app") that is configured to obtain data files and facilitate the transfer of the data files between the user device 10 and the receiving device 12 using the intermediary device 14 as a hub as set forth above.
  • the user can obtain the app through an online store or database and/or can be sent a file to download and install from the controlling entity as desired.
  • the app can be configured remotely connect to the file service, which, in the retail setting can be a website or server 46 hosted by the headquarters or other central entity, to provide files to update the receiving device or devices.
  • the files are remotely stored on a server or database 46 by the central directing entity or a third party and the app can be configured to access and download the files therefrom over any suitable network, including an internet connection, a cellular network, or the like.
  • the app can be configured to download the files on an instruction by the user to conserve memory on the user device, can be configured to download the files to the user device 10 as they become available so that the files are immediately available of a memory of the user device 10 when needed, or a combination thereof.
  • the app can also advantageously be configured to report back to the central entity so that the central entity can track compliance.
  • the app can require that a user or retail location register with the central entity, so that all actions taken using the app can be tracked and logged for a specific location.
  • the user can be assigned a unique ID code, can use a retail specific code, such as a dealership code, or the like. As such, the user can input this code into the app prior to use to log the user into the file service.
  • the app can then track which files the user device downloads and at what time.
  • the app can track downstream actions and report the actions and times back to the central entity.
  • the central entity can compile information including which advertising campaigns a retail outlet has download, whether the files were transferred to displays, the times when these actions were taken, and the time lapsed during download and transfer. This functionality can be automatically configured in the app.
  • the app can further be configured to provide authorization information to the intermediary device for connecting thereto.
  • the user can choose an intermediary device to connect to in response to the user device receiving the service broadcast therefrom or the user device can automatically attempt to connect thereto.
  • attempting to connect to the intermediaiy device can prompt a code input into which the user can input the ID code discussed above or other code to authenticate the user device with the intermediary device.
  • the app can automatically transmit the ID code or other authentication information to the intermediary device for authentication.
  • a user operating a smart phone or tablet device can download, install, and open the app on the user device.
  • the user then inputs the retail location's ID code or the ID code can be previously- entered therein.
  • the app then accesses the remote server of the central entity or a memory on the device to display one or more options for updated advertising files.
  • the user selects a desired file and, if necessary, the app downloads the file onto a memory of the device.
  • the app can then optionally transmit this selection back to the central entity.
  • a desired receiving device which can be pre-associated with the app through a previous connection, can be identified by a user inputting identification information of the receiving device, such as a serial number, assigned code, or the like, or can be selected based on a signal broadcast by the receiving device.
  • the app can provide drag-and-drop functionality to drag the desired file to an icon identifying an intended receiving device.
  • the app searches for an available intermediary device and connects thereto.
  • the transfer method then proceeds as discussed above until the entire file is transferred to the receiving device.
  • the app can then optionally report the successful transfer back to the central entity and the associated retail location.
  • a retail location can include digital signage that displays various brand advertisements. Access to these displays and the network of the retail location can be limited for an outside entity brand manager trying to get an advertisement of the brand displayed.
  • the receiving device and method described herein can bypass needing access to the store network.
  • the user accesses the app and desired file or files as described above and selects a receiving device. Authenticating the user with the intermediary device can happen automatically through the app, or the retail location can have a location specific code that is provided to the user. After a connection is established with the intermediary device and the receiving device is identified, the data transfer process proceeds as described above.
  • a computer implemented method for transferring data via Bluetooth Low Energy (“BLE”) from a transferring device to a receiving device acting in central roles includes connecting to an intermediar device with the transferring device; sending first data packets of a file and recipient device identification information to the intermediary device with the transferring device; disconnecting from the intermediary device with the transferring device; connecting to the intermediary device with the receiving device; determining whether the recipient device identification information matches identification information of the receiving device; and reading the first data packets of the file in response to determining that the recipient device identification information matches the identification information of the receiving device.
  • BLE Bluetooth Low Energy
  • the method can further include determining the number of packets in the file with the transferring device, setting a file transfer value at the intermediary device to indicate that a file transfer is in progress with the transferring device; and/or reconnecting to the intermediary device using an adaptive reconnection time interval algorithm based on actions of the receiving device.
  • the method can include setting a next packet value at the intermediary device with the receiving device to indicate to the transferring device that the receiving device has read the first data packets, sending second data packets of the file to the intermediary device with the transferring device, and changing the file transfer value at the intermediary device with the transferring device to indicate to the receiving device that new data, packets are available.
  • a computer implemented method for facilitating a transfer of data via Bluetooth Low Energy from a transferring device to a receiving device acting in central roles includes broadcasting a service having characteristics with an intermediary device; connecting to a transferring device; setting a data identification information characteristic for the data to be transferred; writing first data packets to a data packet characteristic; setting a ready characteristic to inform the receiving device that the first data packets are ready to be read; and setting a receiving device ID characteristic.
  • the method can further include disconnecting from the transferring device; connecting to the receiving device; enabling the receiving device to read the first data packets from the data, packet characteristic; setting a next packet characteristic to inform the transferring device that the receiving device read the first data packets.
  • the method can include disconnecting from the receiving device; connecting to the transferring device; writing second data packets to the data packet characteristic; setting the ready characteristic to inform the receiving device that the second data packets are ready to be ready; and setting the next packet characteristic to inform the receiving device that there is new data to read.
  • An intermediary device that facilitates data transfer between a first communicating device and a second communicating device is further provided herein and includes a control circuit; and a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of any of the methods described above.
  • a computer implemented method for updating digital signage at a retail location by- transferring updated signage data from a transferring device to a receiving device at the digital Signage acting in central roles via an intermediary device using Bluetooth Low Energy includes accessing updated signage data with the transferring device; receiving a selection of the receiving device as an intended recipient of the updated signage data from a user input of the transferring device; connecting to the intermediary device and sending first data packets and recipient device identification information of the intended recipient to the intermediary device with the transferring device; connecting to the intermediary device with the receiving device, determining whether the recipient device identification information matches identification information of the receiving device, and reading the first data packets of the updated signage data in response to determining that the recipient device identification information matches the identification information of the receiving device;
  • the method can further include sending retail identification information to a file service of a controlling entity; receiving notification from the file service that the updated signage data is available; and downloading the updated signage data.
  • An inter device communication system includes a transferring device; a receiving device; and an intermediary device in communication with the transferring device and the receiving device for facilitating data transfer between the transferring device and the receiving device.
  • the intermediary device can be configured to connect to the transferring device and receive first data packets and receiving device identification information therefrom and connect to the receiving device to provide the first data packets thereto in response to identification information of the receiving device matching the receiving device identification information.
  • the intermediary device can further be configured to alternate between connecting to the transferring device and the receiving device to transfer portions of a data file from the transferring device to the receiving device until an entirety of the data file has been transferred.
  • the receiving device can include a display such that upon receiving the data from the transferring device via the intermediary device, the display is configured to display an image or video from the data.
  • the intermediary device can further be configured to broadcast a service having one or more of the following characteristics: a file identification and type characteristic; a file size characteristic; a data packet characteristic; a data packet received characteristic; a data packet ready for transfer characteristic; a receiving device identification characteristic; a file transfer in progress characteristic; and a file transfer time remaining characteristic.
  • An inter device communication system for more efficiently transferring data via the BLE standard includes means for monitoring for devices desiring to communicate via the BLE standard; and means for receiving BLE communicated data from a first device and sending the BLE communicated data to a second device.
  • a method of software operating a communication device to transfer data includes running an application on the communication device; receiving a selection of a file to transfer via a user input of the communication device; receiving a selection of a receiving device via the user input of the communication device; scanning for an intermediary device; connecting to the intermediary device; transferring first data packets of the file to the intermediary device for reading by the receiving device.
  • the method can further include authenticating the communication device with the intermediary device for connection thereto; downloading and installing the application on the communication device; and/or sending records of actions taken by the communication device to a remote entity server device.
  • the method can include accessing a remote server and downloading the file from the remote server device, wherein downloading the file from the remote server device is a passive action at the behest of a selection via the user input of the communication device and/or is an active action performed automatically in response to a new file being available at the remote server device.
  • a first communication device that is configured to transfer data to a second communicating device through an intermediary device is further provided that includes a control circuit; and a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of any of the above methods.
  • the intermediary device includes a control circuit and a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform steps.
  • the steps can include: connecting to the first transmitting device; receiving a first data transmission from the first transmitting device; disconnecting from the first transmitting device; connecting to the receiving device; sending the first data transmission to the receiving device; disconnecting from the receiving device; connecting to the second transmitting device; receiving a second data transmission from the second transmitting device; disconnecting from the second transmitting device; reconnecting to the receiving device; and sending the second data transmission to the receiving device.
  • An inter device communication system that includes first and second transmitting devices, a receiving device, and an intermediary device in communication with the first and second transmitting devices and the receiving device.
  • the intermediary device is configured for facilitating data transfer between the first and second transmitting devices and the receiving device, wherein the intermediary device is configured to connect to the first transmitting device and receive a first data transmission, connect to the receiving device to provide the first data transmission thereto, subsequently connect to the second transmitting device and receive a second data transmission, and connect to the receiving device to provide the second data transmission thereto.
  • the intermediary device can also be configured to alternate between connecting to the first and second transmitting devices and the receiving device therebetween to transfer data from both the first and second transmitting devices to the receiving device.
  • An intermediary device configured to facilitate data transfer between communication devices over a Bluetooth protocol.
  • the intermediary device can include a control circuit, a transmitter, and a receiver.
  • the control circuit can be configured to operate the transmitter to broadcast a Bluetooth service identifying the intermediary device to receptive communication devices and operate the receiver and transmitter to receive and transmit data transmissions from a first communication device to a second communication device.
  • the first and second communication devices cannot connect directly to one another.
  • the intermediary device can further be configured to receive data transmissions from a third communication device and transmit the data transmissions to the second communication device after transmitting the data transmissions from the first communication device.
  • the intermediary device can include a network interface configured for wirelessly receiving data from a first Bluetooth enabled device and wirelessly relaying the data to a second Bluetooth enabled device, the first and second Bluetooth enabled devices being incapable of communicating directly with one another; and a control circuit coupled to the network interface.
  • the control circuit can be configured to: receive data from the first Bluetooth enabled device; and be configured to indicate when the control circuit is ready to receive more data from the first Bluetooth enabled device so that the first Bluetooth enabled device knows it can transmit more data; and when the control circuit is ready to transfer the data to the second Bluetooth enabled device so that the second Bluetooth enabled device knows when data is ready to be transferred.
  • the second Bluetooth enabled device can further send data to the first Bluetooth enabled device through the intermediary device.
  • the first and second Bluetooth enabled devices are first and second Bluetooth low energy centrals, respectively, incapable of communicating directly with one another and the intermediary device is a Bluetooth low energy peripheral.
  • the control circuit can further be configured to indicate when the control circuit is in the process of communicating with one of the first and second Bluetooth enabled devices so that the other of the first and second Bluetooth enabled devices does not try to communicate with the intermediary device either while this communication is ongoing or for a predetermined period of time.
  • a computer program product embodied in a machine-readable non-transitory storage medium including instructions executable by a processor and configured to cause the processor to perform operations.
  • the operations can include: pairing an intermediary device with a first Bluetooth enabled device that wishes to transfer data to a second Bluetooth enabled device but cannot directly communicate with the second Bluetooth enabled device; receiving at the intermediary device data from the first Bluetooth enabled device; pairing the intermediary device with the second Bluetooth enabled device; and transferring data from the intermediary device to the second Bluetooth enabled device.
  • a computer program product embodied in a machine-readable non-transitory storage medium including instructions executable by a processor and configured to cause the processor to perform the operations of any one of the methods described herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The system and method described herein provides an intermediary device configured to facilitate data transfer using the Bluetooth standard between communication devices. The transfer can use intermittent connection and data transfer events that can be directed using user communication devices, such as smart phones, tablets, or other computing devices. In the context of retail messaging, content can be efficiently transferred with minimal user interaction.

Description

METHOD AND APPARATUS FOR BLUETOOTH COMMUNICATION
FIELD
[0001] This invention relates generally to inter device communication, and more specifically to data transfers between two devices communicating via the Bluetooth standard or protocol, such as the Bluetooth Low Energy ("BLE") standard or protocol.
BACKGROUND
[0002] Much of the marketing material used within automotive retail is in the form of print media, including posters, banners and small format graphics. The marketing material on this print media can be intended to have a limited applicability, such as with seasonal sales or the like. A large percentage of such print media, however, may not be updated due to the time, effort, and cost needed to transport and replace the old material with new material. One issue that can arise from not updating the marketing material in a timely and accurate manner is compliance with brand messages from a controlling entity or corporate headquarters.
[00Θ3] One approach to addressing the problems related to print media is utilizing digital signage in retail locations for displaying advertising or promotional material. Digital signage provides advantages over traditional signage in that the content displayed thereon can be updated or changed more easily as desired. To change the display on the digital signage, the signage can be connected to a digital player through a network or can receive files through storage devices coupled thereto. While an Internet connection, such as through WiFi connection, can provide faster download and transfer speeds, many retail locations have intermittent or otherwise unreliable connections and, as such, may not provide the reliability needed for consistent updating.
[0004] The Bluetooth standard or protocol may be utilized as a mechanism for connecting digital signage devices and transferring new material or content for same. The speed by which the Bluetooth standard transfers data from one device to another, however, can limit its usefulness.
[0005] BLE is a wireless personal area network technology that has a lower power consumption and cost than traditional Bluetooth technology, while maintaining a similar communication range, by enabling devices to remain paired without requiring a continual stream of data to be transferred between the devices. BLE can, however, present difficulties for communication between multiple devices in certain setups. For example, in a setup where two BLE enabled devices that can only act in a central role, i.e., make outbound connections, need to communicate with one another, a BLE peripheral device has to act as an intermediary between the two central role BLE devices. One drawback is that BLE peripherals can only accept one inbound connection at a time. Moreover, the amount of data that can be transferred at a time is limited by the number of service and characteristics that are advertised by a BLE Peripheral, which can be around a few kilobytes.
[0006] Accordingly, it has been determined that a need exists for an improved system, method, and apparatus for communicating via BLE, especially the Bluetooth 4 standard or protocol.
BRIEF DESCRIPTION OF THE DRAWINGS
[00Θ7] The above needs are at least partially met through provision of the improved system, method, and apparatus for communicating via BLE described in the following detailed description, particularly when studied in conjunction with the drawings, wherein:
[0008] FIG. 1 is a schematic diagram showing connections and configurations of a transferring device, a receiving device, and an intermediary device;
[0009] FIG. 2 is a schematic diagram showing connections between a communication device and a server device;
[0010] FIG. 3 is a schematic diagram showing connections between transferring devices, intermediary devices, and receiving devices;
[0011] FIG. 4 is a flowchart of a first portion of a data transfer method;
[0012] FIG. 5 is a flowchart of a second portion of the data transfer method of FIG. 2;
[0013] FIG. 6 is a schematic diagram showing multiple transferring device connecting to multiple receiving devices via an intermediary device; and
[0014] FIG. 7 is a block diagram of a computing device.
[0015] Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above except where different specific meanings have otherwise been set forth herein.
DETAILED DESCRIPTION
[0016] The system, method and apparatus described herein provides a simpler and high thru put method for transferring data using the Bluetooth Low Energy ("BLE") standard or protocol, such as Bluetooth 4, that can be directed using user communication devices, such as smart phones, tablets, laptops, smart TVs or displays, or other computing devices. For convenience, the description herein will refer to Bluetooth, BLE, and Bluetooth4 without additionally specifying that these are standards or protocols for inter device communication. As such, in the context of retail messaging, content can be quickly updated with minimal user interaction. Additionally, the use of Bluetooth provides easy connection to devices and software operating on the user device can provide a straight- forward interface for users to update content as desired or required.
[0017] More specifically, the system and method described herein relies on intermittent connection and data, transfer events. A detailed breakdown of the synchronous events follows herein. Advantageously, any number of transmitting or transferring devices can thereby transfer digital files, or data streams, to any number of receiving devices via one or more intermediary devices. As such, file transfer as described herein can include the transmission of data packets or a data stream. The transfer of digital files or data streams will be understood to include transmitting the digital files or data streams to a receiving device or having the receiving device read the digital files or data streams from the intermediary device. Moreover, a transferring device can utilize more than one intermediary device to transfer files or data streams, such as when an intermediary device fails mid-transfer. Additionally, the configuration of transferring devices, intermediary devices, and receiving devices utilizing the transfer method described herein can withstand multiple and extensive periods of disconnection because each device maintains a physical memory, so that at any point in a transfer process, a disconnection or reboot from power loss or other malfunction will not invalidate earlier transfer actions. If any of the devices require a reboot during a transfer process, the other devices simply proceed as described below attempting to connect or advertising a service until the device has rebooted and the transfer process can continue.
[0018] As discussed herein, in a data transfer setting where the transferring device and the receiving device are both acting in a central role, an intermediary device is provided that acts in a peripheral role and is capable of accepting intermittent connections to both the transferring device and the receiving device. With this configuration, the intermediary device can repeatedly connect to the transferring device and the receiving device to enable file transfers for files of any size.
[0019] An intermediary device as described herein can further act as a hub or router for communications from multiple devices to a single receiving device. This is particularly advantageous for allowing multiple devices to intermittently connect to a receiving device that can otherwise only connect to one device at a time, such as a Bluetooth-enabled vehicle or speaker. As such, the intermediary hub device can connect to a first transmitting device to receive a signal therefrom, forward the signal to the receiving device, disconnect from the first transmitting device, and repeat the process for additional transmitting devices. So configured, multiple mobile telephones can communicate intermittently with the receiving device without having to manually disconnect each transmitting device. Additionally, the intermediary device effectively forms an ad hoc Bluetooth network that allows devices to communicate with one another that otherwise cannot directly communicate, such as devices operating on iOS and Android, two peripheral devices, two central role devices, etc., as well as, allows multiple devices to communicate with a single receiving device. Therefore, ail Bluetooth-enabled devices, using any protocol, within range of the hub device can communicate with one another through the hub and the ad hoc network that it generates. Suitable devices include, smart phones, tablets, speakers, smart televisions, wearable devices, including health monitoring devices, smart watches, appliances, home security systems, entertainment systems, etc.
[0020] For the ease of explanation, the following description includes a single first communication or transferring device 10 transferring a file to a single second communication or receiving device 12 via a single intermediary or hub device 14. As stated above and shown in FIGS. 1 and 3, however, the sequence of events and device configurations can support any number of transferring, receiving, and intermediary devices. Additionally, it should be noted that the roles of the transferring device and receiving device are interchangeable.
[0021] As shown in FIG. 7, the transferring device 10 can be any suitable communication device that includes a user input 18, such as a touch screen, keypad, switch device, voice command software, or the like, a receiver 20, a transmitter 22, which can be combined into a transceiver, a memory 26, a power source 28, which can be replaceable or rechargeable as desired, a display 30, and a processing/control device 32 controlling the operation thereof. As commonly understood, the components are connected by electrical pathways, such as wires, traces, circuit boards, and the like. By one approach, the transferring device 10 is a mobile communication device, such as a smart phone or tablet. By another approach, the transferring device 10 can be another type of computing device (e.g., laptop computer, desktop computer, smart TV, smart display, etc. The receiving device 12 can be a communication module including a Bluetooth transceiver, including a receiver 20 and transmitter 22, and in the exemplary retail location example, a display 40, which alternatively may be associated therewith and coupled thereto, among other optional components, such as a speaker, and other user inputs, including a power button, volume buttons, etc. The receiving device 12 can alternatively be configured similarly to the transferring device. Several approaches are optionally shown in FIG. 1. By one approach, the receiving device 12 can be a standalone device and configured to physically couple to the display 40 using any suitable connector, such as through HDMI, USB, or the like. In this approach, the receiving device 12 would connect to the display 40 similar to how a USB jump drive connects to a computer. The intermediary device 14, as it only needs to facilitate communication between the transferring and receiving devices 10, 12, can be a circuit board having a receiver 20, a transmitter 22, memory 26 configured to store data transferred to the intermediary device 14, a processing or control device 32, and the like mounted thereto. As such, the intermediary device 14 can be installed or mounted where desired to facilitate easy communication between the transferring and receiving devices 10, 12 using BLE. Moreover, as shown m FIG. 1, the intermediary device 14 can be incorporated into the same housing 42 and/or be electrically connected to the receiving 12. Further, the intermediary and receiving devices 14, 12 can be incorporated into the display 40. Finally, the transferring device 10, the receiving device 12, and the intermediary device 14 can all be incorporated into a single device 44, such as a television or the like.
[0022] The intermediary device 14 can advertise or transmit a service to any receptive devices. The service can preferably have a Universally Unique Identifier (UUID) associated therewith, which in one example can be 8888. The service can further include several characteristics. In one example, the sendee includes characteristics (a) - (g).
[0023] Characteristic (a) is used to inform the receiving device 12 of the identification or ID and type of the file to be transferred, (a) can have the following configurations: (filelD And Type): UUID bbOO, read=true, wnte=true, size = 20 bytes.
[0024] Characteristic (b) is used to inform the receiving device 12 of the size of the file to be transferred, (b) can have the following configurations: (numOfBytes): UUID bbOl, read=true, write=tr ue, size= 10 bytes .
[0025] Characteristic (c) includes packets of the file to be transferred. More specifically, (c) can include space for 10 packets. UUID's of these packets can range from ccOO to cc09 and (c) can be written as packetData[0, , .9], These 10 packets include the data that is to be transferred from the transferring device 10 to the intermediary device 14 and read by the receiving device 12 from the intermediary device 14. In one example, each packet has read, write properties set to "true" and is 254 bytes in length. As such, in this example the total data that can be transmitted in one connection attempt is 2540 bytes.
[0026] Characteristic (d) is the flag that is set by the receiving device 12 to inform the transferring device 10 that it has read the current sequence of packet data, and is ready for the next sequence, (d) can have the following configurations: (nextPacket): UUID ddOl, read=true, write=true, size :=: 1 byte.
[0027] Characteristic (e) is the flag set by the transferring device 10 on the intermediary device 14 to inform the receiving device 12 when (e) is read thereby to see if a new file is ready to be transferred, (e) can have the following configurations: (fileReadyToBeTransf erred): UUID dd02, read=true, write=true, size = 1 byte.
[0028] Characteristic (f) is set by the transferring device 10 on the intermediary device 14 and is used by the receiving device 12 to check whether it is the intended recipient of the file transfer. As such, this configuration allows multiple receiving devices to be controlled by one or more transferring devices, (f) can have the following configurations: (idOfRecipient): UUID dd03, read=true, write=true, size:=:5 bytes.
[0029] Characteristic (g) is set by the intermediary device 14 to indicate that a file transfer is in progress and inform other receiving devices that they are not the intended recipient of the file transfer (read from characteristic (f) idOfRecipient) and, as such, should not attempt to reconnect to the intermediary device 14 for a relatively longer predetermined period of time, such as seconds up to minutes or hours {e.g., 60 seconds to 500 seconds, and more preferably about 300 seconds or 5 minutes, 30 minutes, 1 hour, etc.), in order to allow the transferring device 10 and the receiving device 12 to quickly complete the file transfer, (g) can have the following configurations: (fileTransferlnProgress): UUID dd04, read=true, write=true, size=lbyte.
[0030] A method 100 for transferring a file from the transferring device 0 to the receiving device 12 through the intermediary device 14 is shown in FIGS. 4 and 5. The method 00 starts with the transferring device 10 receiving an instruction to transfer a file to the receiving device 12. The instruction can be in the form of selection of the user input 8 of the transferring device 10, whether an immediate instruction or set to begin at a future predetermined time, or can be initiated via internal logic of the device 10.
[0031] The transferring device 10 then determines the number of packets in the file. For example, the transferring device 10 can calculate the number of packets in the file or receive the number of packets in the file from another device. In one approach, each packet can be up to 254 bytes in length, such that the transferring device 10 divides the total size of the file by 254 bytes. In a further approach, the transferring device 10 can utilize a rounding function that rounds the calculation of the number of packets to the first integer greater than or equal to the number of packets, so that the entire file can be transferred.
[0032] The transferring device 10 can then scan for an intermediary device, such as the intermediary device 14. After finding the intermediary device 14, the transferring device 10 connects 102 thereto and determines 104 whether the intermediary device 14 is currently transferring a file, e.g., checks the value of characteristic (g) (fileTransferlnProgress). If the value is false, the intermediary device 14 is open for a file transfer operation. If the value is true, then the intermediary device 14 is already managing a transfer operation. In this instance, the transferring device 10 can disconnect 106 from the intermediary device 14 and periodically reconnect to the intermediary device 14 to check the value of (g) and/or search for other available intermediary devices.
[0033] If the intermediary device 14 is open for a file transfer operation, the transferring device 10 can then write/set 108 file transfer data at the intermediary device 14. The file transfer data can include one or more of: an ID of the file, a type of the file, a size of the file, and an ID of a recipient of the file. Using the service characteristics, the transferring device 10 can connect to the intermediary device and set the values of characteristics (a) (filelDandType), (b) (iiumOfBytes), and (f) (idOfRecipient).
[0034] The file transfer data includes groups of packets of the file. As such, the transferring device 10 can also write 108 the first packets of data to the intermediary device 14. If the file size is less than 10 packets, the transferring device 10 will write all of the packets to the intermediary device 14. If the file size is greater than 10 packets, the transferring device 10 will write the first 10 packets to the intermediary device 14. After writing the first packets of data, the transferring device 10 sets a value at the intermediary device 14 to indicate that the intermediary device 14 is working on the file transfer and is not ready for additional packets. Using the sendee characteristics, the transferring sets the value of characteristic (d) (nextPacket) to false. The intermediary device 14 then sets a value to indicate to other devices that a file transfer is in progress. Using the service characteristics, the intermediary device 14 sets 1 14 the value of characteristic (g) to true.
[0035] Having successfully transferred the first packets of data to the intermediary device 14, the transferring device 10 disconnects 110 from the intermediary device 14. At this point, the transferring device 10 can set a timer for a predetermined time, such as seconds up to minutes or hours (e.g., 5 seconds to 60 seconds, and more preferably about 10 seconds, 5 minutes, etc.), at the expiration of which, the transferring device 10 will reconnect 12 with the intermediary device 14 to determine a status of the file transfer. The transferring device 14 can be configured to periodically reconnect with the intermediary device 14 to determine the status after repeated expirations of the predetermined times. By one approach, the reconnect interval can be adaptive, which is described in greater detail below. When the transferring device 10 reconnects to the intermediary device 14, the transferring device checks the value of characteristic (d). If the value of (d) is true, this indicates to the transferring device 10 that the receiving device 12 has connected and read the first packets of data, described in more detail below. If the value of (d) is false, this indicates to the transferring device 10 that the receiving device 12 has not connected and read the first packets of data, such that the transferring device 10 disconnects again for the predetermined time.
[0036] In the meantime, receiving devices, such as the receiving device 12, periodically scan for and connect 114 to intermediary devices, such as the intermediary device 14. In this example, when the receiving device 12 connects 114 to the intermediary device 14, the receiving device 12 determines 116 whether the intermediary device 14 has a file transfer in progress and, if so, determines 118 whether an ID of the receiving device 12 matches an ID of a recipient of the file stored in the intermediary device 14. Using the sendee characteristics, the receiving device checks the values of characteristics (g) (fileTransferlnProgress) and (f) (idOfRecipient). If a value of (g) is true and (f) includes an ID that matches the ID of the receiving device 12, then the receiving device 12 reads 120 the first data packets, characteristic (c), and then sets the value of characteristic (d) to true. After this, the receiving device 12 disconnects 122 from the intermediary device 14 for a predetermined interval. The receiving device 12 then attempts to reconnect to the intermediary device 14 after predetermined intervals.
[0037] If the value of (g) is true, but the ID of the receiving device 12 does not match (f), the receiving device 12 disconnects 124 and does not attempt to reconnect for an extended period of time, which will be described in greater detail below. In a third situation, if the value of (g) is false, the receiving device 12 disconnects and then reconnects after a normal scan interval to again determine whether a file transfer targeted at itself has been initiated.
[0038] Meanwhile, if the file size is larger than 10 packets, the transferring device 10 periodically attempts to reconnect to the intermediary device 14. When the transferring device 10 connects 112 to the transferring device 14, the transferring device 10 checks 126 the value of characteristic (d) (nextPacket), which indicates whether the receiving device 12 has read the first data packets. If the value of (d) is true, the transferring device 10 then writes 128 the next 10 packets of data, sets the value of (d) to false, and disconnects 130. If the value of (d) is false, the transferring device 10 disconnects 132. As such, when the receiving device 12 reconnects 134 to the intermediar device 14 after the interval, the receiving device checks the value of (d). If the value of (d) is true, this indicates that the transferring device 10 has not transferred the next 10 packets of data and the receiving device disconnects for another interval. If the value of (d) is false, the receiving device 12 then goes through the process of reading 136 the packets of data and resetting the value of (d) to true again, as described above, and disconnects 138 afterward.
[0039] So configured, the transferring device 10 and the receiving device 12 periodically connect to and disconnect from the intermediary device 14 to write and read data packets respectively. This configuration advantageously overcomes the difficulties presented by the intermediary device 14 only being able to connect to one of the transferring and receiving devices 10, 12 at a time. This configuration further allows the transferring device 10 to transfer large files, e.g., greater than 2540 bytes of data, to the receiving device 12 as compared to the default settings of BLE. Moreover, as stated above, this configuration allows multiple transferring devices to transfer files to multiple receiving devices using one or more intermediary devices.
[004Θ] As set forth above, the reconnect interval times can be adaptive. This is advantageous because when one device is connected to the intermediary device 14, the other device cannot connect, which can undesirably delay file transfer times. In this adaptive approach, the transferring device 10 changes the times between connections to the intermediary device 14 to provide progressively longer times for the receiving device 12 to content to the intermediary device 14 and read the data packets. When the transferring device 10 first reconnects to the intermediary device 14 after writing the data, packets, the transferring device 10 can use a predetermined interval, such as seconds up to minutes or hours (e.g., 5 seconds to 60 seconds, and more particularly about 10 seconds, 5 minutes, etc.). If desired, the transferring device 10 can use the predetermined interval for a number of first connections. After the first connection or first series of connections, the transferring device 10 periodically increases the interval time between reconnections attempts, for example, by one or more seconds, minutes, or hours (e.g., 1 second - 10 seconds, and preferably about 1 second, etc.). By a further approach, the transferring device 10 can be configured to cancel the transfer and/or notify end users of the problem after a predetermined period. For example, if after a predetermined transfer period, e.g., 60 minutes, has elapsed and the receiving device 10 has not read the data packets from the intermediary device, the transferring device 10 can cancel the transfer and/or notify end users of the problem, such as by outputting a notification on the user device.
[0041] Additionally, if the receiving device 12 reads the data packets, the transferring device 10 can use the time period between its last connection and the time at which the receiving device 12 changed the value of characteristic (d) (nextPacket). More specifically, based on this reading time period, the transferring device 10 can correspondingly increase or decrease the length of the predetermined time interval after the transferring device writes the next packets and disconnects from the intermediary device 14. For example, if reading time period is shorter than a current value for the predetermined time interval, the transferring device 10 can shorten the time interval a preset amount or to match the reading time period. If the reading time period is longer than an expected reading time, the transferring device 10 can lengthen the time interval. This adaptive mechanism allows for optimizing the data transfer speeds between the transferring device 10 and the receiving device 12.
[0042] When transferring or receiving devices connect to the intermediary device 14 and determine that the intermediary device 14 is currently facilitating a file transfer and that the connecting device is not a parly to the file transfer, the connecting device can avoid reconnecting to the intermediary device for an extended time period, such as by setting an extended timer as compared to a normal interval, so that the file transfer is allowed to progress without unnecessary interference from the connecting device. By one approach, the connecting device can set a timer using a characteristic set by the transferring device 10. For example, the intermediary device 14 can advertise another service characteristic that is set by the transferring device 10 on the estimated time remaining for the transfer to complete, which can be calculated based on the size of the file to be transferred, the remaining packets to be read by the receiving device, and or average reading times by the receiving device 12.
[0043] As previously discussed, the transfer method described above can advantageously be used in a retail setting to update digital signage at the retail location. By one approach as shown in FIG. 2, a user at a retail outlet can remotely access an advertising file from a file service, such as via software operating on the user device to access a website and/or a server device or database 46 hosted by the controlling entity. The user device can connect to the file service over any suitable communication network 48, such as cellular, Internet, or the like, and select a desired or required advertising file via the user input so that signage at the retail location can be updated. As discussed above, headquarters or other central directing entities can direct individual retail locations to follow advertising campaigns, which can require lengthy file transfers and signage updates, especially in remote locations where internet access is slow, unreliable, or absent. Of course, the central directing entity can be a third party acting at the behest of the headquarters. The file service can be utilized by headquarters to track individual retail locations to determine which locations have accessed the file sendee and/or downloaded an advertising campaign, which is described in more detail below. For example, the file service can require that individual members have unique sign-in information, so that actions within the file service can be tracked and stored.
[0044] As previously discussed, So configured, in a retail setting, a user can log into the file service, which can include sending identification information of a particular retail location to the file service, to determine whether there are new display or signage files available, which can include images and/or video files. Alternatively, or in addition thereto, the file service can notify the user when new files are available with a message, which can be an email message, a text message, a voice message, or the like, sent to the user device. If there are new files, which can include one or more campaign options, the user chooses a desired file and downloads the new file via selection through the user input from the server device or database 46. After the file downloads, the user runs software on the user device that is configured to perform the transferring device side of the method described above. More specifically, the user can select an intended receiving device or devices and one or more files to transfer. In response to receiving this instruction, the user device searches for an intermediary device, as set forth above. The intermediary device or devices can be mounted or installed directly in the intended displays or installed at desired locations throughout the retail location. As such, displays, such as televisions or kiosks can be quickly and easily updated with advertising so that after the receiving device receives the data from the transferring device via the intermediary device, the receiving device can display any images and/or video files on the displays.
[0045] In one approach, the software operating on the user device 10 can be an application ("app") that is configured to obtain data files and facilitate the transfer of the data files between the user device 10 and the receiving device 12 using the intermediary device 14 as a hub as set forth above. The user can obtain the app through an online store or database and/or can be sent a file to download and install from the controlling entity as desired. The app can be configured remotely connect to the file service, which, in the retail setting can be a website or server 46 hosted by the headquarters or other central entity, to provide files to update the receiving device or devices. The files are remotely stored on a server or database 46 by the central directing entity or a third party and the app can be configured to access and download the files therefrom over any suitable network, including an internet connection, a cellular network, or the like. The app can be configured to download the files on an instruction by the user to conserve memory on the user device, can be configured to download the files to the user device 10 as they become available so that the files are immediately available of a memory of the user device 10 when needed, or a combination thereof.
[0046] The app can also advantageously be configured to report back to the central entity so that the central entity can track compliance. The app can require that a user or retail location register with the central entity, so that all actions taken using the app can be tracked and logged for a specific location. The user can be assigned a unique ID code, can use a retail specific code, such as a dealership code, or the like. As such, the user can input this code into the app prior to use to log the user into the file service. The app can then track which files the user device downloads and at what time. Moreover, the app can track downstream actions and report the actions and times back to the central entity. As such, the central entity can compile information including which advertising campaigns a retail outlet has download, whether the files were transferred to displays, the times when these actions were taken, and the time lapsed during download and transfer. This functionality can be automatically configured in the app.
[0047] In order to prevent unwanted connections to the intermediary devices, the app can further be configured to provide authorization information to the intermediary device for connecting thereto. In use, the user can choose an intermediary device to connect to in response to the user device receiving the service broadcast therefrom or the user device can automatically attempt to connect thereto. By one approach, attempting to connect to the intermediaiy device can prompt a code input into which the user can input the ID code discussed above or other code to authenticate the user device with the intermediary device. By another approach, the app can automatically transmit the ID code or other authentication information to the intermediary device for authentication.
[0048] So configured, in a single brand retail location setting, such as in a car dealership, a user operating a smart phone or tablet device can download, install, and open the app on the user device. The user then inputs the retail location's ID code or the ID code can be previously- entered therein. The app then accesses the remote server of the central entity or a memory on the device to display one or more options for updated advertising files. The user selects a desired file and, if necessary, the app downloads the file onto a memory of the device. The app can then optionally transmit this selection back to the central entity. The user then selects a desired receiving device, which can be pre-associated with the app through a previous connection, can be identified by a user inputting identification information of the receiving device, such as a serial number, assigned code, or the like, or can be selected based on a signal broadcast by the receiving device. In one approach, the app can provide drag-and-drop functionality to drag the desired file to an icon identifying an intended receiving device. The app then searches for an available intermediary device and connects thereto. The transfer method then proceeds as discussed above until the entire file is transferred to the receiving device. The app can then optionally report the successful transfer back to the central entity and the associated retail location.
[0049] In a multiple brand setting, such as a convenience store, the app can provide additional advantages over the current options. In this setting, a retail location can include digital signage that displays various brand advertisements. Access to these displays and the network of the retail location can be limited for an outside entity brand manager trying to get an advertisement of the brand displayed. Advantageously, the receiving device and method described herein can bypass needing access to the store network. In this setting, the user accesses the app and desired file or files as described above and selects a receiving device. Authenticating the user with the intermediary device can happen automatically through the app, or the retail location can have a location specific code that is provided to the user. After a connection is established with the intermediary device and the receiving device is identified, the data transfer process proceeds as described above.
[0050] It should be understood that the above disclosure fully supports all of the following.
[0051] A computer implemented method for transferring data via Bluetooth Low Energy ("BLE") from a transferring device to a receiving device acting in central roles is provided herein. The method includes connecting to an intermediar device with the transferring device; sending first data packets of a file and recipient device identification information to the intermediary device with the transferring device; disconnecting from the intermediary device with the transferring device; connecting to the intermediary device with the receiving device; determining whether the recipient device identification information matches identification information of the receiving device; and reading the first data packets of the file in response to determining that the recipient device identification information matches the identification information of the receiving device. The method can further include determining the number of packets in the file with the transferring device, setting a file transfer value at the intermediary device to indicate that a file transfer is in progress with the transferring device; and/or reconnecting to the intermediary device using an adaptive reconnection time interval algorithm based on actions of the receiving device. By a further approach, the method can include setting a next packet value at the intermediary device with the receiving device to indicate to the transferring device that the receiving device has read the first data packets, sending second data packets of the file to the intermediary device with the transferring device, and changing the file transfer value at the intermediary device with the transferring device to indicate to the receiving device that new data, packets are available.
[0052] A computer implemented method for facilitating a transfer of data via Bluetooth Low Energy from a transferring device to a receiving device acting in central roles is also provided herein. The method includes broadcasting a service having characteristics with an intermediary device; connecting to a transferring device; setting a data identification information characteristic for the data to be transferred; writing first data packets to a data packet characteristic; setting a ready characteristic to inform the receiving device that the first data packets are ready to be read; and setting a receiving device ID characteristic. The method can further include disconnecting from the transferring device; connecting to the receiving device; enabling the receiving device to read the first data packets from the data, packet characteristic; setting a next packet characteristic to inform the transferring device that the receiving device read the first data packets. Additionally, the method can include disconnecting from the receiving device; connecting to the transferring device; writing second data packets to the data packet characteristic; setting the ready characteristic to inform the receiving device that the second data packets are ready to be ready; and setting the next packet characteristic to inform the receiving device that there is new data to read. An intermediary device that facilitates data transfer between a first communicating device and a second communicating device is further provided herein and includes a control circuit; and a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of any of the methods described above.
[0053] A computer implemented method for updating digital signage at a retail location by- transferring updated signage data from a transferring device to a receiving device at the digital Signage acting in central roles via an intermediary device using Bluetooth Low Energy is also provided herein. The method includes accessing updated signage data with the transferring device; receiving a selection of the receiving device as an intended recipient of the updated signage data from a user input of the transferring device; connecting to the intermediary device and sending first data packets and recipient device identification information of the intended recipient to the intermediary device with the transferring device; connecting to the intermediary device with the receiving device, determining whether the recipient device identification information matches identification information of the receiving device, and reading the first data packets of the updated signage data in response to determining that the recipient device identification information matches the identification information of the receiving device;
connecting to the intermediary device and sequentially sending subsequent groups of data packets of the updated signage data with the transferring device until all of the updated signage data is sent; connecting to the intermediary device and sequentially reading the subsequent groups of data packets of the updated signage with the receiving device until the receiving device has received all of the updated signage data; displaying updated signage contained in the updated signage data on a display connected to the receiving device. The method can further include sending retail identification information to a file service of a controlling entity; receiving notification from the file service that the updated signage data is available; and downloading the updated signage data.
[0054] An inter device communication system is also provided herein that includes a transferring device; a receiving device; and an intermediary device in communication with the transferring device and the receiving device for facilitating data transfer between the transferring device and the receiving device. The intermediary device can be configured to connect to the transferring device and receive first data packets and receiving device identification information therefrom and connect to the receiving device to provide the first data packets thereto in response to identification information of the receiving device matching the receiving device identification information. The intermediary device can further be configured to alternate between connecting to the transferring device and the receiving device to transfer portions of a data file from the transferring device to the receiving device until an entirety of the data file has been transferred. The receiving device can include a display such that upon receiving the data from the transferring device via the intermediary device, the display is configured to display an image or video from the data. The intermediary device can further be configured to broadcast a service having one or more of the following characteristics: a file identification and type characteristic; a file size characteristic; a data packet characteristic; a data packet received characteristic; a data packet ready for transfer characteristic; a receiving device identification characteristic; a file transfer in progress characteristic; and a file transfer time remaining characteristic.
[0055] An inter device communication system for more efficiently transferring data via the BLE standard is also provided herein that includes means for monitoring for devices desiring to communicate via the BLE standard; and means for receiving BLE communicated data from a first device and sending the BLE communicated data to a second device.
[0056] A method of software operating a communication device to transfer data is also provided herein. The method includes running an application on the communication device; receiving a selection of a file to transfer via a user input of the communication device; receiving a selection of a receiving device via the user input of the communication device; scanning for an intermediary device; connecting to the intermediary device; transferring first data packets of the file to the intermediary device for reading by the receiving device. The method can further include authenticating the communication device with the intermediary device for connection thereto; downloading and installing the application on the communication device; and/or sending records of actions taken by the communication device to a remote entity server device. By a further approach, the method can include accessing a remote server and downloading the file from the remote server device, wherein downloading the file from the remote server device is a passive action at the behest of a selection via the user input of the communication device and/or is an active action performed automatically in response to a new file being available at the remote server device. A first communication device that is configured to transfer data to a second communicating device through an intermediary device is further provided that includes a control circuit; and a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of any of the above methods.
[0057] An intermediary device that facilitates data transfer between first and second transmitting devices and a receiving device. By one approach, the intermediary device includes a control circuit and a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform steps. The steps can include: connecting to the first transmitting device; receiving a first data transmission from the first transmitting device; disconnecting from the first transmitting device; connecting to the receiving device; sending the first data transmission to the receiving device; disconnecting from the receiving device; connecting to the second transmitting device; receiving a second data transmission from the second transmitting device; disconnecting from the second transmitting device; reconnecting to the receiving device; and sending the second data transmission to the receiving device.
[0058] An inter device communication system that includes first and second transmitting devices, a receiving device, and an intermediary device in communication with the first and second transmitting devices and the receiving device. The intermediary device is configured for facilitating data transfer between the first and second transmitting devices and the receiving device, wherein the intermediary device is configured to connect to the first transmitting device and receive a first data transmission, connect to the receiving device to provide the first data transmission thereto, subsequently connect to the second transmitting device and receive a second data transmission, and connect to the receiving device to provide the second data transmission thereto.
[0059] The intermediary device can also be configured to alternate between connecting to the first and second transmitting devices and the receiving device therebetween to transfer data from both the first and second transmitting devices to the receiving device.
[0060] An intermediary device configured to facilitate data transfer between communication devices over a Bluetooth protocol. The intermediary device can include a control circuit, a transmitter, and a receiver. The control circuit can be configured to operate the transmitter to broadcast a Bluetooth service identifying the intermediary device to receptive communication devices and operate the receiver and transmitter to receive and transmit data transmissions from a first communication device to a second communication device.
[0061] By one approach, the first and second communication devices cannot connect directly to one another. By another approach, the intermediary device can further be configured to receive data transmissions from a third communication device and transmit the data transmissions to the second communication device after transmitting the data transmissions from the first communication device. |Ό062] An intermediary device for facilitating Bluetooth communication between first and second Bluetooth enabled electronic devices that are incapable of communication directly with one another. The intermediary device can include a network interface configured for wirelessly receiving data from a first Bluetooth enabled device and wirelessly relaying the data to a second Bluetooth enabled device, the first and second Bluetooth enabled devices being incapable of communicating directly with one another; and a control circuit coupled to the network interface. The control circuit can be configured to: receive data from the first Bluetooth enabled device; and be configured to indicate when the control circuit is ready to receive more data from the first Bluetooth enabled device so that the first Bluetooth enabled device knows it can transmit more data; and when the control circuit is ready to transfer the data to the second Bluetooth enabled device so that the second Bluetooth enabled device knows when data is ready to be transferred.
[0063] By one approach, the second Bluetooth enabled device can further send data to the first Bluetooth enabled device through the intermediary device. By a further approach, the first and second Bluetooth enabled devices are first and second Bluetooth low energy centrals, respectively, incapable of communicating directly with one another and the intermediary device is a Bluetooth low energy peripheral. In this case, the control circuit can further be configured to indicate when the control circuit is in the process of communicating with one of the first and second Bluetooth enabled devices so that the other of the first and second Bluetooth enabled devices does not try to communicate with the intermediary device either while this communication is ongoing or for a predetermined period of time.
[0064] A computer program product embodied in a machine-readable non-transitory storage medium including instructions executable by a processor and configured to cause the processor to perform operations. The operations can include: pairing an intermediary device with a first Bluetooth enabled device that wishes to transfer data to a second Bluetooth enabled device but cannot directly communicate with the second Bluetooth enabled device; receiving at the intermediary device data from the first Bluetooth enabled device; pairing the intermediary device with the second Bluetooth enabled device; and transferring data from the intermediary device to the second Bluetooth enabled device.
[0065] A computer program product embodied in a machine-readable non-transitory storage medium including instructions executable by a processor and configured to cause the processor to perform the operations of any one of the methods described herein. [0066] The matter set forth in the foregoing description and accompanying drawings is offered by way of illustration only and not as a limitation. While particular embodiments have been shown and described, it will be apparent to those skilled in the art that changes and modifications may be made without departing from the broader aspects of applicants' contribution. The actual scope of the protection sought is intended to be defined in the following claims when viewed in their proper perspective based on the prior art.

Claims

CLAIMS What is claimed is:
1. A computer implemented method for transferring data via Bluetooth Low Energy ("BLE") from a transferring device to a receiving device acting in central roles, the method comprising: connecting an intermediary device to the transferring device;
sending first data packets of a file and recipient device identification information to the intermediary device with the transferring device;
disconnecting the intermediary device from the transferring device;
connecting the intermediary device to the receiving device;
determining whether the recipient device identification information matches identification information of the receiving device;
reading the first data packets of the file in response to determining that the recipient device identification information matches the identification information of the receiving device.
2. The computer implemented method of claim 1 further comprising determining the number of packets in the file with the transferring device.
3. The computer implemented method of claim 1 further comprising determining whether the intermediary device is already conducting a file transfer with the transferring device.
4. The computer implemented method of claim 1 further comprising setting a file transfer value at the intermediary device to indicate that a file transfer is in progress with the transferring device.
5. The computer implemented method of claim 4 further comprising determining whether the file transfer is in progress with the receiving device by checking a file transfer value.
6. The computer implemented method of claim 5 further comprising changing the file transfer value to indicate to connecting devices that a file transfer is not in progress in response to the receiving device reading all data packets of the file.
7. The computer implemented method of claim 1 further comprising setting a next packet value at the intermediary device with the receiving device to indicate to the transferring device that the receiving device has read the first data packets.
8. The computer implemented method of claim 7 further comprising sending second data packets of the file to the intermediary device with the transferring devi ce.
9. The computer implemented method of claim 8 further comprising changing the file transfer value at the intermediary device with the transferring device to indicate to the receiving device that new data packets are available.
10. The computer implemented method of claim 1 further comprising disconnecting from the intermediary device for an extended period of time in response to determining that the recipient device identification information does not match identification information of the receiving device.
11. The computer implemented method of claim 1 further comprising reconnecting to the intermediary device using an adaptive reconnection time interval algorithm based on actions of the receiving device.
12. A computer implemented method for facilitating a transfer of data via Bluetooth Low Energy from a transferring device to a receiving device acting in central roles, the method comprising: broadcasting a service having characteristics with an intermediary device;
connecting to a transferring device;
setting a data identification information characteristic for the data to be transferred;
writing first data packets to a data packet characteristic; setting a ready characteristic to inform the receiving device that the first data packets are ready to be read; and
setting a receiving device ID characteristic.
13. The computer implemented method of claim 12 further comprising:
disconnecting from the transferring device;
connecting to the receiving device;
enabling the receiving device to read the first data packets from the data packet characteristic;
setting a next packet characteristic to inform the transferring device that the receiving device read the first data packets.
14. The computer implemented method of claim 13 further comprising:
disconnecting from the receiving device;
connecting to the transferring device;
writing second data packets to the data packet characteristic;
setting the ready characteristic to inform the receiving device that the second data packets are ready to be ready; and
setting the next packet characteristic to inform the receiving device that there is new data to read.
15. The computer implemented method of claim 14 further comprising:
connecting to a third party device;
disconnecting from the third party device in response to the third party device determining that an ID in the receiving device ID characteristic does not match an ID of the third party device.
16. The computer implemented method of claim 12 wherein setting the data identification information characteristic comprises setting a data ID characteristic and setting a size characteristic for the data to be transferred.
17. The computer implemented method of claim 12 setting file transfer progress characteristic to inform connecting devices that the data transfer is in progress.
18. A computer implemented method for updating digital signage at a retail location by transferring updated signage data from a transferring device to a receiving device at the digital signage acting in central roles via an intermediary device using Bluetooth Low Energy, the method comprising:
accessing updated signage data with the transferring device;
receiving a selection of the receiving device as an intended recipient of the updated signage data from a user input of the transferring device;
connecting to the intermediary device and sending first data packets and recipient device identification information of the intended recipient to the intermediary device with the transferring device;
connecting to the intermediary device with the receiving device, determining whether the recipient device identification information matches identification information of the receiving device, and reading the first data packets of the updated signage data in response to determining that the recipient device identification information matches the identification information of the receiving device;
connecting to the intermediary device and sequentially sending subsequent groups of data packets of the updated signage data with the transferring device until all of the updated signage data is sent;
connecting to the intermediary device and sequentially reading the subsequent groups of data packets of the updated signage with the receiving device until the receiving device has received all of the updated signage data;
displaying updated signage contained in the updated signage data on a display connected to the receiving device.
19. The computer implemented method of claim 18 further comprising:
sending retail identification information to a file service of a controlling entity;
receiving notification from the file sendee that the updated signage data is available; and downloading the updated signage data.
20. An inter device communication system comprising:
a transferring device;
a receiving device;
an intermediary device in communication with the transferring device and the receiving device for facilitating data transfer between the transferring device and the receiving device, wherein the intermediary device is configured to connect to the transferring device and receive first data packets and receiving device identification information therefrom and connect to the receiving device to provide the first data packets thereto in response to identification information of the receiving device matching the receiving device identification information.
21. The inter device communication system of claim 20 wherein the intermediary device is configured to alternate between connecting to the transferring device and the receiving device to transfer portions of a data file from the transferring device to the receiving device until an entirety of the data file has been transferred.
22. The inter device communication system of claim 20 wherein the transferring device is a mobile communication device.
23. The inter device communication system of claim 20 wherein the receiving device further includes a display such that upon receiving the data from the transferring device via the intermediary device, the display is configured to display an image or video from the data.
24. The inter device communication system of claim 20 wherem the intermediary device is configured to broadcast a sen/ ice having one or more of the following characteristics:
a file identification and type characteristic;
a file size characteristic;
a data packet characteristic;
a data packet received characteristic;
a data packet ready for transfer characteristic;
a receiving device identification characteristic; and
a file transfer in progress characteristic.
25. The inter device communication system of claim 24 wherein the service of the intermediary device further includes a file transfer time remaining characteristic.
26. An intermediary device that facilitates data transfer between a first communicating device and a second communicating device, the intermediary device comprising:
a control circuit; and
a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of:
broadcasting a service to inform the first and second communicating devices of connection capabilities;
connecting to the first communicating device;
receiving data identification information for data to be transferred; receiving first data packets of the data to be transferred;
receiving a receiving device identification information;
disconnecting from the first communication device;
connecting to the second communication device;
providing the first data packets to the second communication device in response to identification information of the second communication device matching the receiving device identif icati on information.
27. The intermediary device of claim 26 wherein the non-transitory computer readable memory further stores a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of:
disconnecting from the transferring device;
connecting to the receiving device;
enabling the receiving device to read the first data packets from the data packet characteristic;
setting a next packet characteristic to inform the transferring device that the receiving device read the first data packets.
28. The intermediary device of claim 27 wherein the non-transitory computer readable memory further stores a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of:
disconnecting from the receiving device;
connecting to the transferring device;
writing second data packets to the data packet characteristic;
setting the ready characteristic to inform the receiving device that the second data packets are ready to be ready; and
setting the next packet characteristic to inform the receiving device that there is new data to read.
29. The intermediary device of claim 28 wherein the non-transitory computer readable memory further stores a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of:
connecting to a third party device;
disconnecting from the third party device in response to the third party device determining that an ID in the receiving device ID characteristic does not match an ID of the third party device.
30. The intermediary device of claim 26 wherein setting the data identification information characteristic comprises setting a data ID characteristic and setting a size characteristic for the data to be transferred.
31. The intermediary device of claim 26 setting file transfer progress characteristic to inform connecting devices that the data transfer is in progress.
32. An inter device communication system for more efficiently transferring data via the BLE standard comprising:
means for monitoring for devices desiring to communicate via the BLE standard; and means for receiving BLE communicated data from a first device and sending the BLE communicated data to a second device.
33. A method of software operating a communication device to transfer data, the method comprising:
running an application on the communication device:
receiving a selection of a file to transfer via a user input of the communication device; receiving a selection of a receiving device via the user input of the communication device;
scanning for an intermediary device;
connecting to the intermediary device;
transferring first data packets of the file to the intermediary device for reading by the receiving device.
34. The method of claim 33 further comprising authenticating the communication device with the intermediary device for connection thereto.
35. The method of claim 34 wherein authenticating the communication device comprises receiving an identification code via the user input of the communication device.
36. The method of claim 33 further comprising downloading and installing the application on the communication device.
37. The method of claim 33 further comprising accessing a remote server and downloading the file from the remote server device.
38. The method of claim 37 wherein downloading the file from the remote server device is a passive action at the behest of a selection via the user input of the communication device.
39. The method of claim 37 wherein downloading the file from the remote server is an active action performed automatically in response to a new file being available at the remote server device.
40. The method of claim 33 further comprising sending records of actions taken by the communication device to a remote entity server device.
41. A first communication device that is configured to transfer data to a second communicating device through an intermediary device, the first communication device comprising:
a control circuit: and
a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of the method of any one of claims 33-40.
42. An intermediary device that facilitates data transfer between first and second transmitting devices and a receiving device, the intermediary device comprising:
a control circuit; and
a non-transitory computer readable memory storing a set of instructions executable by the control circuit and configured to cause the control circuit to perform the steps of:
connecting to the first transmitting device;
receiving a first data transmission from the first transmitting device; disconnecting from the first transmitting device;
connecting to the receiving device;
sending the first data transmission to the receiving device;
disconnecting from the receiving device;
connecting to the second transmitting device;
receiving a second data transmission from the second transmitting device;
disconnecting from the second transmitting device;
reconnecting to the receiving device; and
sending the second data transmission to the receiving device.
43. The intermediary device of claim 42 further comprising a common housing with the intermediary device and receiving device disposed therein.
44. An inter device communication system comprising:
first and second transmitting devices;
a receiving device;
an intermediary device in communication with the first and second transmitting devices and the receiving device for facilitating data transfer between the first and second transmitting devices and the receiving device, wherein the intermediary device is configured to connect to the first transmitting device and receive a first data transmission, connect to the receiving device to provide the first data transmission thereto, subsequently connect to the second transmitting device and receive a second data transmission, and connect to the receiving device to provide the second data transmission thereto.
45. The inter device communication system of claim 44 wherein the intermediary device is configured to alternate between connecting to the first and second transmitting devices and the receiving device therebetween to transfer data from both the first and second transmitting devices to the receiving device.
46. The inter device communication system of claim 44 wherein the first and second transmitting devices are mobile communication devices.
47. The inter device communication system of claim 44 wherein the receiving device further includes a display such that upon receiving the data from the transferring device via the intermediary device, the display is configured to display an image or video from the data.
48. An intermediary device configured to facilitate data transfer between communication devices over a Bluetooth protocol, the intermediary device comprising:
a control circuit;
a transmitter; and
a receiver;
wherein the control circuit is configured to operate the transmitter to broadcast a Bluetooth service identifying the intermediary device to receptive communication devices and operate the receiver and transmitter to receive and transmit data transmissions from a first communication device to a second communication device.
49. The intermediary device of claim 48 wherein the first and second communication devices cannot connect directly to one another.
50. The intermediary device of claim 48 wherein the intermediary device is further configured to receive data transmissions from a third communication device and transmit the data transmissions to the second communication device after transmitting the data transmissions from the first communication device.
51. An intermediary device for facilitating Bluetooth communication between first and second Bluetooth enabled electronic devices that are incapable of communication directly with one another, comprising:
a network interface configured for wirelessly receiving data from a first Bluetooth enabled device and wirelessly relaying the data to a second Bluetooth enabled device, the first and second Bluetooth enabled devices being incapable of communicating directly with one another; and
a control circuit coupled to the network interface and configured to:
receive data from the first Bluetooth enabled device; and
indicate:
when the control circuit is ready to receive more data from the first Bluetooth enabled device so that the first Bluetooth enabled device knows it can transmit more data; and
when the control circuit is ready to transfer the data to the second Bluetooth enabled device so that the second Bluetooth enabled device knows when data is ready- to be transferred.
52. The intermediary device of claim 51 wherein the first and second Bluetooth enabled devices are first and second Bluetooth low energy centrals, respectively, incapable of communicating directly with one another and the intermediary device is a Bluetooth low energy peripheral, the control circuit further configured to indicate when the control circuit is in the process of communicating with one of the first and second Bluetooth enabled devices so that the other of the first and second Bluetooth enabled devices does not try to communicate with the intermediary device either while this communication is ongoing or for a predetermined period of time.
53. A computer program product embodied in a machine-readable non-transitory storage medium including instructions executable by a processor and configured to cause the processor to perform operations comprising:
pairing an intermediary device with a first Bluetooth enabled device that wishes to transfer data to a second Bluetooth enabled device but cannot directly communicate with the second Bluetooth enabled device;
receiving at the intermediary device data, from the first Bluetooth enabled device;
pairing the intermediary device with the second Bluetooth enabled devi ce; and transferring data from the intermediary device to the second Bluetooth enabled device.
54. A computer program product embodied in a machine-readable non-transitory storage medium including instructions executable by a processor and configured to cause the processor to perform the operations of any one of claims 1-19 and 33-40.
PCT/US2016/035164 2015-06-01 2016-06-01 Method and apparatus for bluetooth communication WO2016196556A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562169288P 2015-06-01 2015-06-01
US62/169,288 2015-06-01

Publications (1)

Publication Number Publication Date
WO2016196556A1 true WO2016196556A1 (en) 2016-12-08

Family

ID=57441580

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/035164 WO2016196556A1 (en) 2015-06-01 2016-06-01 Method and apparatus for bluetooth communication

Country Status (1)

Country Link
WO (1) WO2016196556A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351404A (en) * 2019-08-08 2021-02-09 上海擎感智能科技有限公司 Bluetooth connection method and device and vehicle machine
TWI736123B (en) * 2019-06-28 2021-08-11 開曼群島商創新先進技術有限公司 BLE communication method, device, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100304674A1 (en) * 2009-06-01 2010-12-02 Samsung Electronics Co. Ltd. System and method for connecting bluetooth devices
US20130217332A1 (en) * 2012-02-22 2013-08-22 Qualcomm Incorporated Platform for Wireless Identity Transmitter and System Using Short Range Wireless Broadcast
US20130316649A1 (en) * 2012-05-26 2013-11-28 Adam E. Newham Smart pairing using bluetooth® technology
EP2750414A1 (en) * 2012-12-03 2014-07-02 Samsung Electronics Co., Ltd Information providing method and mobile terminal therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100304674A1 (en) * 2009-06-01 2010-12-02 Samsung Electronics Co. Ltd. System and method for connecting bluetooth devices
US20130217332A1 (en) * 2012-02-22 2013-08-22 Qualcomm Incorporated Platform for Wireless Identity Transmitter and System Using Short Range Wireless Broadcast
US20130316649A1 (en) * 2012-05-26 2013-11-28 Adam E. Newham Smart pairing using bluetooth® technology
EP2750414A1 (en) * 2012-12-03 2014-07-02 Samsung Electronics Co., Ltd Information providing method and mobile terminal therefor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI736123B (en) * 2019-06-28 2021-08-11 開曼群島商創新先進技術有限公司 BLE communication method, device, equipment and storage medium
CN112351404A (en) * 2019-08-08 2021-02-09 上海擎感智能科技有限公司 Bluetooth connection method and device and vehicle machine
CN112351404B (en) * 2019-08-08 2022-08-16 上海擎感智能科技有限公司 Bluetooth connection method and device and vehicle machine

Similar Documents

Publication Publication Date Title
US10313961B2 (en) Method for transmitting and receiving signals in proximity network and electronic device thereof
US9497612B2 (en) Low power wireless device discovery
CN101163154B (en) Apparatus for advertising a user interface for configuring, controlling and/or monitoring a service
CN107148787B (en) Discovery method and electronic equipment thereof
US7057591B1 (en) Advertising using an eBook with a bistable display
US9191133B2 (en) Multimedia data distribution system and operating method thereof
US20170238126A1 (en) Sensor for acquiring sensing data in disconnected state, intelligent device, and method
WO2015074536A1 (en) Intelligent television and upgrading method and apparatus thereof
US20160021500A1 (en) Method of processing beacon of electronic device and electronic device thereof
US20150245276A1 (en) Topology management method and network system performing the same
JP2011520318A (en) Apparatus and method for widget intercommunication in a wireless communication environment
WO2010006095A2 (en) Service discovery methods
FI126634B (en) Method and technical apparatus for short - distance communication
KR102516019B1 (en) Electronic apparatus and method for communicating with an external electronic device
US20120117593A1 (en) System and Method of Delivering Advertisements to a Mobile Communication Device
KR20170001429A (en) A service providing method using a beacon and electronic apparatus thereof
CN104980326A (en) Method and device for sharing application content between terminal equipment
CN110855534B (en) Method and apparatus for searching and controlling controllee in smart home system
WO2019051849A1 (en) Method and device for subscribing message, computer apparatus, and computer storage medium
TW201941623A (en) Internet of things system and method for pushing message
WO2016196556A1 (en) Method and apparatus for bluetooth communication
CA3044901C (en) Methods and systems for affirmation of a bluetooth(r) pairing
KR102202589B1 (en) Check-in server, media platform server and media play device for providing customized contents
US20110093566A1 (en) Method for providing content download service and terminal apparatus applying the same
KR20170083762A (en) Method and apparatus for short range wireless communication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16804281

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16804281

Country of ref document: EP

Kind code of ref document: A1