U.S. patent application number 11/301429 was filed with the patent office on 2007-06-14 for system and method for diverting a printing job to a proximal networked device.
This patent application is currently assigned to Xerox Corporation. Invention is credited to Alan Thomas Cote, Gavan Leonard Tredoux.
Application Number | 20070133485 11/301429 |
Document ID | / |
Family ID | 38139223 |
Filed Date | 2007-06-14 |
United States Patent
Application |
20070133485 |
Kind Code |
A1 |
Tredoux; Gavan Leonard ; et
al. |
June 14, 2007 |
System and method for diverting a printing job to a proximal
networked device
Abstract
A printing system is provided including a plurality of printing
devices. Each printing device includes an associated radio
frequency identification (RFID) device. The RFID device associated
with a first printing device of the plurality of printing devices
is operable to sense the presence of an RFID device associated with
a second printing device of the plurality of printing devices for
sensing the presence of the second printing device.
Inventors: |
Tredoux; Gavan Leonard;
(Penfield, NY) ; Cote; Alan Thomas; (Walworth,
NY) |
Correspondence
Address: |
George Likourezos
Suite 225
445 Broad Hollow Road
Melville
NY
11747
US
|
Assignee: |
Xerox Corporation
|
Family ID: |
38139223 |
Appl. No.: |
11/301429 |
Filed: |
December 13, 2005 |
Current U.S.
Class: |
370/338 ;
370/509 |
Current CPC
Class: |
H04L 67/16 20130101;
H04L 61/10 20130101; H04L 67/1002 20130101; H04L 67/18 20130101;
H04L 29/12018 20130101 |
Class at
Publication: |
370/338 ;
370/509 |
International
Class: |
H04Q 7/24 20060101
H04Q007/24 |
Claims
1. A printing system comprising: a plurality of printing devices,
each printing device of the plurality of printing devices
comprising an associated radio frequency identification (RFID)
device, the RFID device associated with a first printing device of
the plurality of printing devices operable to sense the presence of
an RFID device associated with a second printing device of the
plurality of printing devices for sensing the presence of the
second printing device.
2. The printing system in accordance with claim 1: wherein the RFID
device associated with the second printing device includes an RFID
tag storing a unique RFID identifier which is associated with the
second printing device; and wherein the RFID device associated with
the first printing device includes an RFID reader device for
sensing the RFID tag associated with the second printing device
when the RFID tag associated with the second printing device is
located within a predetermined operating range of the RFID reader
device associated with the first printing device and for retrieving
the RFID identifier stored by the RFID tag associated with the
second printing device.
3. The printing system in accordance with claim 2, wherein each
printing device further comprises: at least one communication port
for communicating with a network and for receiving a printing job
request; and a processor, wherein the processor of the first
printing device is in operative communication with the associated
RFID device for receiving the retrieved RFID identifier, and
wherein the processor of the first printing device executes
application software for diverting the received printing job
request to the second printing device via the network subsequent to
sensing the presence of the second printing device.
4. The printing system in accordance with claim 3, further
comprising at least one cluster, each cluster of the at least one
cluster including at least one printing device of the plurality of
printing devices, wherein the processor of the first printing
device executes the application software to divert the received
printing job request to the second printing device subsequent to
configuration of a cluster including the first and second printing
devices.
5. The printing system in accordance with claim 4, wherein each
cluster has a cluster name, each printing device of the plurality
of printing devices further comprising a storage device accessible
by the processor for storing the cluster name of the cluster in
which the respective printing device is included.
6. The printing system in accordance with claim 5, wherein the
cluster name stored by the storage device of the second printing
device defaults to the RFID identifier stored by the RFID tag
associated with the second printing device.
7. The printing system in accordance with claim 5, wherein
responsive to the RFID reader device of the first printing device
sensing the RFID tag of the second printing device and retrieving
the RFID identifier stored by the sensed RFID tag, the processor of
the first printing device executes the application software for
configuring the cluster including the first and second printing
devices according to a clustering process comprising: requesting
via the network the cluster name stored by the storage device of
the printing device of the plurality of printing devices that has
an associated RFID identifier that substantially matches the
retrieved RFID identifier; comparing the cluster name stored by the
storage device of the first printing device with the cluster name
received via the requesting; and selecting a cluster name from the
compared cluster names to be the cluster name of the cluster; and
wherein the storage device of each of the first and second printing
devices stores the selected cluster name as the cluster name of the
cluster configured to include the first and second printing
devices.
8. The printing system in accordance with claim 7, wherein the
processor of the first printing device executing the application
software for retrieving the RFID identifier stores the RFID
identifier in its storage device, determines if the retrieved RFID
identifier substantially matches any previously stored RFID
identifiers prior to requesting the cluster name, and terminates
the clustering process in response to a positive determination.
9. The printing system in accordance with claim 7, wherein storing
the selected cluster name by one of the first and second printing
devices includes replacing a previously stored cluster name with
the selected cluster name.
10. The printing system in accordance with claim 7, wherein the
cluster name of each of the clusters of the at least one cluster
are ordered, and the processor of the first printing device
executes the application software for selecting the cluster name in
accordance with the ordering.
11. The printing system in accordance with claim 9, wherein the
processor of the first printing device executes the application
software for transmitting a message via the network announcing
replacement of the previously stored cluster name with the selected
cluster name.
12. The printing system in accordance with claim 11, wherein the
processor of the first printing device transmits the message
announcing the replacement of the cluster name via at least one of
a multicast and a broadcast.
13. The printing system in accordance with claim 11, wherein the
processor of each printing device of the plurality of printing
devices executes application software for processing a received
message announcing the replacement for determining if its stored
cluster name substantially matches the announced previously stored
cluster name, and replaces its stored cluster name with the
announced previously stored cluster name responsive to a positive
determination.
14. The printing system in accordance with claim 4, wherein each
printing device included in a cluster of the at least one cluster
operates as a true peer, and the cluster is configured with a
peer-to-peer configuration process.
15. A method for diverting a job request from a first device of a
network including at least one device to a second device of the at
least one device, the method comprising the first device:
communicating with a network; interrogating the second device
independently of the network, the interrogating having a range
limited for interrogating the second device; receiving a job
request; and diverting the received job request via the network to
the second device.
16. The method in accordance with claim 15, further comprising;
providing at least one cluster, wherein each device of the at least
one device is included in a cluster of the at least one cluster,
each cluster having a unique cluster name; storing the cluster name
of each cluster by each device included in the cluster; and
configuring a cluster of the at least one cluster to include the
first and second devices prior to diverting the received job
request.
17. The method in accordance with claim 16, further comprising
associating each device with a unique identifier, wherein: the
interrogating the second device includes sensing the second device
and retrieving the identifier associated with the second device;
the limited range limits the distance between the respective
locations of the first and second devices during the interrogation
to be less than a predetermined distance; the configuring the
cluster to include the first and second devices comprises: the
first device: requesting via the network the cluster name of the
device of the at least one device having an associated identifier
that substantially matches the retrieved identifier; comparing its
stored cluster name with a cluster name received via the
requesting; and selecting a cluster name from the compared cluster
names to be the cluster name of the configured cluster; and storing
by each of the first and second devices the selected cluster
name.
18. The method in accordance with claim 17, further comprising:
storing the retrieved identifier; and comparing the retrieved
identifier with previously stored identifiers, and when the
retrieved identifier does not substantially match any of the
previously stored identifiers proceeding with the requesting the
cluster name, and otherwise terminating proceeding with configuring
the cluster to include the first and second printing devices.
19. The method in accordance with claim 17, wherein storing the
selected cluster name comprises replacing a previously stored
cluster name with the selected cluster name by one of the first and
second devices, and the method further comprises: transmitting a
message via the network announcing a request to replace the
previously stored cluster name with the selected cluster name; and
replacing its stored cluster name with the selected cluster name by
each device of the at least one device that receives the
transmitted message and whose stored cluster name substantially
matches the announced previously stored cluster name.
20. The method in accordance with claim 16, wherein for a cluster
of the at least one cluster, the method comprises each device
included in the cluster operating as a true peer, wherein the
cluster is configured with a peer-to-peer configuration.
21. The method according to claim 15, wherein the at least one
device includes a printing device.
22. The method according to claim 15, wherein the interrogating
comprises radio frequency identification (RFID) interrogation.
23. A processor associated with a device of a plurality of
networked devices comprising: a software application module for
receiving a job request; and a software application module for
diverting the received job request via network transmitted messages
to the sensed device, wherein the sensing is independent of the
network.
24. The processor further comprising: a software application module
for configuring via network transmitted messages a cluster of
devices including the sensed device and other devices of the
plurality of networked devices already included in a cluster with
the sensed device; wherein the software application module for
diverting diverts the received job request to a device included in
the configured cluster.
Description
BACKGROUND
[0001] This disclosure relates generally to a system and method for
diverting a printing job to a proximal networked device. More
particularly, this disclosure relates generally to a system and
method for determining proximity using Radio Frequency
Identification (RFID) technology prior to diverting the printing
job.
[0002] Networked devices, such as printers or multifunction devices
(MFDs), may be configured into clusters, where the devices in a
cluster are physically proximal to one another. A user operating a
first networked device may request that a second networked device
perform a task. When the second device is included in a cluster, a
program routine executed by a network server may direct the task or
job to another device included in the cluster. The network may
select the device to which the task is diverted based on device
availability.
[0003] However, configuration of a cluster of devices must be
performed via the network server. Each time that a device is added
to or removed from the cluster, the cluster configuration stored
and maintained by the server must be updated. The present
disclosure pertains as well to other types of devices that receive
a job request from a remote location over a network and generate a
physical output, where the generation of the physical output takes
time and is subject to failure. The present disclosure is
advantageous for providing load-balancing and/or failover.
Exemplary applications include devices for burning audio compact
discs (CDs), data CDs, DVDs and Photo CDs; programmable laser
engraving devices; chemical etching devices; vending machines
dispensing the same or similar stock, etc.
[0004] Reconfigurations, updates and maintenance to a network
server typically are overseen by skilled personnel having the
appropriate expertise and network privileges, such as a network
administrator. Furthermore, configuration and maintenance of the
cluster which is performed by the network server may be disruptive
to the network, and may require temporarily disabling the network.
In general, the configuration and maintenance of clusters on a
network may be time consuming, expensive and disruptive.
[0005] Yet, the network administrator has the advantage of deciding
which devices should be in a cluster, such as by taking the
physical location of the various devices to be clustered into
account. For example, when establishing a cluster of printers, it
is desirable for the cluster to include printers that are proximal
to one another, so that when a print job is redirected from a first
printer included in a cluster to a second printer included in the
cluster, the user will have a general idea where the location of
the printer printing the print job is located. It is desirable for
the printed output to be simple to locate and easy to get to, e.g.,
just a few steps away from the location of the device to which the
printing device was sent. Accordingly, it is important to take the
physical location of the devices into account when deciding which
devices are to be included in a cluster of network devices.
[0006] Accordingly, there exists a need for establishing and
maintaining a cluster of networked devices without configuring or
updating a network server.
[0007] Furthermore, there exists a need for establishing and
maintaining a cluster of networked devices which takes into account
the physical location of the individual devices without configuring
or updating a network server.
SUMMARY
[0008] Accordingly, it is an aspect of the present disclosure to
provide a system and method for automatically forming clusters of
networked devices, such as printer devices, without human
intervention, where devices included in a cluster are proximal to
one another. Proximity of the devices is sensed using a
communication technique that is independent from the network, such
as Radio Frequency Identification (RFID). Proximity may be
approximately in the order of 1 meter or less, and may be
determined transitively. The formation of the clusters is
spontaneous and dynamic. Once a first device has sensed a second
device proximal to the first device, the first device determines
the network address of the second device for establishing network
communication within the cluster. The network communication may be
used for diverting a job from one device of a cluster to another
device included in the same cluster.
[0009] In accordance with one aspect of the present disclosure,
there is provided a printing system including a plurality of
printing devices. Each printing device includes an associated radio
frequency identification (RFID) device. The RFID device associated
with a first printing device of the plurality of printing devices
is operable to sense the presence of an RFID device associated with
a second printing device of the plurality of printing devices for
sensing the presence of the second printing device.
[0010] In accordance with another aspect of the present disclosure,
there is provided a method for diverting a job request from a first
device of a network including at least one device to a second
device of the at least one device. In accordance with the method,
the first device communicates with a network, interrogates the
second device independently of the network, the interrogating
having a range limited for interrogating the second device,
receives a job request and diverts the received job request via the
network to the second device.
[0011] Pursuant to still another aspect of the present disclosure,
there is provided a processor associated with a device of a
plurality of networked devices having a software application module
for receiving a job request, and a software application module for
diverting the received job request via network transmitted messages
to the sensed device, wherein the sensing is independent of the
network.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Various embodiments of the present disclosure will be
described herein below with reference to the figures wherein:
[0013] FIG. 1 is a schematic diagram of a cluster of networked
devices in accordance with the present disclosure;
[0014] FIG. 2 is a block diagram showing a series of stages of
forming a cluster of networked devices in accordance with the
present disclosure; and
[0015] FIG. 3 is a block diagram showing devices performing address
resolution in accordance with the present disclosure.
DETAILED DESCRIPTION
Device Configuration
[0016] For a general understanding of the features of the present
disclosure, reference is made to the drawings. In the drawings,
like reference numerals have been used throughout to identify
identical elements. With reference to FIG. 1, a cluster 12 is shown
including individual devices 10 which have been configured to form
the cluster 10. Each device 14 is provided with a radio frequency
identification (RFID) device 20 including an RFID tag 20A and an
RFID reader 20B. Two or more devices 14 having respective RFID
devices 20 that are able to successfully interrogate one another
are considered to be within operating range of one another. Each of
the RFID tags 20A generates a radio frequency signal encoded with a
unique RFID identifier. Additionally, the devices 14 are included
in a network 30. Each of the devices 14 is provided with a network
address for enabling communication with other networked devices via
the network 30.
[0017] The devices 14 each have a processor 16 (e.g.,
microprocessor and associated memory), a storage device 17
accessible by the processor 16, and communication I/O circuitry 18
for communicating with other devices via the network 30. In the
current example, the devices 14 are printing devices, including any
device having printing capabilities, such as a multi-function
device (MFD), a scanner, or a facsimile machine, however in the
present disclosure the devices 14 are not limited to printing
devices. The present disclosure pertains as well to other types of
devices that receive a job request from a remote location over a
network and generate a physical output, where the generation of the
physical output takes time and is subject to failure. The present
disclosure is advantageous for providing load-balancing and/or
failover. Exemplary applications include devices for burning audio
compact discs (CDs), data CDs, DVDs and Photo CDs; programmable
laser engraving devices; chemical etching devices; vending machines
dispensing the same or similar stock, etc.
[0018] The communication I/O circuitry 18 may support wired or
wireless communication. The devices 14 may communicate via the
network 30 with other devices that are included in the network 30
via the communication I/O circuitry 18. The devices 14 may have the
same or different printing and/or computing capabilities relative
to one another. The network 30 includes a series of points or nodes
interconnected by communication paths, and may be interconnected
with other networks and/or contain sub-networks. The network 30 may
include, for example, a LAN, WAN, intranet or the Internet. In one
embodiment of the disclosure, the network 30 may include, for
example, a computer communicating with two or more devices 14, and
devices 14 of the two or more devices 14 may not be communicating
with one another.
[0019] The network 30 and the RFID device 20 are independent and
mutually exclusive from one another. The network 30 is used for
high bandwidth networking, such as diverting a job request from one
device 14 to another device 14, using a protocol, such as TCP/IP,
while the RFID device 20 is used for sensing and interrogating
another device 14. The only data transmitted via the RFID data
communication may be the interrogation data, e.g., the RFID
identifier.
[0020] The processor 16 includes at least one processing device,
such as a microprocessor integrated with the device 14 or a
personal computer separate from the device 14 but in operative
communication with the device 14. The processor 16 of each device
14 is in operative communication with the network 30, the storage
device 17 and the RFID device 20 of the device 14. Operations
performed by the processor 16 as described herein are performed by
executing application software, which may be grouped into
application software modules, including programmable instructions
stored by the storage device 17.
[0021] Storage device 17 may include one or more storage devices,
which may include, for example, a combination of at least one of
volatile and non-volatile memory, a hard drive, RAM, Flash RAM,
ROM, a computer readable medium, such as a CD-ROM, memory stick or
floppy disk, etc. Portions or the entire storage device 17 may be
integrated with the processor 16. The storage device 17 may store
programmable instructions executed by the processor, including
programmable instructions for implementing the method of the
disclosure.
[0022] The storage device 17, the information stored therein and
the processor 16 may be configured upon manufacture and assembly
for implementing the present disclosure. In another embodiment of
the disclosure, an existing device 14 is reconfigured after
manufacture and assembly for implementing the present disclosure.
The reconfiguring may include, for example, providing an upgrade
module that includes storage device 17 or a portion thereof. The
processor 16 may be provided with the already manufactured device
14. The processor 16 executes programmable instructions stored by
the storage device 17 of the upgrade module, controls the RFID
interrogation and accesses RFID and cluster information stored by
the storage device 17. In another embodiment of the disclosure, the
upgrade module may include the processor 16, which operatively
communicates with a processor provided with the device 14 at the
time of manufacture and/or assembly for implementing the present
disclosure.
[0023] The RFID device 20, may be affixed to the device 14, mounted
on the device 14 or integrated into the device 14. The RFID tag 20A
and reader 20B of an individual RFID device 20 may be integrated
into one unit, or may be configured, manufactured and/or sold as
separate units. In the examples below, the RFID tag 20A is a
read-only passive tag having an antenna and a digital memory chip
storing a unique encoded identification code that is the unique
RFID identifier associated with the device 14 to which the RFID tag
20A corresponds. Other types of RFID tags may be used, such as
active tags or tags having a write capability. The RFID reader 20B
includes an antenna, transceiver, and decoder. RFID devices having
different operating ranges are commercially available. An RFID
device 20 having a desired operating range is selected to be used
with devices 14 in accordance with the distance that is to be
allowed between devices 14 included in a cluster.
[0024] When a device 14 performs an interrogation, the transceiver
of the RFID reader 20B of the device 14 transmits a signal via its
antenna which activates any RFID tag 20A within operating range of
the transmitting RFID reader 20B. Each activated RFID tag 20A
transmits via its antenna the RFID identifier stored in its digital
memory chip. A successful interrogation is achieved when the
transceiver of the interrogating RFID reader 20B receives the
signal transmitted by an activated RFID tag 20A. The interrogating
RFID reader 20B decodes the signal(s) received from the activated
RFID tag(s) 20A via its decoder, including generating a digital
electronic signal which corresponds to the decoded signal. The
processor 16 and RFID reader device 20B of the interrogating device
14 are in operative communication, and the processor 16 is notified
when an RFID identifier is successfully retrieved. The retrieved
RFID identifier may be stored by the storage device 17 of the
interrogating device 14.
[0025] The physical distance between devices 14 able to form a
cluster is limited due to the nature of the RFID devices 20
associated with the respective devices 14. The physical distance
limitation is determined by the greatest distance at which a
successful RFID interrogation may be performed, including
retrieving the RFID identifier stored by the RFID tag 20A of the
device 14 being interrogated, which is defined by the respective
operating range of the RFID devices 20 of the interrogating device
14 and the interrogated device 14. If the first and second devices
14 are spaced from one another by a distance that is less than or
equal to the operating range of their respective associated RFID
devices 20, the first and second devices 14 will be able to
successfully interrogate one another and form a cluster. However,
if the first and second devices 14 are spaced from one another by a
distance that is greater than the operating range of their
respective associated RFID devices 20, the first and second devices
14 will not be able to successfully interrogate one another, or to
form a cluster.
[0026] The limitation on the physical distance between devices 14
able to form a cluster works advantageously to only allow devices
14 located in a predetermined area to form a cluster. For example,
where the devices 14 are printing devices, the devices 14 may be
equipped with RFID devices 20 in which the operating range is
limited to approximately 2-3 feet. Accordingly, it is possible to
limit an established cluster to include devices 14 located in one
room. Printing devices located in a different room, further down
the hallway or on a different floor would not be included in the
cluster. A user sending a print job to a printing device included
in a cluster will be able to collect output from any of the
printing devices in the cluster without having to walk far from the
printing device to which the job was sent.
[0027] Other communication devices may be used instead of the RFID
devices 20. For example, communication devices using Bluetooth.TM.
technology, which also have a limited operating range, can be used
for communicating between devices 20 independently of the network
30 for the purpose of establishing a cluster. However, devices
using Bluetooth.TM. technology may be more expensive than RFID
devices 20, without providing additional capabilities useful for
the purposes of establishing a cluster. Other communication devices
(e.g., devices using the IEEE 802.11B standard) that operate
independently of the network 30 and that do not have a limited
operating range could be used. Such communication devices may not
be practical for devices 14 such as printing devices, as it would
be difficult for a user to locate a printed output. Even if the
user were notified as to the location of the output, it may not be
practical or desirable for the user to walk beyond a given distance
to retrieve a printed output. It is contemplated that the user
could be notified as to the location or identification of a device
14 to which a job has been diverted. Notification implemented by
the network server is beyond the scope of the present
disclosure.
[0028] Exchanging signals via the RFID devices 20 is limited to
exchanges used for establishing a cluster. The RFID identifiers are
used for sensing proximity between devices 14 and for establishing
a cluster name, while other communication between devices 14 is
performed via the network 30, where each device 14 uses its network
address for identifying itself during network communications.
[0029] Each cluster is provided with a unique name. The storage
device 17 of each device 14 stores cluster information, e.g., the
name of the cluster in which the device is included. Before
clustering with any other devices 14, by default, each device 14
forms its own default cluster, where the default cluster name of
each default cluster is the name of the RFID identifier of the
device 14 included in the respective default cluster. The unique
RFID identifiers assigned to each of the respective devices 14 are
ordered, and the ordering is used for determining what the cluster
name will be for a cluster formed of more than one device 14.
Accordingly, the cluster names are ordered as well.
[0030] The final cluster formation is independent of the order in
which devices 14 sense each other, including the order in which
additional devices 14 are physically brought within proximity of
devices 14 already included in a cluster. In one embodiment, if a
device 14 is removed from the cluster, it does not matter if the
RFID identifier of the device 14 that is removed was used for the
cluster name. The cluster retains the same cluster name, even once
the associated device 14 is removed.
[0031] Cluster Formation
[0032] In general, for each printing device 204, the RFID device 20
is controlled by the processor 16. The RFID reader device 20B polls
any devices 14 nearby by sending an interrogation signal at
intervals, such as regular timed intervals. The interrogation
signal activates one or more RFID tags 20A that are within the
operating range of the interrogating RFID reader device 20B, and
requests that the activated RFID tag 20A transmit a signal
including the RFID identifier stored by the activated RFID tag 20A.
An RFID tag 20A that is activated by the interrogation signal and
sends its stored RFID identifier to the interrogating RFID reader
device 20B is detected by the RFID reader device, and the device 14
having the interrogating RFID reader device 20B detects the device
14 having the interrogated RFID tag 20A.
[0033] The RFID identifier retrieved by the RFID reader device 20B
is provided to the processor 16 of the detecting device 14. The
processor 16 of the detecting device 14 compares the retrieved RFID
identifier to a stored list of RFID identifiers that were retrieved
via previous interrogations. If the received RFID identifier is on
the list, no further action is taken with the received RFID
identifier. Otherwise, the retrieved RFID identifier is added to
the list. Furthermore, the processor 16 of the detecting device 14
requests the cluster name for the detected device 14 and compares
the cluster name received via the request to the stored cluster
name of the detecting device 14. The cluster name having the lower
value is selected, while the other cluster name is
non-selected.
[0034] The selected cluster name is the name of the cluster
configured to include the detected and the detecting devices 14.
One of the detected and the detecting devices 14 replaces its
stored cluster name (the non-selected cluster name) with the
selected cluster name. When appropriate, the detecting device 14
may send a message via the network 30 to the detected device 14
requesting that the detected device 14 replace its cluster name.
Messages transmitted via the network 30 are generated by the
processor 16 of the transmitting device 14, and messages received
via the network 30 are processed by the processor 16 of the
receiving device. At least one message is sent requesting that any
device 14 having the non-selected cluster name replace its cluster
name with the selected cluster name. The message is sent to other
devices on the network 30, such as by way of a broadcast or
multicast, and may nullify the need for the detecting device 14 to
send a message specifically to the detected device 14.
[0035] An example of cluster formation is illustrated with
reference to FIG. 2. At stage 202, six printing devices 204 are
provided having RFID identifiers 1, 2, 3, 4, 5 and 6, respectively.
The printing device 204 having RFID identifier (ID) 1 is referred
to as the first printing device, the printing device 204 having
RFID identifier 2 is referred to as the second printing device,
etc. Devices 204 are functionally and structurally substantially
the same as devices 14 shown and described with respect to FIG.
1.
[0036] The cluster name stored for each of the printing devices 204
is the RFID identifier associated with the respective printing
device 204, which is the default value. At stage 206, the
respective RFID readers 20B associated with each of the first and
second printing devices 204 each detect an adjacent printing device
204 by sensing the RFID tag 20A of the other printing device. The
processor 16 of each of the devices 14 is notified that an RFID tag
20A was detected, including providing the processor 16 with the
retrieved RFID identifier. The RFID identifier is stored by the
associated storage device 17.
[0037] The processor 16 compares the retrieved RFID identifier to a
list of previously stored RFID identifies for determining if the
retrieved RFID identifier was previously detected. If not, the
processor 16 submits a request over the network 30 for the cluster
name of the device having the detected RFID identifier. The request
is sent to other devices 14 of the network 30, such as by way of a
multicast or broadcast. Upon receiving the requested cluster name,
the processor 16 compares the ordering of the received cluster name
(associated with the detected RFID identifier) and its own stored
cluster name. The cluster names always originate from an RFID
identifier, and therefore have the same type of ordering. The
comparison may be performed by performing an ordering operation
such as a minimum operation (MIN) or maximum operation (MAX).
[0038] In the present example the MIN operation is used to
determine the lower ordered value of the cluster names being
compared. If the stored cluster name of the detected printing
device 204 is lower than the received cluster name (of the printing
device that is detecting), then the detecting printing device 204
replaces its stored current cluster name with the cluster name of
the lower ordered received cluster name (of the detected printing
device 204), thus forming a cluster. Accordingly, the first
printing device 204 detects the second printing device, retrieves
the RFID identifier associated with the detected printing device,
and requests the cluster name of the printing device having the
retrieved RFID identifier.
[0039] The cluster name received via the request is "2". The first
printing device compares its own stored cluster name "1" to the
received cluster name "2" (e.g., the cluster name of the detected
printing device 204, also referred to as the detected cluster
name), determines that its own cluster name is lower, and does not
change its own cluster name. This may be performed by performing
the operation: MIN (my cluster name, detected cluster name). The
second printing device detects the first printing device and
compares its own cluster name "2" to the detected cluster name "1",
determines that the detected cluster name is higher than its own
cluster name, and replaces its currently stored cluster name with
the detected cluster name "1". Both the first and second printing
devices form a cluster having cluster name "1". Similarly, the
third and fifth printing devices 204 detect one another and form a
cluster having cluster name "3". Likewise, the fourth and sixth
printing devices 204 detect one another and form a cluster having
cluster name "4". The clustering of the six printing devices shown
for stage 206 is exemplary, and may have occurred in a different
order. For the sake of simplicity, a cluster having cluster name
"n" is herein referred to as cluster "n".
[0040] At stage 208, the clusters combine recursively. When a
device 20 in cluster "4" detects a device 20 from the cluster "3",
the device 20 from cluster "4" performs the operation MIN(3, 4) and
determines that its new cluster name is "3". It issues a broadcast
or multicast via the network 30 announcing that it has changed its
cluster name from "4" to "3". The other networked devices 20 "4"
with the cluster name "3". Accordingly, cluster "3" and cluster "4"
combine to form one cluster having cluster name "3". The clustering
of the six printing devices shown for stage 208 is exemplary, and
may have occurred in a different order.
[0041] At stage 210, an amalgamation of clusters is performed, in
which cluster "1" combines with cluster "3" to form one cluster
having cluster name "1" as follows. When a device 20 in cluster "3"
detects a device 20 from the cluster "1", the device 20 from
cluster "3" performs the operation MIN(1, 3) and determines that
its new cluster name is "1" (i.e., by replacing its current cluster
name "3" with "1"). It issues a multicast or broadcast via the
network 30 announcing that it has changed its cluster name from "3"
to "1". The other networked devices 20 listen to the multicast or
broadcast. All devices 20 that are in cluster "3" (i.e., have
cluster name "3") update their cluster name to "1" (i.e., by
replacing their current cluster name "3" with "1"). Accordingly,
cluster "3" and cluster "1" combine to form one cluster having
cluster name "1". The clustering of the six printing devices shown
for stage 210 is exemplary, and may have occurred in a different
order.
[0042] Resolution between the RFID identifier of device 14 and its
network address is accomplished via a network broadcast, multicast
or the equivalent, inquiring which network address is correlated
with a particular cluster name. A system and method for resolving
RFID identifiers with network addresses is described below in the
section entitled "ADDRESS RESOLVING", however the disclosure is not
limited to the described system and method for RFID identifier and
network address resolution
[0043] A first device may perform a compatibility check prior to
forming a cluster with a second device 14, such as for determining
if the first and second devices have capabilities that are
compatible with each other. For example, when the first device 14
has one or more particular features for handling jobs, the first
device 14 may first determine if the second device 14 has the same
particular features. It is envisioned that various features of
printing devices 14 may be coded using a predetermined and/or
standardized code. A coded list of features associated with each
device 14 may be available to other devices 14 on the network 30
via the network 30. When the first device 14 interrogates a second
device 14, it may first check the second device's 14 associated
list of features before establishing a cluster with the second
device 14. If the first device 14 determines that the second device
14 is sufficiently compatible with the first device 14, the first
device 14 will proceed with forming a cluster with the second
device 14. However, if the first device 14 determines that the
second device 14 is not sufficiently compatible, the first device
14 will not form the cluster with the second device 14.
[0044] In one embodiment of the disclosure, the storage device 17
of a device 14 (in which the cluster name of a cluster to which the
device 14 belongs is stored) includes volatile memory for storing
the cluster information. If a first device 14 is powered down, the
first device 14 loses its cluster information. Upon restoration of
power to the device 14, it will establish a cluster with one or
more suitable devices, e.g., device(s) which are located within
operating range of the first device 14 and which are determined to
be compatible (for cases in which compatibility determination is
performed). Thus, upon restoring power to one or more devices 14 of
the cluster, the original cluster will be reestablished with the
same configuration as before power was removed without any external
intervention, provided that all of the devices 14 of the original
cluster are receiving power and are still within operating range of
one another for performing successful RFID interrogations. The
cluster configuration will change if one or more devices 14 have
been moved out of or into operating range from other devices 14
included in the cluster. The cluster formation occurs automatically
without any intervention from an operator. The configuration of the
newly established cluster is predictable, provided that the
distance between devices 14 is known and the operating range for
the respective devices 14 is known.
[0045] In another embodiment of the application, the devices 14
store the cluster information in nonvolatile memory. Accordingly,
when restoring power to a device 14 that belonged to a cluster and
was powered down, cluster information stored by the device 14 would
have to be updated if the physical configuration of the cluster
changed (e.g., by adding or removing the device 14 or another
device 14 to or from the cluster). The updating of stored cluster
information could be performed by an operator or administrator.
Alternatively, the stored cluster information could be overwritten
with new cluster information obtained from new RFID interrogations
performed after power was restored.
[0046] Upon establishment of a cluster, devices 14 included in the
cluster operate in accordance with a peer-to-peer configuration.
Each of the devices 14 included in the cluster operates as a true
peer, where a true peer does not administer or control the other
devices 14 in the cluster e.g., for cluster configuration or job
diversion. The cluster does not have an administrator, a
controlling member, super-peer, server or the equivalent. The
formation or existence of the cluster is not dependent upon the
network server. The cluster uses the network for purposes of
communication, such as for diverting job requests, but does not use
the network for cluster formation. There is no need at any stage
for centralized administration within or outside of the cluster for
establishment of the cluster and for operation of the cluster.
[0047] Additionally, there is no single point of failure within the
cluster. If a device 14 fails, a job sent to the failed device 14
is diverted to another device 14 in the same cluster as the failed
device 14. For example, jobs sent to a first device 14 included in
the cluster may be redirected to a second device 14 included in the
same cluster upon a determination by the first device 14 that the
second device (or any device included in the cluster) is in better
(or equal) condition than the first printer to handle the job. Some
exemplary conditions in which diversion of a print job from the
first printer to the second printer may be performed include: when
the first device 14 is temporarily disabled, the print job was
attempted by the first printer but failed, an error conditions
exists on the first printer (e.g., out of paper or toner), the
first printer has a queue of jobs, the time expected till execution
of a job received by the first printer exceeds a predetermined
threshold, or a comparison of queue length for the first printer
and the second printer indicates that the second printer has a
smaller queue or no queue at all.
[0048] The RFID reader device 20B of each device 14 may repeatedly
perform interrogations for seeking additional devices 14 that are
not yet included in its cluster, where the interrogations may be
performed spontaneously, upon meeting a predetermined condition, or
continuously at regular intervals (interrogation intervals). In the
present example, the RFID reader device 20B of a device 14
continuously transmits an interrogation signal at regular
intervals. Any RFID tag 20A within operating range of the RFID
reader device 20A is activated by the interrogation signal and
responds to it. The RFID reader device 20B retrieves the RFID
identifier stored by the RFID tag 20A being interrogated.
[0049] The processor 16 of the device 14 having the associated
interrogating RFID reader device 20B receives the retrieved RFID
identifier and determines if the interrogated RFID tag 20A was
previously interrogated, and if so, ignores the RFID tag 20A and
the device 14 with which it is associated. Otherwise, an attempt is
made to request the cluster name of the interrogated device 14
having the RFID identifier retrieved during the interrogation in
order to configure a cluster to include the interrogating device 14
having the interrogating RFID reader device 20B and the
interrogated device 14. If the attempt to retrieve the cluster name
is not successful it may be repeated. If the number of attempts to
obtain the cluster name or the time consumed attempting to obtain
the cluster name exceeds a predetermined threshold, then the
cluster configuration may be terminated.
[0050] After a finite number of interrogation iterations proximal
(and compatible, where compatibility checking is performed) devices
14 are placed in appropriate cluster(s). Two or more devices 14 may
interrogate each other, which will not affect the final cluster
configuration. First mini-clusters may be formed, which are then
joined together to make a larger cluster--also referred to as an
amalgamation procedure. The order in which each mini cluster or
amalgamation of mini-clusters occurs is not consequential. Race
conditions may be ignored. The final configuration of the cluster
is predictable.
[0051] The formation of clusters of devices 14 is initiated by the
devices 14 themselves, and requires no administrative intervention
or setup. Installation and administrative costs are thus minimized.
The cluster formation occurs dynamically in reaction to physical
device deployment. Clusters are reconfigured whenever a device 14
is moved into or out of operating range of another device(s) 14.
For example, when a cluster of one or more devices 14 is already
formed, upon deployment of another device 14 within operating range
of one or more of the devices 14 already in the cluster, at least
one of the newly deployed device 14 or a device 14 of the existing
cluster will spontaneously interrogate the other device 14 (or vice
versa) and determine the cluster name to be used for a cluster that
includes the newly deployed device 14. All of the devices 14 in the
existing cluster as well as the newly deployed device 14 will be
joined in one cluster, without any intervention from an operator or
administrator. In another example, when a device 14 is removed from
the cluster, the removed device no longer participates in the
cluster. The cluster reconfiguration is spontaneous, none of the
devices 14 of the cluster acts as a master or controlling node, no
prior administrative intervention is performed, and there is no
single point of failure. There is no list or table of cluster
members that needs to be reconfigured or updated. Due to the
peer-to-peer configuration, the cluster will continue working if
one or more devices 14 of the cluster fail, provided that all of
the devices 14 to not fail.
[0052] Further advantages to the present disclosure include
invisibility of the clustering operations to network clients of the
devices 14, for as far as the clients are aware, the devices 14
fulfill their jobs in a normal fashion. Many redirections may be
performed within a cluster at any one time, with each device 14 of
the cluster appearing to the client and job request as a normal
stand-alone device 14.
[0053] Once devices 14 have been assigned cluster names, broadcast
communication or multi-cast communication using a multicast address
may be used to manage job allocation and other device functions,
such as printing functions. Each device 14 receives jobs from
external entities and uses peer-to-peer techniques for handling
situations such as failover and load balancing of jobs received
from external sources.
[0054] In another embodiment of the disclosure, the RFID reader
device 20B of a device 14 may be controlled by the processor 16 of
the device 14. The processor 16 may control the RFID reader device
20B to perform an interrogation in response to an event, such as
receipt of a job request or a failed attempt at completing a job
request. In another embodiment of the disclosure, the RFID reader
device 20B may be automatically disabled by the processor 16 upon
configuration of a cluster.
Address Resolving
[0055] The above discussion describes the configuration of the
devices 14 and formation of a cluster of devices 14. Below is
described a system and method for resolving the RFID identifier of
a device 14 with the network address of the device 14, which is
also described in concurrently filed U.S. patent application No.
(not yet assigned), entitled "SYSTEM AND METHOD FOR RESOLVING A
HARDWARE IDENTIFIER TO A NETWORK ADDRESS. OF A NETWORKED DEVICE",
corresponding to internal docket numbers ID 20051013 and 1515-31.
While the example in the description below is directed to devices
14 having RFID devices 20, the RFID devices 20 represent other
sensing and/or communicating devices, as well, that communicate
and/or sense independently from the network 30. As described above,
the devices 14 may be printing devices, or other types of networked
devices. The RFID identifier is an exemplary hardware identifier
associated with and stored by the sensing and/or communicating
device. The description pertaining to the RFID identifier may
pertain, as well, to a hardware identifier stored by another type
of hardware device, e.g., a communication device, such as a device
employing Bluetooth.TM. technology.
[0056] As described above, the RFID tag 20A of the RFID device 20
associated with each device 14 stores an RFID identifier associated
with the device 14. Resolution of an RFID identifier and network
address associated with a device 14 is now described.
Configurations of network 30 may change over time, such as when
networked equipment or equipment used for establishing the network
is moved, or the network setup is altered. There is not a fixed
relationship between the network address of a device 14 and the
RFID identifier associated with the device 14. Since it may be
inconvenient, impractical and/or difficult to replace the RFID tag
20A of a device 14 with a different RFID tag 20A storing an RFID
identifier, and writable RFID tags are expensive, in accordance
with an embodiment of the present disclosure, the RFID identifier
is fixed, and RFID tags 20A having hard-coded, non-alterable RFID
identifiers are used. Accordingly, in accordance with this
embodiment of the disclosure, the RFID device 20 does not store
network setup information.
[0057] Each device 14 knows its own RFID identifier. For example,
for each of the devices 14, the storage device 17, which is
accessible by the processor 16, stores the same RFID identifier
that is stored by its RFID tag 20A. The RFID identifier is entered
into a non-volatile portion of the storage device 17 for storage
thereof, for example at a stage of manufacturing, assembly or
configuration of the device 14 with the RFID device 20.
[0058] With reference to FIG. 3, the process is described for
resolving the network address and RFID address of an exemplary
first and second networked device 302 and 304, respectively, such
as when the devices 302 and 304 establish a cluster. Devices 302
and 304 are functionally and structurally substantially the same as
devices 14 shown and described with respect to FIG. 1. Each of
devices 302 and 304 are assigned a network address, 10.0.0.3 and
10.0.0.2, respectively. Furthermore, each of devices 302 and 304
includes an RFID device 20, including an RFID reader device 20B and
an RFID tag 20A storing a respective RFID identifier. The RFID
identifier stored by the RFID tag 20A of device 302 is "y", and the
RFID tag 20A of device 304 is "x".
[0059] Additional devices may be included in the network and
assigned respective network addresses. Any networked device of the
networked devices may sense another networked device and determine
the network address for the sensed device, which includes resolving
a hardware address of the sensed device that is used for the
sensing with the network address of the sensed device. Once the
address resolution is performed, the sensing device may communicate
with the sensed device via the network 30 using the resolved
network address. Accordingly, there is no need to use the
communication medium that was used for the sensing for anything but
the sensing.
[0060] First, device 302 senses the presence of device 304,
including the RFID reader device 20B of device 302 sensing the
presence of the RFID tag 20A of device 304 and retrieving the RFID
identifier "x" stored by the sensed RFID tag 20A. The interrogation
(denoted by dotted line 308) is performed independently of the
network 30, and is performed using RFID technology. In another
example, a different technology may be used for sensing the
presence of device 304 by device 302. The processor 16 of device
302 is aware of the sensing of the presence of device 304 and
generates a query message, "Who has RFID identifier "x"?", which is
transmitted via communication port 18, e.g., by issuing a multicast
or broadcast, where the multicast or broadcast is a message
transmission directed to all addresses on the network 30 or a
segment of the addresses on the network 30 (a sub-network). All of
the devices included on the network to which the query message was
multicast, broadcast or transmitted receive the query message. The
processor 16 of the respective devices receiving the query message
determines whether or not their RFID identifier is "x" by comparing
the RFID identifier "x" included in the query message with the RFID
identifier stored by storage device 17. Devices receiving the query
message that do not have an RFID identifier "x" ignore the query
message. The processor 16 of the device which does have the RFID
identifier "x" (device 304 in the current example) generates a
reply message including the network address of the device 304,
10.0.0.2 in reply to the query message. The reply message is
transmitted to the device 302 via the network 30. An exemplary
reply message is "10.0.0.2 has RFID identifier "x'' ".
[0061] If device 302 receives no reply to its query message, then
it may repeat transmitting the query message, such as until it
receives a reply, or a time threshold or number of attempts
threshold is exceeded. The threshold(s) may be configurable. If
device 302 receives a reply message with the requested network
address, it may communicate with device 304 via the network 30
using network communication methods and the network address
obtained in the reply message. Otherwise, device 302 may ignore the
RFID identifier "x" received via the interrogation. In a similar
fashion, device 304 may interrogate device 302 and transmit,
multicast or broadcast a query message "Who has RFID identifier
"y"?". Device 302 replies with the reply message, "10.0.0.3 has
RFID identifier "y''". The query and reply network communication is
denoted by arrows 310. The network communication 310 and the RFID
communication 308 are mutually exclusive of one another.
[0062] One application for resolving network addresses and RFID
identifiers in accordance with the method described above is for
establishment of a cluster of one or more devices 14. A device 14
using multicasts or broadcasts for transmitting queries and replies
may establish a cluster with other devices 14, including resolving
network addresses and RFID identifiers which are capable of
receiving its transmitted multicasts or broadcasts. A multicast or
broadcast range (e.g., set of devices capable of reception of the
multicast or broadcast messages) is established by local routing
policies. Often, devices 14 within multicast or broadcast range of
one another must have addresses which are included in a set of
addresses connected to a single local network hub (e.g., which
forms a sub-network or network segment). The local network hubs are
often set up by default to conform to a policy established for
preventing network broadcast storms. Devices having addresses
included in the set are typically located physically proximate to
one another. Since it is desirable, in accordance with the present
disclosure, to form clusters with physically proximate devices
cluster, it is highly likely that devices to be clustered are all
included on the same network segment.
[0063] An advantage to the described method for resolving the RFID
identifier and network address of a device 14 is that
administrative intervention is not required, and directories
mapping network addresses to RFID identifiers do not have to be
created or maintained. Accordingly, significant gains in
ease-of-use and reduction in setup and maintenance costs can be
achieved.
[0064] The above described method for resolving the RFID
identifiers (or hardware identifiers) with network addresses should
not be confused with prior art Address Resolution Protocol (ARP)
and related protocols for resolving network addresses (e.g., IP
addresses) to network hardware addresses (e.g., Ethernet MAC
addresses), or back again. In ARP, both addresses being resolved
are networking addresses having different protocol levels. The
present disclosure provides a method for mapping an RFID identifier
to a network address, where the RFID identifier plays no function
in the network communication, since the RFID identifier is not an
address of any hardware entity used for that network communication,
as the RFID communication and network communication are independent
of one another and mutually exclusive.
[0065] In one embodiment of the present disclosure, the RFID device
20 of a first device 14 may include an RFID reader device 20B (or
other type of reader device using another technology for
communicating independently from the network 30), but may not
include an RFID tag 20A or RFID identifier. The RFID device 20 of a
second device 14 may include an RFID tag 20A storing an RFID
identifier (or other means storing an identifier that is readable
by the reading device of the first device 14), but may not include
an RFID reader device 20B. The first device 14 may interrogate the
second device 14, determine the network address for the second
device 14, and communicate with the second device 14 via the
network using the determined network address.
[0066] There are many other possible applications for resolving
network addresses and RFID identifiers, such as for taking
inventory, security, etc. In a first example, a clerk may operate a
handheld inventory taking device that is operatively connected to
the network 30 and includes an RFID reader device 20B. When sensing
an RFID tag associated with an object being inventoried (including
retrieving the RFID identifier stored by the RFID tag being
sensed), the handheld device resolves the RFID identifier
associated with the object and a network address of the object. The
handheld device may then interrogate the object for further asset
management data using the network 30, rather than using the limited
storage and communication capability of the RFID devices 20.
[0067] In another example of an application for resolving network
addresses and RFID identifiers, a secured area may allow only
authorized vehicles to enter a gate. The gate may be equipped with
a security device having an RFID reader device 20B which senses the
RFID tag associated with an approaching vehicle. The security
device resolves the RFID identifier retrieved from the sensed RFID
tag associated with the vehicle with the network address of the
vehicle. The security device may further interrogate the vehicle
for additional security related data before deciding whether or not
to open the gate for the vehicle.
[0068] It will be appreciated that various of the above-disclosed
and other features and functions, or alternatives thereof, may be
desirably combined into many other different systems or
applications. Also that various presently unforeseen or
unanticipated alternatives, modifications, variations or
improvements therein may be subsequently made by those skilled in
the art which are also intended to be encompassed by the following
claims.
[0069] The claims can encompass embodiments in hardware, software,
or a combination thereof. The word "printer" as used herein
encompasses any apparatus, such as a digital copier, bookmaking
machine, facsimile machine, multifunction machine, etc., which
performs a print outputting function for any purpose.
* * * * *