U.S. patent application number 14/705104 was filed with the patent office on 2016-09-01 for methods and apparatus for efficiently communicating time varying data.
The applicant listed for this patent is M87, Inc.. Invention is credited to Vidur Bhargava, Christine Julien, Jonas Michel.
Application Number | 20160255556 14/705104 |
Document ID | / |
Family ID | 56789929 |
Filed Date | 2016-09-01 |
United States Patent
Application |
20160255556 |
Kind Code |
A1 |
Michel; Jonas ; et
al. |
September 1, 2016 |
METHODS AND APPARATUS FOR EFFICIENTLY COMMUNICATING TIME VARYING
DATA
Abstract
Methods and apparatus for supporting efficient communications of
time varying data are described. A wireless device transmits a
first identifier, e.g., an LTED OTACode, via a first network
interface, said first identifier corresponding to first information
that is available via the first network, said first information
indicating a source of first time varying data and a description of
the first time varying data. The wireless device further transmits
a second identifier, e.g., a hash value, via a second network
interface, e.g., via a WIFI, BT, or BLE network interface,
corresponding to a second network, the second identifier
corresponding to the first time varying data. The wireless device
receives a request including said second identifier, and in
response transmits the first time varying data.
Inventors: |
Michel; Jonas; (Austin,
TX) ; Bhargava; Vidur; (Austin, TX) ; Julien;
Christine; (Austin, TX) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
M87, Inc. |
Austin |
TX |
US |
|
|
Family ID: |
56789929 |
Appl. No.: |
14/705104 |
Filed: |
May 6, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62121386 |
Feb 26, 2015 |
|
|
|
Current U.S.
Class: |
455/456.3 |
Current CPC
Class: |
H04B 7/15 20130101; H04W
28/14 20130101; H04W 36/14 20130101; H04J 11/00 20130101; H04W
88/04 20130101; H04W 84/12 20130101; H04W 40/244 20130101; H04W
48/12 20130101; H04L 47/17 20130101; H04W 4/029 20180201 |
International
Class: |
H04W 36/14 20060101
H04W036/14; H04W 4/02 20060101 H04W004/02 |
Claims
1. (canceled)
2. A method of operating a first device to communicate information,
the method comprising: operating a first transmitter in a first
network interface corresponding to a first network to transmit a
first identifier, said first identifier corresponding to first
information that is available via the first network, said first
information indicating a source of first time varying data and a
description of the first time varying data, wherein the first
network is a network which includes one or more devices which
broadcast expression identifiers which can be resolved to other
information using information mapping expression identifiers to
expressions, said first identifier being an expression identifier
transmitted on the first network which resolves to said first
information, said first information and said first identifier are
static and remain unchanged during a first period of time during
which said first time varying data changes; and operating a second
transmitter in a second network interface corresponding to a second
network to transmit a second identifier, the second identifier
corresponding to the first time varying data.
3. The method of claim 2, wherein the first identifier is assigned
by a first network entity responsible for providing said first
information in response to a resolution request sent over of the
first network.
4. (canceled)
5. The method of claim 2, wherein said first information includes
said second identifier.
6. The method of claim 5, wherein the first network interface is a
device to device cellular network interface and wherein said second
network interface is a non-cellular device to device network
interface.
7. The method of claim 5 further comprising: transmitting with said
second identifier first distance information indicating distance
from a provider of said first time varying data.
8. The method of claim 7, wherein said first distance information
is one of a number of hops to the source of said first time varying
data or a number of hops to a device including a valid copy of said
first time varying data.
9. The method of claim 7, further comprising: transmitting with
said second identifier second maximum propagation information
indicating a number of hops said second identifier is to be
propagated from the source of said first time varying data.
10. The method of claim 9, further comprising: operating the source
of said first time varying data to communicate said first time
varying data to a server responsible for providing said first time
varying data in response to requests received by said server via an
Internet interface or a second network interface.
11. The method of claim 10, wherein said first time varying data is
communicated to said server in response to a request for said first
time varying data received from said server following receipt by
said server for said first time varying data of a request for said
first time varying data from another device.
12. The method of claim 9, further comprising: transmitting said
first time varying data to a user equipment device via said second
network interface in response to a request received for said first
time varying information from said user equipment device via said
second network interface.
13. (canceled)
14. A first wireless device comprising: a first network interface
corresponding to a first network, said first network interface
including a first transmitter configured to transmit a first
identifier, said first identifier corresponding to first
information that is available via the first network, said first
information indicating a source of first time varying data and a
description of the first time varying data, wherein the first
network is a network which includes one or more devices which
broadcast expression identifiers which can be resolved to other
information using information mapping expression identifiers to
expressions, said first identifier being an expression identifier
transmitted on the first network which resolves to said first
information and wherein said first information and said first
identifier are static and remain unchanged during a first period of
time during which said first time varying data changes; and a
second network interface corresponding to a second network, said
second network interface including a second transmitter configured
to transmit a second identifier, the second identifier
corresponding to the first time varying data.
15. The wireless device of claim 14, wherein said first information
includes said second identifier.
16. The wireless device of claim 15, wherein the first network
interface is a device to device cellular network interface and
wherein said second network interface is a non-cellular device to
device network interface.
17. The wireless device of claim 15 further comprising: a module
configured to transmit with said second identifier first distance
information indicating distance from a provider of said first time
varying data.
18. The wireless device of claim 17, further comprising: a module
configured to transmit with said second identifier second maximum
propagation information indicating a number of hops said second
identifier is to be propagated from the source of said first time
varying data.
19. The wireless device of claim 18, further comprising: a module
configured to operate the source of said first time varying data to
communicate said first time varying data to a server responsible
for providing said first time varying data in response to requests
received by said server via an Internet interface or a second
network interface.
20. The wireless device of claim 19, further comprising: a module
configured to transmit said first time varying data to a user
equipment device via said second network interface in response to a
request received for said first time varying information from said
user equipment device via said second network interface.
Description
RELATED APPLICATIONS
[0001] The present application claims the benefit of U. S.
Provisional Patent Application Ser. No. 62/121,386 filed Feb. 26,
2015 which is hereby expressly incorporated by reference in its
entirety.
FIELD
[0002] Various embodiments relate to methods and apparatus for
communicating time varying data, and more particularly, to
efficiently wirelessly communicating time varying data using
beacons and/or multiple networks.
BACKGROUND
[0003] Data may be wirelessly advertised using several current
technologies. One such technology is LTE Direct (LTED). With LTED a
device may publish and subscribe to "expressions." A discovery
beacon, containing a bit code (OTACode), is broadcasted to publish
an expression to proximate neighbor devices. Publication and
subscription OTACodes must be resolved at a centralized Expression
Name Server (ENS). In other words, data is indirectly communicated
through the ENS. LTED is advantageous because it adheres to the
3GPP standard. However, publishing dynamic data requires
re-publishing an expression whenever it changes generating a new
OTACode. A device receiving the "updated" OTACode must resolve the
unrecognized code at the ENS preventing caching on the receiver's
side.
[0004] Other alternative technologies which are used to advertise
data include WiFi, Bluetooth (BT), and Bluetooth Low Energy (BLE).
With these technologies, a device may directly write to and read
from elements in broadcasted beacons. WiFi beacons provide
Information Elements (IEs) in which arbitrary bytes can be written
and read. Similarly, devices in the Bluetooth (BT) and Bluetooth
Low Energy (BLE) peripheral role may use advertisement packets
(ADs) to broadcast arbitrary bytes. A BT/BLE device in the central
role may scan for ADs and read their contents when received. WiFi
and BT/BLE may directly communicate data through IEs/ADs.
WIFI/BT/BLE advertisement is advantageous because dynamic data may
be placed directly into IEs/ADs. However, there is no standardized
format for representing dynamic data as a sequence of bytes.
[0005] While LTED provides a method of communicating at least some
information to devices, LTE networks and devices for assigning
OTACodes are normally managed by a macro network operator, e.g., an
operator of a network which uses licensed spectrum. Normally,
whenever information to be associated with an OTACode is changed,
there is a requirement that a new OTACode be assigned to the new
information. The new OTACode and information must then be
propagated out to LTED devices for it to be useful. From a
management as well as macro network resource utilization
perspective, it may be desirable to avoid issuing new OTACodes on a
frequent basis. Thus, while OTACodes can be useful for some
information and well suited for static or information that changes
at relatively large intervals, the overhead associated with trying
to communicate rapidly chaining information using LTED and OTACodes
can be undesirable. For example, while it may be desirable for a
business owner to advertise the presence of a store at a particular
location, it may be undesirable from an overhead perspective, at
least of some entities, to advertise frequently changing customer
line length information or other rapidly varying wait time
information for the store via LTED.
[0006] In the case of WiFi, Bluetooth and other local networks
which do not involve use of macro network resources and/or require
involvement of macro network entities for purposes of assigning
codes and propagating information associated with codes, a local
entity can more readily manage the updating and communicating of
rapidly changing information without worrying about the overhead
associated with changes of information that would require
assignment of a new OTACode if the changing information was to be
communicated through the use of LTED. Thus, it might be easy for a
store owner to update a server or other Internet accessible device
to show current line lengths while it might be more involved if the
owner of the store were to try to update and communicate such
information via LTED.
[0007] Often, LTED beacons propagate further than beacons of short
area networks such as WiFi, Bluetooth, etc. Accordingly, while from
an overhead perspective it might be desirable to advertise
information in the LTED coverage area, it can also be desirable
that the advertised information not be information which changes
rapidly. Furthermore, from the perspective of macro network
resource utilization, it may be desirable if, even though some
information may be advertised using macro network resources, if the
bulk of the information, and particularly highly time varying
information, could be provided to devices with little or no use of
macro network communications resources.
[0008] In view of the above discussion, it should be appreciated
that it would be desirable if methods and/or apparatus could be
developed which allow the use of some information to be advertised
using macro network resources, e.g., LTED resources, but did not
require extensive use of such resources or management overhead
associated with adverting information via macro network resources,
to communicate rapidly changing information.
SUMMARY
[0009] Methods and apparatus are described to efficiently
wirelessly advertise dynamic time-varying data. Various described
methods and apparatus are well suited for supporting wireless
discoverable services that may wish to advertise dynamic (i.e.,
time-varying) data.
[0010] In various embodiments first, e.g., macro network resources
are used to advertise static information, slowing changing
information and/or information which can be used to obtain time
varying information via resources of another network, e.g., a local
area network. For example, LTED may be used to communicate
information about a store and to provide an identifier or other
information that can be used to access time varying information
corresponding to the store which is not advertised via the LTED
network. By offloading the operations associated with managing
and/or accessing the time varying data to the local network, use of
macro network communications and management resources is limited
but the macro network and its signaling, e.g., LTED beacons, can
still be used to make devices aware of the availability of the time
varying information and facilitate access of such information.
[0011] Examples of time varying data which may be wirelessly
advertised include: a current queue length, a current inventory,
current parking spot availability, and mobile proximate game
information. In one example, an airport coffee shop wireless device
is the source of advertising current queue length. In another
example, a mobile snack/beverage vendor wireless device is the
source of advertising current inventory. In another example, a
smart city public parking wireless device is the source of
advertising current parking spot availability information. In still
another embodiment, a wireless device corresponding to mobile
proximate game player is the source of advertising current player
level, currency available, game items possessed, etc.
[0012] Various novel methods and apparatus, exploit the
standardization of LTED and the direct data communication of
device-to-device (D2D) wireless technologies like WiFi and BT/BLE
to discover and access dynamic data while minimizing cellular
traffic. In various embodiments, two different wireless
communications networks, e.g., which communicate different beacons
communicate different identifiers, are used in conjunction to
communicate information. In some such embodiments, a first beacon
communicates a first identifier, e.g., an OTAC code, which maps to
information describing available time varying data. In some such
embodiments, a second beacon communicates a second identifier,
e.g., a hash value, corresponding to the first time varying
data.
[0013] An exemplary method of operating first device to communicate
information, in accordance with some embodiments, comprises:
transmitting a first identifier via a first network interface
corresponding to a first network, said first identifier
corresponding to first information that is available via the first
network, said first information indicating a source of first time
varying data and a description of the first time varying data; and
transmitting a second identifier via a second network interface
corresponding to a second network, the second identifier
corresponding to the first time varying data.
[0014] While various embodiments have been discussed in the summary
above, it should be appreciated that not necessarily all
embodiments include the same features and some of the features
described above are not necessary but can be desirable in some
embodiments. Numerous additional features, embodiments, and
benefits of various embodiments are discussed in the detailed
description which follows.
BRIEF DESCRIPTION OF THE FIGURES
[0015] FIG. 1 is a drawing of an exemplary communications system in
accordance with an exemplary embodiment.
[0016] FIG. 2 is a drawing used to explain an example of
communicating information in accordance with an exemplary
embodiment.
[0017] FIG. 3 is a flowchart of an exemplary method of operating a
first wireless device to communicate information in accordance with
an exemplary embodiment.
[0018] FIG. 4 is a drawing illustrating an exemplary communications
system and exemplary signaling in accordance with an exemplary
embodiment.
[0019] FIG. 5 is a drawing illustrating an exemplary communications
system and exemplary signaling in accordance with an exemplary
embodiment.
[0020] FIG. 6 illustrates an exemplary wireless device in
accordance with an exemplary embodiment.
[0021] FIG. 7A illustrates a first part of an exemplary assembly of
modules which may be included in an exemplary wireless device in
accordance with an exemplary embodiment.
[0022] FIG. 7B illustrates a second part of an exemplary assembly
of modules which may be included in an exemplary wireless device in
accordance with an exemplary embodiment.
[0023] FIG. 8 is a drawing illustrating an example in which an
intermediate wireless device, which may serve as a relay node,
includes of a cached copy of first time varying data, in accordance
with an exemplary embodiment.
[0024] FIG. 9 is a drawing illustrating three exemplary wireless
devices which may be sources of time varying data in accordance
with an exemplary embodiment.
DETAILED DESCRIPTION
[0025] FIG. 1 is a drawing of an exemplary communications system
100 in accordance with an exemplary embodiment. Exemplary
communications system 100 includes an LTE direct (LTED) expression
name server (ENS) 102, a data access server (DAS) 104, a plurality
of base stations (base station 1 114, . . . , base station n 116)
and a plurality of wireless devices (wireless device 0 (W0) 106,
wireless device 1 (W1) 108, wireless device 2 (W2) 110, wireless
device 3 (W3) 112, . . . , wireless device N (WN) 113). The base
stations (114, . . . , 116) includes a wireless interface (115, . .
. , 119), respectively, and a wired interface (117, . . . , 121),
respectively. The wireless interfaces (115, . . . , 117), are e.g.,
cellular and/or WIFI interfaces. The wired interfaces (117, . . . ,
114) couple the base stations (114, . . . , 116) to the Internet
and/or other network devices. LTED ENS 102 and DAS 104 each include
a wired interface (127, . . . , 128), which couples the devices to
the Internet and/or other network devices. LTE ENS 102 is coupled
to DAS 104 via wired Internet interface link 103, e.g., an Ethernet
or fiber link, over which the devices (102, 104) may exchange data
and information.
[0026] The wireless devices (W.sub.0 106, W.sub.1 108, W.sub.2 110,
W.sub.3 112, . . . , W.sub.N 113) includes a first network
interface (128, 146, 150, 154, . . . , 159), and a second network
interface (130, 148, 152, 156, . . . , 161), respectively. In some
embodiments, the first interface is a LTED interface and the second
interface is one of: a WIFI interface, a Bluetooth (BT) interface,
or a Bluetooth Low Energy (BLE) interface. In some embodiments,
some of the wireless devices, e.g., W0 106, includes a wired
interface, e.g., wired interface 131, which couples the wireless
devices to the Internet and/or other network nodes.
[0027] The wireless devices (106, 108, 110, 112, . . . , 113) are,
e.g., user devices (UEs). At least some of the wireless devices
(106, 108, 110, 112, . . . , 113) are mobile devices. Exemplary
wireless devices (106, 108, 110, 112, . . . , 113) include
smartphone, tablet with wireless capability, personal computer with
wireless capability, vehicle with wireless capability, a smart city
object, e.g., a parking meter with wireless capability, a traffic
light with wireless capability, etc. The wireless devices (106,
108, 110, 112, . . . , 113) include the capability to transmit and
receive first type wireless beacons over the first interface and
the capability to transmit and receive second type wireless beacons
over the second interface. In some embodiments, LTE direct beacons
are transmitted and received over the first interfaces. In some
such embodiments, one of WIFI, BT, or BTE beacons are transmitted
and received over the second interfaces. The wireless devices (106,
108, 110, 112, . . . , 113) also include device to device data
communications capability, e.g., over the second interfaces.
[0028] Various terminologies, which is used in some embodiments,
are described below. [0029] W.sub.i: Exemplary wireless device i,
e.g., W.sub.0 106 of Figure where i=0; W.sub.1 108 of FIG. 1, where
i=1, etc. [0030] d: A time-varying data value, sometimes referred
to as first time varying data. The value of d at time t is given by
d(t). [0031] e.sub.d: An LTED expression that describes d,
sometimes referred to as first information. [0032] c.sub.d: The
OTACode assigned by the LTED ENS that resolves to e.sub.d,
sometimes referred to as the first identifier. [0033] a.sub.d: A
data structure including the following attributes configured by the
device providing d (i.e., the provider or original source) used by
the DAS to facilitate access of d. [0034] Hop limits: A key-value
map containing the following attributes. [0035] Network (key): A
D2D network interface (e.g., WiFi, BT, BLE). [0036] Hop limit
(value): An integer indicating the maximum logical distance from
the provider on the corresponding network interface that d may be
advertised. [0037] Internet connectivity: An integer representing
the type of network on which the provider has internet
connectivity, if at all (e.g., 0--none, 1--cellular,
2--non-cellular [WiFi, Ethernet, etc.]) [0038] Data size: An
integer representing the size of the data value payload in bytes.
[0039] Data dynamic level: An integer representing how often d
changes (e.g., 0--every 30 seconds, 1--every minute, 2--every 5
minutes, etc.) [0040] Device mobility level: An integer
representing the expected mobility the provider (e.g.,
0--stationary, 1--pedestrian slow, 2--pedestrian fast, 3--bicycle,
4--car city, 5--car highway, etc.) [0041] Device power type:
0--grid power, 1--battery power (short life), 2--battery power
(long life) [0042] Listening IP addresses: Public IP address(es)
and port(s) at which d may be accessed if desired by the provider.
[0043] Extras: A key-value map in which the provider can place
arbitrary key-value mappings for application specific purposes
(e.g., keywords). [0044] h.sub.d: A hash code assigned by the DAS
that resolves to a.sub.d, sometimes referred to as the second
identifier.
[0045] The second information, ad, is used by the DAS; ad is
generated by a source of the first time varying data d; ad
describes (i) the dynamic characteristics of d, e.g., how often d
changes, and (ii) characteristics of the source of the first time
varying data, e.g., mobility level, power sources, Internet
accessibility. In various embodiments, ad is used by a server,
e.g., a DAS, to determine one or more methods for accessing time
varying data d. hd is used by a device, e.g., a wireless device,
and the server, e.g., the DAS, to access first time varying data d
via one of more methods.
[0046] In some embodiments, there may be, and sometimes are, many
c.sub.ds that map to the same h.sub.d. There is a 1:1 mapping of
c.sub.d:e.sub.d. There is a 1:1 mapping of h.sub.d:d. In some
embodiments, an association between a particular c.sub.d and
h.sub.d is made when that h.sub.d is included in the e.sub.d that
maps to the c.sub.d. In some embodiments, one h.sub.d may
correspond to multiple c.sub.ds. For example, an even slight
different set first information e.sub.d in LTED results in a
different expression identifier c.sub.d. Multiple e.sub.ds, each
including the same h.sub.d but including some different information
map to different c.sub.ds.
[0047] FIG. 2 is a drawing 200 used to explain an example of
communicating information in accordance with an exemplary
embodiment. Drawing 200 illustrates wireless devices (W.sub.0 106,
W.sub.1 108, W.sub.2 110 and W.sub.3 112) of system 100 of FIG. 1,
which are located at separation distances as shown in FIG. 2.
Legend 250 element 252 indicates that a dotted line arrow
represents a LTED beacon. Legend 250 element 254 indicates that a
solid line arrow indicates a D2D beacon, e.g., a WIFI beacon, BT
beacon or BLE beacon. Legend 250 element 256 indicates that a
dotted line with two endpoints is used to indicate the D2D (WiFi,
BT, or BLE) beacon range. Legend 250 element 258 indicates that a
solid line with two endpoints is used to indicate the LTED beacon
range.
[0048] Line 260 indicates that W.sub.1 108 is within the range to
successfully receive and recover a LTED beacon transmitted from
W.sub.0 106; line 262 indicates that W.sub.1 108 is within the
range to successfully receive and recover a D2D beacon transmitted
from W.sub.0 106. Line 264 indicates that W.sub.2 110 is within the
range to successfully receive and recover a LTED beacon transmitted
from W.sub.1 108; line 266 indicates that W.sub.2 110 is within the
range to successfully receive and recover a D2D beacon transmitted
from W.sub.1 108. Line 268 indicates that W.sub.3 112 is within the
range to successfully receive and recover a LTED beacon transmitted
from W.sub.2 110; line 270 indicates that W.sub.3 112 is within the
range to successfully receive and recover a D2D beacon transmitted
from W.sub.2 110.
[0049] In this example, device W.sub.0 106 is the provider, e.g.,
original source, of a time-varying data value d 132. First, W.sub.0
106 creates and specifies a.sub.d, which provides the DAS 104 with
metadata that facilitates efficient remote access of d. Next,
W.sub.0 106 registers itself, if necessary, and a.sub.d with the
DAS 104. The DAS 104 generates a hash h.sub.d 124 that it can
resolve to a.sub.d and returns h.sub.d 124 to W.sub.0 106.
[0050] Next, W.sub.0 106 may create and publish an LTED expression
e.sub.d, which includes h.sub.d 124 as a scalar. The LTED local
middleware registers e.sub.d at the LTED ENS 102, which generates
and returns an OTACode c.sub.d 120. To make d discoverable, W.sub.0
beacons c.sub.d 120 on its LTED interface 128, via LTED beacon 160,
and h.sub.d 124 on any Wireless D2D Data interfaces, e.g., WiFi,
BT, BLE, interface 130, via D2D beacon 162. To indicate the logical
distance of h.sub.d from d, W.sub.0 106 also includes the hop count
and hop limit of h.sub.d in the Wireless D2D Data beacon 160 as
well as a hop count from the closest cached copy of d (if
applicable), in information triplet 125 in D2D beacon 162. Devices
in both LTED range of c.sub.d and single-hop D2D Data range of a
device beaconing h.sub.d (W.sub.1 108 and W.sub.2 110) will
re-beacon both c.sub.d (via LTED interface (146, 150)), as part of
LTED beacons (160' and 160''), respectively, and h.sub.d (via D2D
Data interface (148, 152)), as part of D2D beacons (162' and
162''), respectively. The D2D beacons (162', 162'') including
h.sub.d will include the received hop count plus one and the static
hops remaining, as part of information triplet (125', 125''),
respectively. To access d, devices in D2D Data range of the
provider, e.g., W.sub.1 108 and W.sub.2 110, will utilize the
shortest D2D Data route, given by the local hop count
assessment.
[0051] Devices not in D2D range of the provider, e.g., W.sub.3 112,
utilize the DAS 104 if an Internet connection is available.
[0052] FIG. 3 is a flowchart 300 of an exemplary method of
operating a first device, e.g., W.sub.0 106 or W.sub.0 406, to
communicate information in accordance with an exemplary embodiment.
In some embodiments, the exemplary method of flowchart 300 may be
performed by a wireless device, e.g., W.sub.0 106 of FIG. 1 and
FIG. 2 or W.sub.0 406 of FIG. 4 and FIG. 5, which is the source of
first time varying data. Operation of the exemplary method starts
in step 302 in which the first device is powered on and
initialized. Operation proceeds from step 302 to step 304.
[0053] In step 304 the first device transmits a first identifier,
e.g., C.sub.d, via a first network interface, e.g., a LTED
interface, corresponding to a first network, said first identifier,
e.g., C.sub.d, corresponding to first information, e.g., e.sub.d,
that is available via the first network, said first information
indicating a source of first time varying data, e.g., d, and a
description of first time varying data. In various embodiments, the
first device is the original source of the first time varying data,
e.g., the original source of d. The description is, e.g., what the
first time varying data represents or indicates. Operation proceeds
from step 304 to step 306. In some embodiments, operation also
proceeds to one or both of optional steps 308 and 310.
[0054] In step 306 the first device transmits a second identifier,
e.g., h.sub.d, via a second network interface, e.g., a WIFI
interface, corresponding to a second network, the second
identifier, e.g., h.sub.d, corresponding the first time varying
data, e.g., d.
[0055] In some embodiments, the first time varying data, e.g. d, is
data which is available to other devices via the second network,
e.g., either from the first device or from devices or servers which
store the first time varying data provided by the first device.
[0056] In some embodiments, the second identifier is different from
the first identifier, e.g., c.sub.d is different from h.sub.d.
[0057] In some embodiments, the second identifier, e.g., h.sub.d,
also corresponds to second information, e.g., a.sub.d, which is
available via the second network, said second information relating
to said first time varying data and describing dynamic
characteristics of the first time varying data. In some
embodiments, the second identifier, e.g., h.sub.d, also corresponds
to second information, e.g., a.sub.d, which is available via the
second network, said second information, e.g., a.sub.d, being data
that was generated by a source of the first time varying data and
which describes the rate of change of the first time varying data,
e.g. the rate of change of d. In some embodiments, the second
identifier, e.g., h.sub.d, also corresponds to second information,
e.g., a.sub.d, that provides information about the characteristics
of the source of the first time varying data. In some such
embodiments, the characteristics of the source of the first time
varying data include at least one of: mobility level, power source
or Internet accessibility. In some embodiments, the second
identifier also corresponds to second information, e.g., a.sub.d,
that describes dynamic characteristics of the first time varying
data and provides information about characteristics of the source
of the first time varying data.
[0058] In some embodiments, the first network interface has a
longer transmission range than the second network interface. In
some embodiments, the first identifier is assigned by a first
network entity, e.g., a LTED ENS, responsible for providing said
first information, e.g., e.sub.d, in response to a resolution
request sent over the first network. In some such embodiments, the
first information, e.g., e.sub.d, and the first identifier, e.g.,
c.sub.d, are static and remain unchanged during a first period of
time during which the first time varying data, e.g., d, changes. In
some embodiments, the first information, e.g., e.sub.d, includes
the second identifier, e.g., h.sub.d. In some embodiments, the
first network is a network from which said first time varying data
is not available, e.g., the LTED network does not provide the first
time varying data but allows devices to obtain information
indicating that the first time varying data is available and
information indicating where it can get the first time varying
data, e.g., via the second network using h.sub.d.
[0059] In some embodiments, the first network is a network which
includes one or more devices which broadcast expression identifiers
which can be resolved to other information using information
mapping expression identifiers to expressions, said first
identifier, e.g., c.sub.d, being an expression identifier
transmitted on the first network which resolves to said first
information, e.g., e.sub.d. In some embodiments said first
information, e.g., e.sub.d, is an LTED expression and the first
identifier, e.g., c.sub.d, which is broadcast in the first network,
is resolved to the first information via the second network, i.e.
at the LTED ENDS via the Internet. Thus, in various embodiments,
the actual LTED expressions are not broadcast in the first network,
but their identifiers are broadcast in the first network; the
actual LTED expressions are communicated via the Internet.
[0060] In some embodiments, the first network interface is a device
to device cellular network interface, e.g., a LTED interface, and
the second network interface is a non-cellular device to device
network interface, e.g., a WiFi network interface, a BT interface
or a BLE interface.
[0061] In step 308 the first device transmits, with the second
identifier, e.g., with h.sub.d, first distance information
indicating distance, e.g., in terms of number of hops, from a
provider of the first time varying data. In some embodiments, the
first distance information is one of a number of hops to the
source, e.g., W.sub.0, of said first time varying information or a
number of hops to a device including a valid copy of said time
varying information, e.g., a device which cached the first time
varying data, e.g., perhaps device W.sub.1 including a stored valid
copy of first time varying data d.
[0062] In step 310 the first device transmits with the second
identifier, e.g., with h.sub.d, second maximum propagation
information indicating a number of hops said second identifier is
to be propagated from the source, e.g., from W.sub.0, of the first
time varying data.
[0063] In one exemplary embodiment, the second identifier, e.g.,
h.sub.d, is transmitted along with a triplet; the first value of
the triplet indicating distance information to the source of the
first time varying information, e.g., in number of hops; the second
value of the triplet indicating maximum propagation information,
e.g., indicating a number of hops said second identifier is to be
propagated from the source of the first time varying data; and the
third value of the triplet indicating distance indication to a
nearest device including a valid copy of said first time varying
data, e.g., a number of hops to a device including a valid copy of
said time varying information, e.g., a device which cached the
first time varying data and includes a stored valid copy of first
time varying data d.
[0064] In some embodiments, the first time varying data, e.g., d,
is data which is available to other devices via the second network,
e.g., either from the first device or from devices or servers which
store the first time varying data provided by the first device. In
various embodiments the first identifier, e.g., c.sub.d, is
different from the second identifier, e.g., h.sub.d.
[0065] In some embodiments, the first device transmits the first
time varying data, e.g., d, along with the second identifier, e.g.,
h.sub.d, on the second network interface. This approach will enable
devices that do not possess a first network interface, e.g., a LTED
interface, to participate in searching for and accessing first time
varying data d. In some embodiments, a device may, and sometimes
does, retransmit h.sub.d on the second network interface even if it
has not received c.sub.d on the first network interface.
[0066] Operation proceeds from step 306, and, in some embodiments,
step 308 and/or step 310, via connecting node A 312, to step 304,
for another transmission of the first identifier via the first
network interface and to step 314.
[0067] In step 314 the first device monitors for request for said
first time varying data. Step 314 is repeated on an ongoing basis.
The monitoring of step 314 may, and sometimes does, detect a
request for first time varying data.
[0068] In step 316 the first device receives a request for said
first time varying data from a server, e.g., a DAS. The received
request was sent from the server following receipt by said server
of a request for said first time varying data from another device,
e.g., a UE device, e.g., W.sub.3. In some embodiments, the request
received by the server included the second identifier, e.g.,
h.sub.d. Operation proceeds from step 316 to step 320 in response
to the received request for said first time varying data from said
server. In step 320 the first device, e.g., W.sub.0, which is the
source of the first time varying data, communicates said first time
varying data to the server, e.g., a DAS, responsible for providing
said time varying data in response to a request received by said
server via an Internet interface or a second network interface. The
server, e.g., the DAS, may reside anywhere in the Internet or the
second network.
[0069] In step 318 the first device receives a request for said
first time varying data from a UE device, e.g., another wireless
device, e.g., W.sub.1, via the second network interface. Operation
proceeds from step 318 to step 322 in which the first device
transmits said first time varying data to the UE device, e.g., to
W.sub.1, in response to the request received for said first time
varying data from the UE device via the second network interface.
In some embodiments, the request received from the UE device
includes the second identifier, e.g., h.sub.d. In various
embodiments, the request received for the second time varying data
from the UE device is from a device, e.g., W.sub.1, acting as a
relay device for another UE device, e.g., W.sub.2, seeking said
first time varying data.
[0070] FIG. 4 is a drawing 400 illustrating an exemplary
communications system and exemplary signaling in accordance with an
exemplary embodiment. The exemplary communications system includes
a LTE direct (LTED) expression name server 402, a data access
server (DAS) 404, a plurality of wireless devices including
wireless device 0 (W.sub.0) 406, wireless device 1 (W.sub.1) 408,
wireless device 2 (W.sub.2) 410, and wireless device 3 (W.sub.3)
412. The exemplary communications system further includes a
plurality of WIFI base stations including WIFI base station 416 and
WIFI base station 418, which may couple a wireless device,
including WIFI capability, in its vicinity to the Internet. In one
embodiment, devices (402, 404, 406, 408, 410, 412) of FIG. 4 are
devices (102, 104, 106, 108, 110, 112) of FIGS. 1-2.
[0071] LTE direct expression name server 402 includes a plurality
of sets of information and corresponding identifiers including
first information (e.sub.d) 418, which is a LTED expression that
includes information describing first time varying data (d) 432 and
a first identifier (c.sub.d) 420. The first identifier c.sub.d 420
is an LTED OTA code corresponding to first information e.sub.d 418.
LTE direct expression name server 402 further includes a database
421 including information that maps c.sub.d to e.sub.d. The
database 421 including mapping between LTED expressions and LTED
OTA codes may be broadcast to the wireless devices and/or
communicated to the wireless devices in response to requests, e.g.,
over the Internet.
[0072] Data access server (DAS) 404 includes second information
(a.sub.d) 422, second identifier (h.sub.d) 424, an Internet
interface 428 and a local database 426.
[0073] Wireless device 0 (W0) 406 includes a first interface 428,
which is a LTED interface, and a second interface 430, which is a
WIFI interface. Wireless device 0 (W.sub.0) 406 includes second
information (a.sub.d) 422, second identifier (h.sub.d), first
identifier (cd) 420, second maximum propagation information 440 and
first time varying data (d) 432. Second information (a.sub.d) 422
includes, e.g., (i) information about the dynamic characteristics
of first time varying data d, e.g., how often it changes, and (ii)
characteristics of the source of first time varying data (d), e.g.,
mobility level, power source, and Internet accessibility
information, is generated by W.sub.0 406 and is communicated to and
used by DAS 404. Second identifier (h.sub.d), corresponds to the
first time varying data (d) 432, and was generated by the DAS 404
and communicated to wireless device 0 (W.sub.0) 406.
[0074] Wireless device 1 (W1) 408 includes a first interface 446,
which is an LTED interface, and a second interface 448, which is a
WIFI interface. Wireless device 2 (W2) 410 includes a first
interface 450, which is an LTED interface, and a second interface
452, which is a WIFI interface. Wireless device 2 (W3) 412 includes
a first interface 454, which is an LTED interface, and a second
interface 456, which is a WIFI interface.
[0075] Consider that the range of an LTED beacon is greater than
the range of a WIFI beacon. Further consider the W.sub.1 408 is
close enough to W.sub.0 406 to be able to receive both LTED and
WIFI beacons from W.sub.0 406; W.sub.2 410 is close enough to
W.sub.1 408 to be able to receive both LTED and WIFI beacons from
W.sub.1 410; and W.sub.3 412 is close enough to W.sub.2 410 to be
able to receive a LTED beacon from W.sub.2 410, but W.sub.3 412 is
too far away from W.sub.2 410 to be able to receive a WIFI beacon
from W.sub.2.
[0076] Wireless device 0 (W.sub.0) 406, which the original source
of first time varying data (d) 432, transmits LTED beacon 460
including first identifier (c.sub.d) 420, via first interface 428.
Wireless device 0 (W.sub.0) 406, also transmits WiFI beacon 462
including second identifier (h.sub.d) 424 and an information
triplet 425, via second interface interface 430. Information
triplet 425 is 0:3:0. The first value of the triplet 425, is 0,
indicating that the distance to the source of time varying data
from the device which transmitted beacon 462 is 0 hops. The second
value of the triplet 425, is 3, conveying second maximum
propagation information 440, e.g., a hop limit of 3. The third
value of the triplet 425, is 0 indicating that the distance to the
nearest wireless device including a valid copy of the time varying
data d, e.g., either the original data or a locally cached copy of
the data, is 0 hops from the device which transmitted beacon
462.
[0077] Wireless device 1 408 receives both LTED beacon 460 and WIFI
beacon 462, as indicated by arrows 470 and 472, respectively.
Wireless device 1 408 updates the triplet 425 and generates new
triplet 425', which is 1:3:1. Wireless device 1 (W.sub.1) 408,
transmits LTED beacon 460' including first identifier (c.sub.d)
420, via first interface 446. Wireless device 1 (W.sub.1) 408, also
transmits WiFI beacon 462' including second identifier (h.sub.d)
424 and information triplet 425', via second interface 448.
[0078] Wireless device 2 410 receives both LTED beacon 460' and
WIFI beacon 462', as indicated by arrows 470' and 472',
respectively. Wireless device 2 410 updates the triplet 425' and
generates new triplet 425'', which is 2:3:2. Wireless device 2
(W.sub.2) 410, transmits LTED beacon 460'' including first
identifier (c.sub.d) 420, via first interface 450. Wireless device
2 (W.sub.2) 410, also transmits WiFI beacon 462'' including second
identifier (h.sub.d) 424 and information triplet 425'', via second
interface 452.
[0079] Wireless device 3 412 receives LTED beacon 460'' as
indicated by arrow 470'', which terminates at the antenna of
wireless device 3 412. Wireless device 3 412 does not receives WIFI
beacon 462'' as indicated by arrow 472', which terminates short of
wireless device 3 412.
[0080] Wireless device 3 412, which has stored c.sub.d to e.sub.d
mapping information 458, recovers first identifier c.sub.d from
received beacon 460'', and uses mapping information 458 to recover
information e.sub.d. Information e.sub.d includes second identifier
h.sub.d. Wireless device 3 412 decides that it would like to
receive first time varying data (d). Wireless device 3 412 sends a
request signal 480 for first time varying data (d) to WiFI base
station 416, the request including h.sub.d 424. WiFibase station
416 receives the request signal 480 and sends forwards the request
as signal 482, via the Internet, to DAS 404, which receives the
request 482, via its Internet interface 428. The DAS 404 checks in
its local database 426 to see if it has a stored currently valid
copy of first time varying data d corresponding to h.sub.d 424. In
this example, the DAS 404 does not have a valid copy of the
requested data; therefore, DAS 404 forwards the request via the
Internet as signal 484, to WIFI base station 414, which is in the
vicinity of wireless device 0 406. WIFI base station 414 forwards
the request as signal 486. Wireless device 0 406 receives the
request for said first time varying data, which was communicated
from the server 404, in response to the request from wireless
device 3 412. Wireless device 0 406 generates and transmits signal
486, including first time varying data at time t1 (d(t(1) 432',
which is received by WiFi base station 414, forwarded via signal
490 to DAS 404, forwarded via signal 492 to WiFi base station 416
and forwarded via signal 494 to wireless device 3 412.
[0081] In another embodiment, wireless device 0 W.sub.0 406
includes an interface to the Internet, e.g., a wired Internet
interface, and the request for time varying data from DAS 428 and
the signal including the time varying data d(t1) 432' are
communicated via the Internet without traversing WIFI base station
414.
[0082] FIG. 5 is a drawing 500 illustrating an exemplary
communications system and exemplary signaling in accordance with an
exemplary embodiment. FIG. 5 may correspond to a different time,
e.g., a later time than FIG. 4. In FIG. 5, The exemplary
communications system is, e.g., the same communications system of
FIG. 4 which includes a LTE direct (LTED) expression name server
402, a data access server (DAS) 404, a plurality of wireless
devices including wireless device 0 (W.sub.0) 406, wireless device
1 (W.sub.1) 408, and wireless device 2 (W.sub.2) 410.
[0083] Consider that the range of an LTED beacon is greater than
the range of a WIFI beacon. Further consider the W.sub.1 408 is
close enough to W.sub.0 406 to be able to receive both LTED and
WIFI beacons from W.sub.0 406; W.sub.2 410 is close enough to
W.sub.1 408 to be able to receive both LTED and WIFI beacons from
W.sub.1 410.
[0084] Wireless device 0 (W.sub.0) 406, which the original source
of first time varying data (d) 432, transmits LTED beacon 560
including first identifier (c.sub.d) 420, via first interface 428.
Wireless device 0 (W.sub.0) 406, also transmits WiFI beacon 562
including second identifier (h.sub.d) 424 and an information
triplet 425, via second interface interface 430. Information
triplet 425 is 0:3:0. The first value of the triplet 425, is 0,
indicating that the distance to the source of time varying data
from the device which transmitted beacon 462 is 0 hops. The second
value of the triplet 425, is 3, conveying second maximum
propagation information 440, e.g., a hop limit of 3. The third
value of the triplet 425, is 0 indicating that the distance to the
nearest wireless device including a valid copy of the time varying
data d, e.g., either the original data or a locally cached copy of
the data, is 0 hops from the device which transmitted beacon
462.
[0085] Wireless device 1 (W.sub.1) 408 receives both LTED beacon
560 and WIFI beacon 562, as indicated by arrows 570 and 572,
respectively. Wireless device 1 (W.sub.1) 408 updates the triplet
425 and generates new triplet 525', which is 1:3:1. Wireless device
1 (W.sub.1) 408, transmits LTED beacon 560' including first
identifier (c.sub.d) 420, via first interface 446. Wireless device
1 (W.sub.1) 408, also transmits WiFI beacon 562' including second
identifier (h.sub.d) 424 and information triplet 525', via second
interface 448.
[0086] Wireless device 2 (W.sub.2) 410 receives both LTED beacon
560' and WIFI beacon 562', as indicated by arrows 570' and 572',
respectively. Wireless device 2 (W.sub.2) 410 updates the triplet
525' and generates new triplet 525'', which is 2:3:2. Wireless
device 2 (W.sub.2) 410, transmits LTED beacon 560'' including first
identifier (c.sub.d) 420, via first interface 450. Wireless device
2 (W.sub.2) 410, also transmits WiFI beacon 562'' including second
identifier (h.sub.d) 424 and information triplet 525'', via second
interface 452.
[0087] Wireless device 2 (W.sub.2) 410, which has stored c.sub.d to
e.sub.d mapping information 458, recovers first identifier c.sub.d
from received beacon 560', and uses mapping information 458 to
recover information e.sub.d. Wireless device 2 410 decides that it
would like to receive first time varying data (d). Wireless device
2 410 sends a request signal 580 for first time varying data (d) to
wireless device 1 W1 408, the request including h.sub.d 424.
Wireless device 1 (W.sub.1) 408 receives the request signal 580 and
relays the request as transmitted relayed request for d signal 582
including second identifier (h.sub.d)) 424. Signal 582 is received
by wireless device 0 (W.sub.0) 406 via second interface 430, which
is a WIFI interface. In response to the received request signal 582
for first time varying data, wireless device 0 (W.sub.0) 406,
generates and transmits, via second network interface 430, signal
584 including first time varying data at time t2 (d(t(2) 432''.
Wireless device 1 W1 408 receives signal 584 including via second
interface 448. In response to the received signal 584, wireless
device 1 (W1) 408, generates and transmits, via second network
interface 448, signal 586 including first time varying data at time
t2 (d(t(2) 432''. Wireless device 2 (W.sub.2) 410 receives signal
586 including via second interface 452 and recovers the first time
varying data d(t2).
[0088] FIG. 6 is a drawing of an exemplary wireless device 600,
e.g., a user equipment (UE) device, implement in accordance with an
exemplary embodiment. Exemplary wireless device 600 is, e.g., one
of the wireless devices (W.sub.0 106, W.sub.1 108, W.sub.2 110,
W.sub.3 112, . . . , W.sub.N 114) of FIG. 1 or FIG. 2, (W.sub.0
406, W.sub.1 408, W.sub.2 410, W.sub.3 412) or FIG. 3 or FIG. 4,
and/or a wireless device implementing the method of flowchart 300
of FIG. 3.
[0089] Exemplary wireless device 600 includes an LTE network
interface 602 including a LTE cellular interface 604 and a LTE
Direct (LTED) interface 606, a WIFI network interface 608, a
bluetooth (BT) network interface 610, a Bluetooth low energy (BLE)
network interface 612, an input device 642, and output device 644,
a processor 646, e.g., a CPU, a memory 648, and an assembly of
module 650, e.g., an assembly of hardware modules, e.g., circuits,
coupled together via a bus 664 over which the various elements may
interchange data and information. In some embodiments, wireless
device 600 further includes a wired interface 658 coupled to bus
664.
[0090] LTE cellular interface 604 includes a cellular receiver
(RX.sub.C) 614 and a cellular transmitter (TX.sub.C) 616 coupled to
antenna 634, via which device 600 may receive and transmit cellular
wireless signals, respectively. LTE direct interface 606 includes a
LTE direct receiver (RX.sub.LTED) 618 and a LTE direct transmitter
(TX.sub.LTED) 620 coupled to antenna 634, via which device 600 may
receive and transmit LTE direct wireless signals, respectively. LTE
direct wireless signals include LTED beacons including a LTED
beacon communicating a first identifier, e.g., c.sub.d.
[0091] WIFI interface 608 includes a WIFI receiver (RX.sub.WIFI)
622 and a WIFI transmitter (TX.sub.WIFI) 624 coupled to antenna
636, via which device 600 may receive and transmit WIFI wireless
signals, respectively. WIFI wireless signals include WIFI beacons
including a WIFI beacon communicating a second identifier, e.g.,
h.sub.d, and additional information, e.g., an information triplet
communicating beacon propagation information, and WIFI D2D data
signals including, e.g., a request signal for time varying data d
and a response signal including time varying data d.
[0092] BT interface 610 includes a BT receiver (RX.sub.BT) 626 and
a BT transmitter (TX.sub.BT) 628 coupled to antenna 638, via which
device 600 may receive and transmit BT wireless signals,
respectively. BT wireless signals include BT beacons including a BT
beacon communicating a second identifier, e.g., h.sub.d, and
additional information, e.g., an information triplet communicating
beacon propagation information, and BT D2D data signals including,
e.g., a request signal for time varying data d and a response
signal including time varying data d.
[0093] BLE interface 612 includes a BLE receiver (RX.sub.BLE) 630
and a BLE transmitter (TX.sub.BLE) 632 coupled to antenna 640, via
which device 600 may receive and transmit BLE wireless signals,
respectively. BLE wireless signals include BLE beacons including a
BLE beacon communicating a second identifier, e.g., h.sub.d, and
additional information, e.g., an information triplet communicating
beacon propagation information, and BLE D2D data signals including,
e.g., a request signal for time varying data d and a response
signal including time varying data d.
[0094] In some embodiments, a different number of antenna are used
and/or a different antenna configuration is used, e.g., a different
antenna for receive and transmit, multiple antennas for receive and
multiple antennas for transmit, the same antenna or same set of
antennas for different interfaces, etc.
[0095] Wired interface 658 includes a receiver RX.sub.W 660 and a
transmitter TX.sub.W 662, via which device 600 may receive and
transmit signals over the Internet and/or to other network nodes,
e.g., via a wired and/or fiber optic backhaul link or links.
[0096] Input device 642 includes, e.g., touch screen interface,
keypad, keyboard, microphone, camera, switches, monitoring sensors,
etc., via which a user of device 600 may input information and/or
device 600 may autonomously or semi autonomously collect data. In
some embodiments, input information and/or collected data is time
varying data, which may be communicated to other devices. In some
embodiments, input information and/or collected data is used to
generate time varying data, which may be communicated to other
devices.
[0097] Output device 644 includes, e.g., a display, a speaker, etc,
for outputting data/information to a user of device 600. Memory 648
includes routines 652 and data/information 656. Routines 652
includes an assembly of modules 654, e.g., an assembly of software
modules. Data/information 656 includes, second information, e.g.
a.sub.d, a second identifier, e.g., h.sub.d, first information,
e.g., e.sub.d, a first identifier, c.sub.d, information mapping the
first identifier to first information, information mapping h.sub.d
to time varying data d, maximum propagation information, a
generated first beacon, a generated second beacon, a received
request for time varying data, and a generated response including
the requested time varying data d.
[0098] FIG. 7, comprising the combination of FIG. 7A and FIG. 7B,
is a drawing of an assembly of modules 700, comprising the
combination of part A 701 and part B 703, which may be included in
an exemplary wireless device, e.g., wireless device 600 of FIG. 6,
in accordance with an exemplary embodiment. Assembly of modules 700
which can, and in some embodiments is, used in the wireless device
600. The modules in the assembly of modules 700 can, and in some
embodiments are, implemented fully in hardware within the processor
646, e.g., as individual circuits. The modules in the assembly of
modules 700 can, and in some embodiments are, implemented fully in
hardware within the assembly of modules 650, e.g., as individual
circuits corresponding to the different modules. In other
embodiments some of the modules are implemented, e.g., as circuits,
within the processor 646 with other modules being implemented,
e.g., as circuits within assembly of modules 650, external to and
coupled to the processor 646. As should be appreciated the level of
integration of modules in the processor and/or with some modules
being external to the processor may be one of design choice.
Alternatively, rather than being implemented as circuits, all or
some of the modules may be implemented in software and stored in
the memory 648 of the wireless device 600, with the modules
controlling operation of wireless device 600 to implement the
functions corresponding to the modules when the modules are
executed by a processor, e.g., processor 646. In some such
embodiments, the assembly of modules 700 is included in the memory
648 as assembly of modules 654. In still other embodiments, various
modules in assembly of modules 700 are implemented as a combination
of hardware and software, e.g., with another circuit external to
the processor providing input to the processor 646 which then under
software control operates to perform a portion of a module's
function. While shown in the FIG. 6 embodiment as a single
processor, e.g., computer, it should be appreciated that the
processor 646 may be implemented as one or more processors, e.g.,
computers.
[0099] When implemented in software the modules include code, which
when executed by the processor 646, configure the processor 646 to
implement the function corresponding to the module. In embodiments
where the assembly of modules 700 is stored in the memory 648, the
memory 648 is a computer program product comprising a computer
readable medium comprising code, e.g., individual code for each
module, for causing at least one computer, e.g., processor 646, to
implement the functions to which the modules correspond.
[0100] Completely hardware based or completely software based
modules may be used. However, it should be appreciated that any
combination of software and hardware, e.g., circuit implemented
modules may be used to implement the functions. As should be
appreciated, the modules illustrated in FIG. 7 control and/or
configure the wireless device 600 or elements therein such as the
processor 646, to perform the functions of corresponding steps
illustrated in the method of one or more of the signaling drawing
of FIGS. 2, 4, and 5, and/or 5 and/or one or more of the flowcharts
of FIGS. 3 and 8, and/or described with respect to any of the
Figures. Thus the assembly of modules 700 includes various modules
that perform functions of corresponding steps of one or more of
FIGS. 1-5 and 8.
[0101] Assembly of modules 700 includes a module 704 configured to
transmit a first identifier, e.g., c.sub.d, via first network
interface, e.g., a LTED interface, corresponding to a first
network, said first identifier, e.g., c.sub.d, corresponding to
first information, e.g., e.sub.d, that is available via the first
network, said first information indicating a source, e.g., original
source, of first time varying data, e.g., d, and a description of
the first time varying data, e.g., information indicating what the
first time varying data represents or indicates, and a module 706
configured to transmit a second identifier, e.g., h.sub.d, via the
second network interface, e.g., WIFI interface, corresponding to a
second network, the second identifier, e.g., h.sub.d, corresponding
to the first time varying data, e.g., d.
[0102] In some embodiments, the first time varying data, e.g., d,
is data which is available to other devices via the second network,
e.g., either from the first device, e.g., W.sub.0, or from devices
and/or servers which store first time varying data provided by the
first device. In some embodiments, the device including assembly of
modules 700 is the original source, e.g., W.sub.0, of the first
time varying data, e.g., d.
[0103] In various embodiments, the second identifier, e.g.,
h.sub.d, is different from the first identifier, e.g. c.sub.d. In
some embodiments, the second identifier, e.g., h.sub.d, also
corresponds to second information, e.g., a.sub.d, which is
available via the second network, said second information relating
to said first time varying data and describing dynamic
characteristics of the first time varying data. In some
embodiments, the second identifier, e.g., h.sub.d, also corresponds
to second information, e.g., a.sub.d, which is available via the
second network, said second information being data that was
generated by a source of said first time varying data and which
describes the rate of change of said first time varying data, e.g.,
rate of change of d. In some embodiments, the second identifier,
e.g., h.sub.d, also corresponds to second information, e.g., ad,
that provides information about characteristics of the source of
the first time varying data, e.g., characteristics about W.sub.0.
In some such embodiments, the characteristics of the source of the
first time varying data, e.g., d, include at least one of: mobility
level, power sources or Internet accessibility. In some
embodiments, the second identifier, e.g., h.sub.d, also corresponds
to second information, e.g. a.sub.d, that describes dynamic
characteristics of the first time varying data, e.g., d, and
provides information about characteristics of the source of the
first time varying data.
[0104] In some embodiments, the first network is a network which
includes one or more devices which broadcast expression identifiers
which can be resolved to other information using information
mapping expression identifiers to expressions, said first
identifier, e.g., c.sub.d, being an expression identifier
transmitted on the first network which resolves to said first
information, e.g., e.sub.d. In various embodiments, the first
network is a network from which said first time varying data is not
available. For example, the LTED network does not provide the first
time varying data, e.g., d, but allows devices to obtain
information indicating that the first time varying data is
available and where it can get the first time varying data, e.g.,
via the second network using the second identifier, e.g.
h.sub.d.
[0105] In some embodiments, the first network interface has a
longer transmission range than the second network interface.
[0106] In some embodiments, the first identifier, e.g., c.sub.d, is
assigned by a first network entity, e.g., a LTED ENS, responsible
for providing said first information, e.g., e.sub.d, in response to
a resolution request sent over the first network. In some such
embodiments, the first information, e.g., e.sub.d, and said first
identifier, e.g., c.sub.d, are static and remain unchanged during a
first period of time during which the first time varying data
changes. In some such embodiments, the first information, e.g.,
e.sub.d, includes said second identifier, e.g., h.sub.d.
[0107] In some embodiments, the first network interface is a device
to device cellular network interface, e.g., a LTED interface, and
the second interface is a non-cellular device to device network
interface. In some embodiments, the second interface is one of a
WIFI interface, a BT interface, or a BLE interface.
[0108] Assembly of modules 700 further includes a module 708
configured to transmit with the second identifier, e.g., h.sub.d,
first distance information indicating distance, e.g., in terms of
number of hops, from a provider of the first time varying data,
e.g., d. In some embodiments, the first distance information is one
of a number of hops to the source, e.g., W0, of said first time
varying data or a number of hops to a device, e.g., perhaps device
W1 if it stored the first time varying data, including a valid copy
of said first time varying data, e.g., a device which cached said
first time varying data.
[0109] Assembly of modules 700 further includes a module 710
configured to transmit with the second identifier, e.g., with
h.sub.d, second maximum propagation information including a number
of hops said second identifier is to be propagated from the source,
e.g., W.sub.0, of said first time varying data. In one exemplary
embodiments, an information triplet is transmitted with the second
identifier, and the first value of the information triple
communicates number of hops to the source, the second value of the
triplet communicates a number of hops said second identifier is to
be propagated from the source of the first time varying data, and
the third value of the information triplet communicates a number of
hops to a device, including a valid copy of the first time varying
data, e.g., the closet device in terms of number of hops including
a valid copy of the first time varying data.
[0110] Assembly of modules 700 further includes a module 714
configured to monitor for requests for said first time varying
information. Module 714 includes a module 716 configured to receive
a request for said first time varying data from a server, and
module 718 configured to receive a request for said first time
varying data from a UE device via the second network interface. In
various embodiments, a request for first time varying data includes
the second identifier, e.g., h.sub.d. Assembly of modules 700
further includes a module 720 configured to operate the source of
the first time varying data, e.g., device 600 including assembly of
modules 700, to communicate the first time varying data to a server
responsible for providing the first time varying data in response
to a request received by said server via an Internet interface or a
second network interface. In some embodiments, the server is a DAS
which may reside anywhere in the Internet or second network. In
some embodiments, module 720 communicates said first time varying
data to the server in response to a request for said first time
varying data received from said server, said request from said
server following receipt by said server for said first time varying
data of a request for said first time varying data from another
device, e.g., a UE device, e.g. W.sub.3.
[0111] Assembly of modules 700 further includes a module 722
configured to transmit said first time varying data to a UE device,
e.g., W.sub.1, via said second network interface in response to a
request received for said first time varying data from said UE
device via said second network interface. In some such embodiments,
the request received by the server includes the second identifier,
e.g. h.sub.d. In some embodiments, the request received for the
first time varying data from said UE device, e.g., W.sub.1, is from
a device, e.g., W.sub.1, acting as a relay device for another UE,
e.g., W.sub.2, seeking said first time varying data.
[0112] Assembly of modules 700 further includes a module 730
configured to create second information, e.g., a.sub.d, which
includes metadata the facilitates remote access of the first time
varying data, e.g., d, a module 732 configured to send second
information, e.g., a.sub.d, to a data access server (DAS), a module
734 configured to register with a DAS, a module 736 configured to
receive a second identifier, e.g., h.sub.d, from the DAS, which is
a hash that the DAS can resolve to a.sub.d, and a module 738
configured to create and publish an LTED expression, e.g., e.sub.d.
Module 738 includes a module 740 configured to send first
information, e.g., e.sub.d, to a LTED server, a module 742
configured to send the second identifier, e.g., h.sub.d, to a LTED
server, and a module 744 configured to receive a first identifier,
e.g., c.sub.d, e.g., an OTA Code corresponding to said first
information. Assembly of modules further includes a module 746
configured to associate the first and second identifiers with the
first time varying information.
[0113] Assembly of modules 700 further includes a module 748
configured to select one or more of a plurality of alternative
second networks to use, e.g., WIFI, BT, and/or BLE, to communicate
a second identifier, a module 650 configured to generate a first
type beacon, e.g., a LTED beacon, and a module 754 configured to
generate a second type beacon. Module 750 includes a module 752
configured to include a first identifier, e.g., cd, in said first
type beacon. Module 754 includes a WIFI beacon generation module
756 configured to generate WIFI beacons, a BT beacon generation
module 758 configured to generate Bluetooth beacons, a BLE beacon
generation module 760 configured to generate Bluetooth low energy
beacons, a module 762 configured to include a second identifier,
e.g., h.sub.d, in said second type beacon, and a module 764
configured to include additional information, e.g., an information
triplet, to be included with said second identifier in said second
type beacon. In some embodiments, the information triplet includes
3 information fields, the first information field specifying
distance from the original source of the first time varying data,
e.g., in terms of number of hops, the second information field
specifying the number of hops the second identifier is to
propagated from the source of the first time varying data, and the
third identifier specifying a distance from the a copy of the first
time varying data, e.g., original source copy at source, or
duplicate cached copy at another wireless device, of the first time
varying data, e.g., in terms of number of hops.
[0114] Assembly of modules 700 further includes a module 766
configured to determine that the first time varying data, e.g., d,
is being requested based on the recovered second identifier, e.g.,
h.sub.d, in the received request signal requesting time varying
data, a module 768 configured to generate a signal to be
communicated to a wireless device over the second network
communicating the requested time varying data, e.g. request first
time varying data, e.g., d, a module 770 configured to generate a
signal to be communicated, e.g., over the Internet, over a cellular
interface, or over the second network, to a server, e.g., a DAS,
communicating the requested time varying data, e.g., first time
varying data, e.g., d, and a module 772 configured to transmit
first time varying data, e.g., d, along with the second identifier,
e.g., h.sub.d, on the second network interface.
[0115] FIG. 8 is a drawing 800 illustrating an example in which an
intermediate wireless device, which may serve as a relay node,
includes of a cached copy of first time varying data, in accordance
with an exemplary embodiment. Consider that the same wireless
devices (W.sub.0 106, W.sub.1 108, and W.sub.2 110), are each
transmitting LTED beacons (860, 860', 860''), respectively
communicating first identifier c.sub.d 120, and are each
transmitting WIFI beacons (862, 862', 862''), respectively,
communicating second identifier h.sub.d 124. Further consider, that
in this example, W.sub.0 106 is the source of first time varying
data d and includes the original version of d(t=t3)orig 832.
Further consider that d(t=t3) has previously been communicated to
or via W.sub.1 108, and W.sub.1 108 decided to store the data in
its local cache. W.sub.1 1008 currently includes d(t=t3)cached
832'.
[0116] In beacon 862, transmitted from W.sub.0 106, information
triplet 125={0:3:0}, indicating that W.sub.0 106 is 0 hops away
from the original source of the first time varying data; the second
identifier h.sub.d 124 is to be propagated for 3 beacon hops from
the original source, and the nearest source of first time varying
data is 0 hops away from W.sub.0 106. Note W.sub.0 106 is the
original source for first time varying data d.
[0117] In beacon 862', transmitted from W.sub.1 108, information
triplet 825'={1:3:0}, indicating that W.sub.1 108 is 1 hop away
from the original source of the first time varying data; the second
identifier h.sub.d 124 is to be propagated for 3 beacon hops from
the original source, and the nearest source of first time varying
data is 0 hops away from W.sub.1 108. Note W.sub.1 108 I includes a
cached copy of first time varying data d.
[0118] In beacon 862'', transmitted from W.sub.2 110, information
triplet 825''={2:3:1}, indicating that W.sub.2 110 is 2 hops away
from the original source of the first time varying data; the second
identifier h.sub.d 124 is to be propagated for 3 beacon hops from
the original source, and the nearest source of first time varying
data is 1 hops away from W.sub.2 110.
[0119] FIG. 9 is a drawing 900 illustrating three exemplary
wireless devices which may be sources of time varying data in
accordance with an exemplary embodiment. Wireless device W.sub.A
906 included within a restaurant A 901 advertises wait time for a
table. W.sub.A 932 includes d.sub.A(t) 932 which is time varying
data which represents the wait time for a table. Wireless device
W.sub.B 1906 included at gas station B site 1901 advertises
gasoline price. W.sub.B 1932 includes d.sub.B(t) 1932 which is time
varying data which represents the price for regular gasoline at gas
station B. Wireless device W.sub.C 2906 located within a bus 2901
advertises the number of vacant seats on the bus C. W.sub.C 2932
includes d.sub.C(t) 2932 which is time varying data which
represents the number of vacant seats on bus C.
[0120] W.sub.A 906 transmits LTED beacon 960 communicating first
identifier C.sub.dA, which is an OTACode which maps to information
indicating that restaurant A data indicating wait time for a table
is available. W.sub.A 906 transmits WIFI beacon 962 communicating
second identifier h.sub.dA, which can be used in a request signal
to request the value of the wait time for a table at restaurant
A.
[0121] W.sub.B 1906 transmits LTED beacon 1960 communicating first
identifier C.sub.dB, which is an OTACode which maps to information
indicating that gas station B data indicating price for regular
gasoline is available. W.sub.B 1906 transmits WIFI beacon 1962
communicating second identifier h.sub.dB, which can be used in a
request signal to request the value of regular gasoline at gas
station B.
[0122] W.sub.C 2906 transmits LTED beacon 2960 communicating first
identifier C.sub.dC, which is an OTACode which maps to information
indicating that bus C data indicating the number of vacant seats on
bus C is available. W.sub.C 2906 transmits WIFI beacon 2962
communicating second identifier h.sub.dC, which can be used in a
request signal to request the number of vacant seats on bus C.
[0123] Beacon 962 includes information triplet field 925={0:3:0},
in which the second value of the triplet indicates that h.sub.dA is
to be propagated 3 beacon hops from source device 906. Beacon 1962
includes information triplet field 1925={0:5:0}, in which the
second value of the triplet indicates that h.sub.dB is to be
propagated 5 beacon hops from source device 1906. Beacon 2962
includes information triplet field 2925={0:8:0} indicating that
h.sub.dC is to be propagated 8 beacon hops from source device
2906.
[0124] The exemplary source devices 906, 1906, and 2906 may be part
of a large communications system, e.g., the communications system
of FIG. 1, in which there are many more wireless devices, e.g.,
hundreds or thousands or tens of thousands of wireless devices,
etc., which can transmits and receive beacon signals. Source
devices for time varying data, which transmit beacons and source
requested time varying data may also receive beacons, retransmit
received beacons and request time varying data from other devices
in the system. Some wireless devices in the system may receive
beacons, and retransmit beacons, and request and receive time
varying data, but may not necessarily be an original source of time
varying data.
[0125] Various aspects and/or features of some embodiments, are
further discussed below.
[0126] An exemplary Transmission Path Database (TPDB.sub.local)
will now be described. Each wireless device maintains a local
Transmission Path Database (TPDB). A device's local TPDB is a
graph-based data structure that captures its firsthand perception
of network events on its network interfaces.
[0127] A vertex represents a wireless device. A vertex is labeled
with unique device identifier (e.g., MAC address, Android ID, Apple
UDID, serial number).
[0128] An edge represents 1-hop reachability between two devices on
a particular network interface. An edge is labeled with the
corresponding network interface (e.g., LTED, WiFi, BT, BLE), one or
more time intervals (i.e., (start time, end time)), and any network
reception events that occurred in those intervals.
[0129] A network reception event includes: a unique reception event
identifier (i.e., unique in the local TPDB); time of event; sender
device identifier; what was received (e.g., d, e.sub.d, c.sub.d,
h.sub.d: {hop-triplet}), and any network or extra sensor metadata
(e.g., RSSI, geolocation, etc.)
[0130] An exemplary LTED Cache & TPDB.sub.local Index will now
be described. Given a c.sub.d (LTED OTACode) this data structure
will return: (i) the e.sub.d that c.sub.d resolves to (The ENS is
to be contacted if e.sub.d cannot be locally resolved.) and (ii)
each of the reception event identifiers (and associated edges and
nodes) in the local TPDB in which c.sub.d was received.
[0131] An exemplary Data Access Cache & TPDB.sub.local Index
will now be described. Given a h.sub.d (DAS hash code), this data
structure will return: (i) the associated c.sub.d, if any; (ii) a
list of (t, d(t)) pairs indicating the value of d at time t if d
has been accessed (if any); (iii) the public fields of a.sub.d (if
a.sub.d has been obtained); and (iv) each of the reception event
identifiers (and associated edges and nodes) in the local TPDB in
which h.sub.d was received.
[0132] An exemplary Transmission Path Database (TPDB.sub.global)
will now be described. The Data Access Server (DAS) maintains a
global Transmission Path Database (TPDB). The global TPDB is a
graph-based data structure that approximates the system-wide view
of network events on participating devices' network interfaces.
This structure is identical to TPDBlocal, but aggregates input from
all participating system wireless devices.
[0133] An exemplary Data Access Database will now be described. A
database includes the following attributes (i) h.sub.d:
DAS-assigned hash code; (ii) a.sub.d: data access metadata; (iii)
c.sub.d: LTED OTACode; (iv) w.sub.i: wireless device provider's
unique device identifier; (v) and w.sub.i's listening IP
address(es) and port(s) (if applicable).
[0134] A exemplary Data Access Cache will now be described. A
global cache including time stamped data values d(t) that can be
retrieved by associated h.sub.d hash.
[0135] The techniques of various embodiments may be implemented
using software, hardware and/or a combination of software and
hardware. Various embodiments are directed to apparatus, e.g., a
communications device such as a wireless device, e.g., a UE, a base
station, a LTE Direct ENS, a Data Access Server (DAS), etc. Various
embodiments, are well suited for wireless communications systems
supporting D2D signaling including beacons and different
technologies, e.g., in combination, e.g., LTED and at least one of
WIFI, BT, and BLE. Various embodiments are directed to
communications systems. Various embodiments are also directed to
methods, e.g., a method of operating a communications such as a
wireless device, e.g., a UE, a base station, a LTE Direct ENS, a
Data Access Server (DAS), etc. etc. Various embodiments are also
directed to machine, e.g., computer, readable medium, e.g., ROM,
RAM, CDs, hard discs, etc., which include machine readable
instructions for controlling a machine to implement one or more
steps of a method. The computer readable medium is, e.g.,
non-transitory computer readable medium.
[0136] It is understood that the specific order or hierarchy of
steps in the processes disclosed is an example of exemplary
approaches. Based upon design preferences, it is understood that
the specific order or hierarchy of steps in the processes may be
rearranged while remaining within the scope of the present
disclosure. The accompanying method claims present elements of the
various steps in a sample order, and are not meant to be limited to
the specific order or hierarchy presented.
[0137] In various embodiments nodes described herein are
implemented using one or more modules to perform the steps
corresponding to one or more methods, for example, making a
handover type decision, implementing the decision, signal
generation, signal transmission, signal reception, signal
processing, and/or other steps. Thus, in some embodiments various
features are implemented using modules. Such modules may be
implemented using software, hardware or a combination of software
and hardware. Many of the above described methods or method steps
can be implemented using machine executable instructions, such as
software, included in a machine readable medium such as a memory
device, e.g., RAM, floppy disk, etc. to control a machine, e.g.,
general purpose computer with or without additional hardware, to
implement all or portions of the above described methods, e.g., in
one or more nodes. Accordingly, among other things, various
embodiments are directed to a machine-readable medium, e.g., a
non-transitory computer readable medium, including machine
executable instructions for causing a machine, e.g., processor and
associated hardware, to perform one or more of the steps of the
above-described method(s). Some embodiments are directed to an
apparatus, e.g., a communications device such as a wireless device,
e.g., a UE, including a processor configured to implement one,
multiple or all of the steps of one or more methods of the
invention.
[0138] In some embodiments, the processor or processors, e.g.,
CPUs, of one or more devices, e.g., of the communications device
such as a wireless device, e.g., a UE, a base station, a LTE Direct
ENS, a Data Access Server (DAS), etc. are configured to perform the
steps of the methods described as being performed by the apparatus.
The configuration of the processor may be achieved by using one or
more modules, e.g., software modules, to control processor
configuration and/or by including hardware in the processor, e.g.,
hardware modules, to perform the recited steps and/or control
processor configuration. Accordingly, some but not all embodiments
are directed to a device, e.g., such as communications device with
a processor which includes a module corresponding to each of the
steps of the various described methods performed by the device in
which the processor is included. In some but not all embodiments an
apparatus, e.g., a communications device includes a module
corresponding to each of the steps of the various described methods
performed by the device in which the processor is included. The
modules may be implemented using software and/or hardware.
[0139] Some embodiments are directed to a computer program product
comprising a computer-readable medium, e.g., a non-transitory
computer-readable medium, comprising code for causing a computer,
or multiple computers, to implement various functions, steps, acts
and/or operations, e.g. one or more steps described above.
Depending on the embodiment, the computer program product can, and
sometimes does, include different code for each step to be
performed. Thus, the computer program product may, and sometimes
does, include code for each individual step of a method, e.g., a
method of controlling a communications device. The code may be in
the form of machine, e.g., computer, executable instructions stored
on a computer-readable medium, e.g., a non-transitory
computer-readable medium, such as a RAM (Random Access Memory), ROM
(Read Only Memory) or other type of storage device. In addition to
being directed to a computer program product, some embodiments are
directed to a processor configured to implement one or more of the
various functions, steps, acts and/or operations of one or more
methods described above. Accordingly, some embodiments are directed
to a processor, e.g., CPU, configured to implement some or all of
the steps of the methods described herein.
[0140] Various features are directed to a system including multiple
communications devices including, for example, multiple wireless
devices, e.g., multiple UEs including multiple interfaces and the
capability to send and received two or more different types of
beacons, multiple base station, a LTE Direct ENS, a Data Access
Server (DAS), etc. Some devices may be network nodes. Some of the
devices may be stationary wireless communications devices; other
devices may be mobile wireless devices. In various embodiments the
communications devices and/or network nodes or entities are
implemented as hardware, e.g., separate devices each including a
communications interface for sending and/or receiving signals
communicating data or other information, one or more processors and
memory. In some embodiments the memory includes data and/or control
routines. In at least some embodiments the one or more processors
operate under control instructions in the control routine or
routines stored in the node's memory. Thus, when executed by the
processor, the instructions in the node or other network entity to
perform the functions in accordance with one or more of the methods
described herein. In some embodiments the processor or processors
of individual nodes are special purposed processors, e.g., ASICs,
with hardware circuitry which is configured to implement or control
the node or network entity in which the special purpose processor
is located to implement one or more steps in accordance with a
method or methods described herein. In at least some embodiments,
circuits and/or other hardware are used to implement the node or
method resulting in a fully hardware implemented embodiment.
[0141] Numerous additional variations on the methods and apparatus
of the various embodiments described above will be apparent to
those skilled in the art in view of the above description. Such
variations are to be considered within the scope. Numerous
additional embodiments, within the scope of the present invention,
will be apparent to those of ordinary skill in the art in view of
the above description and the claims which follow. Such variations
are to be considered within the scope of the invention.
* * * * *