U.S. patent application number 16/563042 was filed with the patent office on 2019-12-26 for method and apparatus for plug and play, networkable iso 18000-7 connectivity.
The applicant listed for this patent is Blackbird Technology Holdings, Inc.. Invention is credited to John Peter Norair.
Application Number | 20190391821 16/563042 |
Document ID | / |
Family ID | 46636827 |
Filed Date | 2019-12-26 |
United States Patent
Application |
20190391821 |
Kind Code |
A1 |
Norair; John Peter |
December 26, 2019 |
METHOD AND APPARATUS FOR PLUG AND PLAY, NETWORKABLE ISO 18000-7
CONNECTIVITY
Abstract
A device may comprise a Universal Serial Bus (USB) interface and
a wireless interface operable to communicate in accordance with the
ISO 18000-7 standard. The device may be operable to receive a
command via the USB interface and transmit the command via the
wireless interface. The device may be operable to receive data via
the wireless interface and transmit the data via the USB interface.
A form factor of the USB device may be such that it can be plugged
directly into a USB port without any external cabling between the
USB device and said USB port.
Inventors: |
Norair; John Peter; (San
Francisco, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Blackbird Technology Holdings, Inc. |
Dover |
DE |
US |
|
|
Family ID: |
46636827 |
Appl. No.: |
16/563042 |
Filed: |
September 6, 2019 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
16246957 |
Jan 14, 2019 |
|
|
|
16563042 |
|
|
|
|
15988337 |
May 24, 2018 |
|
|
|
16246957 |
|
|
|
|
15782050 |
Oct 12, 2017 |
|
|
|
15988337 |
|
|
|
|
15446511 |
Mar 1, 2017 |
|
|
|
15782050 |
|
|
|
|
15212712 |
Jul 18, 2016 |
|
|
|
15446511 |
|
|
|
|
15009335 |
Jan 28, 2016 |
|
|
|
15212712 |
|
|
|
|
14819891 |
Aug 6, 2015 |
|
|
|
15009335 |
|
|
|
|
14667394 |
Mar 24, 2015 |
|
|
|
14819891 |
|
|
|
|
14564943 |
Dec 9, 2014 |
|
|
|
14667394 |
|
|
|
|
13396708 |
Feb 15, 2012 |
8909865 |
|
|
14564943 |
|
|
|
|
61463224 |
Feb 15, 2011 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 13/4068 20130101;
G06F 13/4282 20130101; H01Q 1/2275 20130101; G06F 9/4413 20130101;
G06F 13/4291 20130101; H04L 12/40032 20130101; H01Q 1/242 20130101;
G06F 13/4221 20130101; H01Q 1/084 20130101; G06F 13/385 20130101;
G06F 13/4081 20130101; H01Q 1/10 20130101; H04B 1/40 20130101 |
International
Class: |
G06F 9/4401 20060101
G06F009/4401; G06F 13/42 20060101 G06F013/42; G06F 13/40 20060101
G06F013/40; H01Q 1/10 20060101 H01Q001/10; H01Q 1/22 20060101
H01Q001/22; H01Q 1/24 20060101 H01Q001/24; H01Q 1/08 20060101
H01Q001/08; H04B 1/40 20060101 H04B001/40; H04L 12/40 20060101
H04L012/40; G06F 13/38 20060101 G06F013/38 |
Claims
1. A USB device comprising: one or more circuits comprising a
Universal Serial Bus (USB) interface and a wireless interface
operable to communicate in accordance with the ISO 18000-7
standard, said one or more circuits being operable to: receive a
command via said USB interface; and transmit said command via said
wireless interface.
2. The system of claim 1, wherein a form factor of said USB device
is such that it can be plugged directly into a USB port without any
external cabling between said USB device and said USB port.
3. The system of claim 1, wherein, during enumeration of said USB
device, said one or more circuits communicate one or more
descriptors according to the USB Device Class Definition for
Printing Devices.
4. The system of claim 3, wherein said command is received via a
Bulk OUT pipe of said USB bus.
5. The system of claim 1, wherein said one or more circuits
comprise memory in which a filesystem resides.
6. The system of claim 5, wherein said one or more circuits are
operable to search said filesystem in response to said command
received via said USB interface and/or in response to a command
received via said wireless interface.
7. The system of claim 6, wherein said one or more circuits are
operable to output results of said search via said wireless
interface and/or said USB interface.
8. The system of claim 5, wherein said one or more circuits are
operable to read data from said memory and output said data via
said USB interface and/or said wireless interface.
9. The system of claim 5, wherein said one or more circuits are
operable to receive data via said USB interface and/or said
wireless interface and write said received data to said memory.
10. The system of claim 1, wherein said one or more circuits are
operable to generate log data of activities and/or events occurring
in said USB device and output said log data via said USB bus.
11. The system of claim 1, wherein: said USB device is connected to
a network switch and/or router via said USB interface and a USB
port of said network switch and/or router; said USB port is
assigned a network address by said network switch and/or router;
said network switch and/or router is operable to receive network
packets destined for said assigned network address and convey
contents of said received network packets to said USB device via
said USB interface and said USB port.
12. The system of claim 1, wherein: said USB device is a client
device connected to a network switch and/or router via said USB
interface; said network switch and/or router is operable to
associate said client USB device with a network address of a host
USB device; said network switch and/or router is operable to
receive data from said client USB device via said USB interface;
and said network switch and/or router is operable to transmit said
received data to said network address of said host USB device.
13. A USB device comprising: one or more circuits comprising a
Universal Serial Bus (USB) interface and a wireless interface
operable to communicate in accordance with the ISO 18000-7
standard, said one or more circuits being operable to: receive data
via said wireless interface; and transmit said data via a USB
interface.
14. The system of claim 13, wherein a form factor of said USB
device is such that it can be plugged directly into a USB port
without any external cabling between said USB device and said USB
port.
15. The system of claim 13, wherein, during enumeration of said USB
device, said one or more circuits communicate one or more
descriptors according to the USB Device Class Definition for
Printing Devices.
16. The system of claim 15, wherein said data is transmitted via a
Bulk IN pipe of said USB bus.
17. The system of claim 13, wherein said one or more circuits
comprise memory in which a filesystem resides.
18. The system of claim 17, wherein said one or more circuits are
operable to search said filesystem in response to a command
received via said USB interface and/or in response to a command
received via said wireless interface.
19. The system of claim 18, wherein said one or more circuits are
operable to output results of said search via said wireless
interface and/or said USB interface.
20. The system of claim 17, wherein said one or more circuits are
operable to read data from said memory and output said data via
said USB interface and/or said wireless interface.
Description
CLAIM OF PRIORITY
[0001] This patent application is a continuation of U.S. patent
application Ser. No. 16/246,957, filed on Jan. 14, 2019, which is a
continuation of U.S. patent application Ser. No. 15/988,337, filed
on May 24, 2018, which is a continuation of U.S. patent application
Ser. No. 15,782,050, filed on Oct. 12, 2017, which is a
continuation of U.S. patent application Ser. No. 15/446,511, filed
on Mar. 1, 2017, which is a continuation of U.S. patent application
Ser. No. 15/212,712, filed on Jul. 18, 2016, which is a
continuation of U.S. patent application Ser. No. 15/009,335, filed
on Jan. 28, 2016, which is a continuation of U.S. patent
application Ser. No. 14/819,891, filed on Aug. 6, 2015, which is
continuation of U.S. patent application Ser. No. 14/667,394, filed
on Mar. 24, 2015, which is a continuation of U.S. patent
application Ser. No. 14/564,943, filed on Dec. 9, 2014, which is a
continuation of U.S. patent application Ser. No. 13/396,708, filed
on Feb. 15, 2012, which in turn makes reference to, claims priority
to and claims benefit from U.S. Provisional Patent Application Ser.
No. 61/463,224, filed on Feb. 15, 2011. Each of the above
identified applications is hereby incorporated herein by reference
in its entirety.
INCORPORATION BY REFERENCE
[0002] This Patent Application Serial No. also makes reference to:
[0003] U.S. Provisional Patent Application Ser. No. 61/464,376
entitled "Advanced Communication System for Wide-area Low Power
Wireless Applications and Active RFID" and filed on Mar. 2, 2011;
[0004] U.S. patent application Ser. No. 13/267,640 entitled "Method
and Apparatus for Adaptive Searching of Distributed Datasets" and
filed on Oct. 6, 2011; [0005] U.S. patent application Ser. No.
13/270,802 entitled "Method and Apparatus for a Multi-band,
Multi-mode Smartcard" and filed on Oct. 11, 2011; [0006] U.S.
patent application Ser. No. 13/354,513 entitled "Method and
Apparatus for Memory Management" and filed on Jan. 20, 2012; and
[0007] U.S. patent application Ser. No. 13/354,615 entitled "Method
and Apparatus for Discovering People, Products, and Services via a
Localized Wireless Network" and filed on Jan. 20, 2012.
[0008] Each of the above-referenced applications is hereby
incorporated herein by reference in its entirety.
FIELD OF THE INVENTION
[0009] Certain embodiments of the invention relate to wireless
networking. More specifically, certain embodiments of the invention
relate to a method and apparatus for plug and play, networkable ISO
18000-7 connectivity.
BACKGROUND OF THE INVENTION
[0010] Existing methods and systems for ISO 18000-7 communications
are of limited functionality and flexibility. Further limitations
and disadvantages of conventional and traditional approaches will
become apparent to one of skill in the art, through comparison of
such systems with some aspects of the present invention as set
forth in the remainder of the present application with reference to
the drawings.
BRIEF SUMMARY OF THE INVENTION
[0011] A system and/or method is provided for plug and play,
networkable ISO 18000-7 connectivity, substantially as illustrated
by and/or described in connection with at least one of the figures,
as set forth more completely in the claims.
[0012] These and other advantages, aspects and novel features of
the present invention, as well as details of an illustrated
embodiment thereof, will be more fully understood from the
following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 is block diagram of an exemplary USB device which
enables communications in conformance with ISO 18000-7.
[0014] FIGS. 2A-2C depict exemplary form factors of a USB device
which enables communications in conformance with ISO 18000-7.
[0015] FIG. 3 depicts an exemplary network switching and/or routing
device operable to provide network connectivity to an ISO 18000-7
enabled USB device.
[0016] FIG. 4 is a flowchart illustrating exemplary steps for ISO
18000-7 communications via an ISO 18000-7 enabled USB device
connected to a computing device.
[0017] FIG. 5 is another flowchart illustrating exemplary steps for
ISO 18000-7 communications via an ISO 18000-7 enabled USB device
connected to a computer.
[0018] FIG. 6A is a flowchart illustrating exemplary steps for ISO
18000-7 communications via an ISO 18000-7 enabled USB device
connected to a network switch and/or router.
[0019] FIG. 6B is another flowchart illustrating exemplary steps
for ISO 18000-7 communications via an ISO 18000-7 enabled USB
device connected to a network switch and/or router.
DETAILED DESCRIPTION OF THE INVENTION
[0020] As utilized herein the terms "circuits" and "circuitry"
refer to physical electronic components (i.e. hardware) and any
software and/or firmware ("code") which may configure the hardware,
be executed by the hardware, and or otherwise be associated with
the hardware. As utilized herein, "and/or" means any one or more of
the items in the list joined by "and/or". As an example, "x and/or
y" means any element of the three-element set {(x), (y), (x, y)}.
In other words, "x and/or y" means "one or both of x and y." As
another example, "x, y, and/or z" means any element of the
seven-element set {(x), (y), (z), (x, y), (x, z), (y, z), (x, y,
z)}. In other words, "x, y and/or z" means "one or more of x, y,
and z." As utilized herein, the term "exemplary" means serving as a
non-limiting example, instance, or illustration. As utilized
herein, the terms "for example" and "e.g." set off lists of one or
more non-limiting examples, instances, or illustrations.
[0021] FIG. 1 is block diagram of an exemplary USB device which
enables communications in conformance with ISO 18000-7. The USB
device 102 comprises a clock 104, a USB interface 106, a CPU 108, a
memory 110, and a wireless interface 112 comprising a processor
114, an analog front end (AFE) 116, and an antenna 118.
[0022] The clock 104 may be operable to generate one or more
oscillating signals which may be utilized to control synchronous
circuitry of the USB device 102. The clock 104 may comprise, for
example, one or more crystal oscillators, phase-locked loops,
and/or direct digital synthesizers.
[0023] The USB interface 106 may be operable to receive information
via the bus 120, process the information to generate one or more
USB packets, and transmit the USB packets onto a USB bus.
Similarly, the USB interface 106 may be operable to receive USB
packets, process the packets recover received information, and
output the information on the bus 120.
[0024] The CPU 108 may be operable to control operation of the
device 102. The CPU 108 may, for example, execute instructions and
perform arithmetic and/or logic operations in response to the
executed instructions. The CPU 108 may generate one or more control
signals for controlling the operation of the device 102.
[0025] The memory module 110 may comprise volatile memory operable
to store runtime data and/or non-volatile memory operable to store
data that is persistent over multiple power cycles of the device
102. The memory module 110 may comprise addressing/control logic
which implements read and write operations in response to read and
write commands issued to the memory module 110. In an exemplary
embodiment, the memory may be managed as described in the
above-incorporated U.S. patent application Ser. No. 13/354,513. In
an exemplary embodiment, the memory module 110 may store data
arranged as a Universal Data Block (UDB) as, for example, described
in the above-incorporated U.S. patent application Ser. No.
13/354,615. In an exemplary embodiment, the memory module 110 may
store device, configuration, interface, and/or endpoint descriptors
associated with a USB Device Class to which the device 102 belongs.
The descriptors for the various USB Device Classes are set forth in
the USB Device Class Definitions maintained by the USB
Implementer's Forum (USB-IF).
[0026] The wireless interface 112 may be operable to communicate
wirelessly in accordance with, for example, protocols specified in
ISO 18000-7, and/or protocols described in the above-incorporated
U.S. Provisional Patent Application Ser. No. 61/464,376 filed on
Mar. 2, 2011 (collectively referred to herein as ISO 18000-7). The
invention is not necessarily limited in regard to the frequencies
on which the wireless interface 112 may communicate.
[0027] The processor 114 may comprise circuitry operable to
interface with the AFE 116 to receive and transmit data, and to
process received and to-be-transmitted data. For transmission, the
processor 114 may be operable to receive data via the bus 120,
packetize and/or otherwise process the data to prepare it for
transmission in accordance with the wireless protocol(s) in use,
and output the data to the AFE 116 for transmission. For reception,
the processor 114 may be operable to receive data via the AFE 116,
process the received data in accordance with the wireless
protocol(s) in use, and output received data onto the bus 120.
[0028] Although FIG. 1 depicts the antenna 118 as being integrated
with the device 102, as shown in FIGS. 2A-2C, various USB devices
may have internal antennas, external but affixed antennas, and/or a
connector for connecting to a removable external antenna.
[0029] Upon the device 102 being connected to a USB bus (e.g.,
plugged into a USB port of a computing device), the USB interface
106 may participate in enumeration of the device 102 in accordance
with USB specifications. Enumeration may comprise descriptors being
sent by the device 102. In an exemplary embodiment, the descriptors
stored in, and transmitted by the device 102 during enumeration,
may be as set forth in the USB Device Class Definition for Printing
Devices, for example. In such an embodiment, after setup of the USB
connection, the messages exchanged over the USB bus, and the manner
in which the messages are exchanged, may be in accordance with the
USB Device Class Definition for Printing Devices, for example. In
other exemplary embodiments, the device 102 may use a different USB
device class definition such as, for example, the device class
definition for mass storage devices or the device class definition
for human-interface devices.
[0030] During operation, the device 102 may perform actions in
response to USB packets received via the USB interface 106. The USB
packets may, for example, comprise an instruction in accordance
with an application programming interface (API) of the device 102.
For example, in response to such an instruction, the device 102 may
generate and transmit one or more ISO 18000-7 commands via the
wireless interface 112. Additionally or alternatively, the USB
packets may, for example, comprise data to be transmitted via the
wireless interface 112. The data may be, for example, data
retrieved from memory in response to a previously-received ISO
18000-7 command. In such instances, the data may be extracted from
the USB packets by the USB interface 106 and/or the CPU 108, and
then conveyed to the wireless interface 112 where it may be
processed (e.g., packetized, encoded, etc.) and transmitted in
accordance with ISO 18000-7.
[0031] During operation, the device 102 may also perform actions in
response to ISO 18000-7 commands received via the wireless
interface 112. For example, in response to a command received via
the wireless interface 112, the device 102 may perform a search of
the memory 110 and may generate and transmit one or more response
packets via the wireless interface 112. Additionally or
alternatively, the device 102 may generate one or more USB packets
in response to such a command. A USB host device receiving such USB
packets may perform a search of its memory and communicate the
search results back to the device 102, which may then communicate
the search results via the wireless interface 112.
[0032] In an exemplary embodiment, the device 102 may be operable
to generate a log of a status of the device 102 and/or events
occurring in the device 102. For example, a description of commands
generated and/or received and responses generated and/or received
by the device 102 may be logged in a text file. The text file may
be stored in the memory 110 and/or may be output via the USB
interface 106 for storage to a device having greater memory
resources.
[0033] In an embodiment of the invention, the memory 110 may be
utilized to store more recent and/or important data and older
and/or less important data may be output via the USB interface 106
for storage in a memory that is external to the device 102.
[0034] In an exemplary embodiment, the device 102 may transmit
search requests and/or receive, perform, and respond to search
requests as is described in the above-incorporated U.S. patent
application Ser. No. 13/267,640.
[0035] In an exemplary embodiment, the device 102 may be an
embodiment of the smartcard described in the above-incorporated
U.S. patent application Ser. No. 13/270,802 and may comprise
circuitry and/or functionality described therein.
[0036] FIGS. 2A-2B depict exemplary form factors of an exemplary
USB device which enables communications in conformance with ISO
18000-7. The USB device 102A comprises a connector 118 for
connecting to an external antenna and a male USB connector for
plugging into a USB port. The USB device 102B comprises an affixed
and movable antenna 120 and a male USB connector for plugging into
a USB port. The USB device 102C comprises an internal antenna (not
shown) and a male USB connector for plugging into a USB port. Each
of the devices shown in FIGS. 2A-2B may, for example, have length,
width, and height dimensions on the order of centimeters.
[0037] FIG. 3 depicts an exemplary network switching and/or routing
device operable to provide network connectivity to an ISO 18000-7
enabled USB device. The switching and/or routing device 302
comprises antennas 304a and 304b, USB ports 306a-306d, power port
308, and wired networking port 310.
[0038] The antennas 304a and 304b may enable the device 302 to
transmit and receive signals in accordance with one or more
wireless protocols. For example, the antennas 304a and 304b may
enable the device 302 to communicate in conformance with IEE 802.11
standards.
[0039] The USB ports 306a-306d may enable the device 302 to
communicate with other devices via one or more USB busses. The
device 302 may also be operable to supply power to other devices
via the USB ports 306a-306d.
[0040] The device 302 may be operable to receive DC and/or AC power
via the power port 308. The power port 308 may, for example,
connect to an AC/DC converter which, in turn, connects to a 120VAC
wall outlet.
[0041] The wired networking port 310 may enable the device 302 to
connect to a wired network such as, for example, an Ethernet
network, a DOCSIS network, a DSL network, a MoCA network, etc.
[0042] In operation, circuitry of the device 302 may be operable to
switch (e.g., at OSI layer 2) and/or route (e.g., at OSI layer 3)
packets between a wireless network (via the antennas 304a and
304b), a wired network (via the port 310), and one or more USB
busses (via the USB ports 306a-306d).
[0043] In an exemplary embodiment, each of the USB ports 306a-306d
may be assigned a layer 2 address (e.g., a MAC) and/or a layer 3
address (e.g., an IP address). Accordingly, a remote device coupled
to the device 302 via the antennas 304a and 304b or via the port
310 may be enabled to send data to a particular one of USB ports
306a-306d by sending one or more packets to the layer 2 and/or
layer 3 address associated with that particular USB port. For
example, with the ISO 18000-7 device connected to USB port 306c as
shown in FIG. 3, network devices may send messages to the USB
device 102 by sending the messages to the layer 2 and/or layer 3
address associated with the USB port 306c.
[0044] In an exemplary embodiment, the device 302 may be operable
to associate one or more of the USB ports 306a-306d with a
destination layer 2 and/or layer 3 address. That is, packets
received via a particular one of the USB ports 306a-306d may be
automatically forwarded to the layer 2 and/or layer 3 address(es)
associated with that particular USB port. Additionally and/or
alternatively, the device 302 may be operable to parse USB packets
received via the USB ports 306a-306d to extract a destination layer
2 and/or layer 3 address(es) from the packets, and then forward the
packets to that layer 2 and/or layer 3 address(es). Accordingly, a
device coupled to a particular one of the USB ports 306a-306d may
be enabled to send messages to remote devices via a wired and/or
wireless network. For example, with the ISO 18000-7 device
connected to USB port 306c as shown in FIG. 3, the device 102 may
output USB packets to the device 302 which may then forward the
contents of the USB packets to the address that is associated with
the USB port 306c and/or that is indicated in the USB packets.
[0045] FIG. 4 is a flowchart illustrating exemplary steps for ISO
18000-7 communications via an ISO 18000-7 enabled USB device
connected to a computing device. The exemplary steps begin with
step 402 in which an ISO 18000-7 enabled USB device 102 is
connected to a USB port of a computing device (e.g., a laptop,
tablet, smartphone, etc.).
[0046] In step 404, the USB device 102 and the computing device
exchange control messages to identify and enumerate the USB device
102.
[0047] In step 406, an application running on the computing device
(e.g., an application which has a user interface such as, for
example, is described in the above-incorporated U.S. patent
application Ser. No. 13/267,640) outputs data intended to trigger
transmission of an ISO 18000-7 command. For example, the
combination of the computing device and the USB device 102 may
operate as an ISO 18000-7 interrogator and the message may be a
command to interrogate ISO 18000-7 tags within range of the
wireless interface 112.
[0048] In step 408, a USB bus adaptor of the computing device
encapsulates the data output by the application into one or USB
packets and transmits the packets to the device 102 via the USB
bus.
[0049] In step 410, the USB device 102 receives the USB packets via
the USB interface 106. The USB interface 106 and/or the CPU 108
processes the received packets to detect the data output by the
application in step 406.
[0050] In step 412, the device 102 generates an ISO 18000-7 command
based on the data received from the computing device. The ISO
18000-7 command is transmitted via the wireless interface 112.
[0051] In step 414, the device 102 receives one or more ISO 18000-7
responses via the wireless interface 112. The responses may have
been transmitted by, for example, one or more ISO 18000-7 tags
within communication range of the wireless interface 112.
[0052] In step 416, the device 102 processes the received
response(s). For example, the device 102 may remove headers and/or
other fields to recover the response data.
[0053] In step 418, the device 102 generates one or more USB
packets based on the received responses. For example, the response
data from the ISO 18000-7 responses may be encapsulated in the USB
packet(s). The USB packet(s) are sent to the computing device via
the USB interface 106.
[0054] In step 420, the computing device processes the received USB
packet(s). For example, the headers of the USB packet(s) may be
removed to recover the response data.
[0055] In step 422, the data recovered from the USB packets is
conveyed to the application and the application presents the
response(s) to a user.
[0056] FIG. 5 is another flowchart illustrating exemplary steps for
ISO 18000-7 communications via an ISO 18000-7 enabled USB device
connected to a computer. The exemplary steps begin with step 502 in
which an ISO 18000-7 enabled USB device 102 is connected to a USB
port of a computing device (e.g., laptop, tablet, smartphone,
etc.).
[0057] In step 504, the USB device 102 and the computing device
exchange control messages to identify and enumerate the USB device
102.
[0058] In step 506, the USB device 102 receives an ISO 18000-7
command via the wireless interface 112. For example, the USB device
102 may operate as an ISO 18000-7 tag and receive a command from an
ISO 18000-7 interrogator.
[0059] In step 508, the memory 110 of the USB device 102 is
searched in response to the command received in step 506. For
example, the memory 110 may be searched for a match of character,
string, and/or number contained in the received command.
[0060] In step 510, it is determined whether a match was found in
the memory 110. If a match was found, then in step 512, a response
indicating that a match was found, and possibly containing addition
response data, is generated and transmitted via the wireless
interface 112.
[0061] Returning to step 510, if no match was found in the memory
110, then in step 514 the device 102 generates and sends one or
more USB packet(s) to the computing device. The USB packet(s) may
indicate the ISO 18000-7 command that was received in step 506.
[0062] In step 516, memory of the computing device is searched in
response to the ISO 18000-7 command communicated in the USB
packet(s). For example, the memory 110 may be searched for a match
of character, string, and/or number contained in the received
command.
[0063] In step 518, it is determined whether a match was found in
the memory of the computing device. If a match was found, then, in
step 520, a response indicating that a match was found, and
possibly containing addition response data, is communicated to the
USB device 102 in the form of one or more USB packets.
[0064] In step 522, the response data received from the computing
device in step 520 is transmitted via the wireless interface 112 in
the form of one or more ISO 18000-7 response packets.
[0065] Returning to step 518, if no match was found in the memory
of the computing device, then, in step 524, the computing device
sends one or more USB packets indicating such to the USB device
102.
[0066] In step 526, the USB device 102 may send an ISO 18000-7
response indicating that a match was not found. The USB device 102
may not send such a response if, for example, the command received
in step 506 is one which requires a response only if a match was
found.
[0067] FIG. 6A is a flowchart illustrating exemplary steps for ISO
18000-7 communications via an ISO 18000-7 enabled USB device
connected to a network switch and/or router. The exemplary steps
begin with step 602 in which the ISO 18000-7 enabled USB device 102
is connected to the USB port 306c of the switch/router 302.
[0068] In step 604, the USB device 102 and the switch/router 302
exchange control messages to identify and enumerate the USB device
102.
[0069] In step 606, the switch/router 302 may assign a network
address (e.g., a MAC address and/or an IP address) to the USB
device 102. The assignment may comprise, for example, associating
the port 306c and the network address in a routing and/or switching
table (e.g., in the case of an IP address) of the device 302. In
other embodiments, a network address of the USB port 306c may be
static. During step 606, the switch/router 302 may notify other
devices that an ISO 18000-7 device is connected to the USB port
306c.
[0070] In step 608, an application running on a computing device
that is connected to the switch/router 302 via a wired or wireless
connection outputs data to trigger the transmission of an ISO
18000-7 command.
[0071] In step 610, the end system packetizes the command into one
or more USB packets and then conveys the USB packets to a network
adaptor of the end system.
[0072] In step 612, the network adaptor of the end system
packetizes the USB packets into one or more network packets and
transmits the network packets in accordance with whatever
networking protocol(s) is/are in use (e.g., WiFi, wired Ethernet,
etc.). The destination of the packets is the network address
associated with USB port 306c
[0073] In step 614, the switch/router receives, via the antennas
304a and 304b or the port 310, the packets transmitted by the end
system in step 612.
[0074] In step 616, the switch/router 302 decapsulates the received
packets to recover the USB packets generated by the end system in
step 610.
[0075] In step 618, the switch/router 302 conveys the USB packets
to the USB device 102 via the USB port 306c.
[0076] In step 620, the device 102 decapsulates the USB packets to
recover the data generated by the application in step 608.
[0077] In step 622, the device 102 generates one or more ISO
18000-7 commands based on the received data and transmits the
commands via the wireless interface 112.
[0078] FIG. 6B is a flowchart illustrating exemplary steps for ISO
18000-7 communications via an ISO 18000-7 enabled USB device
connected to a network switch and/or router. The exemplary steps
begin with step 630 in which the ISO 18000-7 enabled USB device 102
is connected to the USB port 306c of the switch/router 302 operable
to perform network switching and/or routing operations (e.g.,
Ethernet-based switching and/or IP-based routing).
[0079] In step 632, the USB device 102 and the switch/router 302
exchange control messages to identify and enumerate the USB device
102.
[0080] In step 634, a network address (e.g., a MAC address and/or
an IP address) may be assigned to the USB port 306c of the
switch/router 302. The assignment may comprise, for example,
associating the port 306c and the network address in a routing
and/or switching table (e.g., in the case of an IP address) of the
device 302. In other embodiments, a network address of the USB port
306c may be static. During step 606, the switch/router 302 may
notify other devices that an ISO 18000-7 device is connected to the
USB port 306c.
[0081] In step 636, the switch/router 302 may be configured to pair
the USB port 306c with a network address assigned to an end system
(e.g., laptop, tablet, smartphone, server, etc.) connected to the
switch/router 302. In this manner, packets received by the
switch/router 302 via the USB port 306c may be automatically
forwarded to the paired network address without the USB device 102
having to concern itself with network addresses. That is, the
switching/routing may be transparent to the USB device 102 such
that it thinks it is connected directly to the end system via a USB
bus. In another exemplary embodiment, USB packets received via the
port 306c may contain destination network addresses which the
switch/router 302 may inspect to determine which address to send
the packets to.
[0082] In step 638, the device 102 transmits an ISO 18000-7
command.
[0083] In step 640, the device 102 receives one or more ISO 18000-7
responses via the wireless interface 112. The responses may have
been transmitted by, for example, one or more ISO 18000-7 tags
within communication range of the wireless interface 112.
[0084] In step 642, the device 102 processes the received
response(s). For example, the device 102 may remove headers and/or
other fields to recover the response data.
[0085] In step 644, the device 102 generates one or more USB
packets in based on the received responses. For example, the
response data from the ISO 18000-7 responses may be encapsulated in
the USB packet(s). The USB packet(s) may be sent to the
switch/router via the USB port 306c.
[0086] In step 646, the switch/router 302 packetizes and transmits
the received USB packet(s) via the antennas 304a and 304b or the
port 310 in accordance with the network protocol(s) being used
(e.g., WiFi or Ethernet). The network packet(s) are transmitted to
the network address paired with the USB port 306c in step 636.
[0087] In step 648, the end system receives the packets via the
wired or wireless network.
[0088] In step 650, the end system process the received packets to
recover the ISO 18000-7 response data. For example, the end system
removes the formatting of the network protocol(s) in use (e.g.,
WiFi, Ethernet, etc.) and then decapsulates the USB packet(s) to
recover the response data.
[0089] In step 652, the response data may be conveyed to the
application, which may present the response(s) to a user of the end
system.
[0090] In accordance with an exemplary embodiment of the invention,
the circuitry of the device 102 comprises a Universal Serial Bus
(USB) interface 106 and a wireless interface 112 operable to
communicate in accordance with the ISO 18000-7 standard. The device
102 may be operable to receive a command via the USB interface 106
and transmit the command via the wireless interface 112. A form
factor of the USB device 102 may be such that it can be plugged
directly into a USB port without any external cabling between the
USB device and said USB port (i.e., may have a form factor similar
of a "USB stick" or a "thumb drive"). During enumeration of the USB
device 102, it may communicate one or more descriptors according to
the USB Device Class Definition for Printing Devices and the
command may be received via a Bulk OUT pipe of the USB bus.
[0091] The device 102 may comprise a memory 110 in which a
filesystem resides. The device 102 may be operable to search the
filesystem in response to the command received via the USB
interface 106 and/or in response to a command received via the
wireless interface 112. The one or more circuits may be operable to
output results of the search via the wireless interface 112 and/or
the USB interface 106. The device 102 may be operable to read data
from the memory 110 and output the data via the USB interface 106
and/or the wireless interface 112. The device 102 may be operable
to receive data via the USB interface 106 and/or the wireless
interface and write the received data to the memory 110. The one or
more circuits may be operable to generate log data of activities
and/or events occurring in the USB device 102 and output the log
data via the USB interface 106.
[0092] The USB device 102 may be connected to a network switch
and/or router 302 via the USB interface 106 and a USB port 306c of
the network switch and/or router 302. The USB port 306c may be
assigned a network address by the network switch and/or router 302.
The network switch and/or router may be operable to receive network
packets destined for the assigned network address and convey
contents of the received network packets to the USB device 102 via
the USB interface 106 and the USB port 306c.
[0093] The USB device 102 may be a client device connected to the
network switch and/or router 302 via the USB interface 106. The
network switch and/or router 302 may be operable to associate the
client USB device 102 with a network address of a host USB device
(e.g., a computing device connected to the network switch and/or
router via a wired connection to port 310). The network switch
and/or router 302 may be operable to receive data from the client
USB device 102 via the USB interface 106. The network switch and/or
router 302 may be operable to transmit the received data to the
network address of the host USB device (e.g., via the port
310).
[0094] Other embodiments of the invention may provide a
non-transitory computer readable medium and/or storage medium,
and/or a non-transitory machine readable medium and/or storage
medium, having stored thereon, a machine code and/or a computer
program having at least one code section executable by a machine
and/or a computer, thereby causing the machine and/or computer to
perform the steps as described herein for plug and play,
networkable ISO 18000-7 connectivity.
[0095] Accordingly, the present invention may be realized in
hardware, software, or a combination of hardware and software. The
present invention may be realized in a centralized fashion in at
least one computing system, or in a distributed fashion where
different elements are spread across several interconnected
computing systems. Any kind of computing system or other apparatus
adapted for carrying out the methods described herein is suited. A
typical combination of hardware and software may be a
general-purpose computing system with a program or other code that,
when being loaded and executed, controls the computing system such
that it carries out the methods described herein. Another typical
implementation may comprise an application specific integrated
circuit or chip.
[0096] The present invention may also be embedded in a computer
program product, which comprises all the features enabling the
implementation of the methods described herein, and which when
loaded in a computer system is able to carry out these methods.
Computer program in the present context means any expression, in
any language, code or notation, of a set of instructions intended
to cause a system having an information processing capability to
perform a particular function either directly or after either or
both of the following: a) conversion to another language, code or
notation; b) reproduction in a different material form.
[0097] While the present invention has been described with
reference to certain embodiments, it will be understood by those
skilled in the art that various changes may be made and equivalents
may be substituted without departing from the scope of the present
invention. In addition, many modifications may be made to adapt a
particular situation or material to the teachings of the present
invention without departing from its scope. Therefore, it is
intended that the present invention not be limited to the
particular embodiment disclosed, but that the present invention
will include all embodiments falling within the scope of the
appended claims.
* * * * *