Business operations that involve the distribution and use of numerous inventory items (e.g., keys) require careful inventory control of such items, including the issuance (i.e., check-out), registration, and subsequent collection (i.e., return) of those inventory items. Such inventory control operations are time and resource consuming, and are prone to errors. Some situations requiring effective and secure inventory control include: 1) issuing route keys to crews that service ATMs, banks, retail outlets and other facilities, with some routes requiring a large number of stops, 2) issuing fire arms, 3) issuing internal keys to branch doors and lockers, or 4) issuing other assets such as communication devices, hand-held scanners, and other assets. In these types of situations, accurately registering the items checked out and ascertaining that all such items are properly returned can be challenging.
In some variations, a system is disclosed. The system includes a weight measure device with a suspension member, a wireless communication module, and a controller. The controller is configured to cause, when operating, operations including measuring a combined weight of one or more items suspended from the suspension member of the weight measure device at a first time instance, with each of the one or more items including a respective traceable object coupled to a respective wireless identification device, and obtaining information transmitted to the wireless communication module by the respective wireless identification device of the each of the one or more items suspended from the suspension member of the weight measure device at the first time instance, the information being representative of an identification associated with the respective wireless identification device and the respective traceable object. The controller is also configured to cause operations including obtaining from a database in electrical communication with the controller, based on the information transmitted by the respective wireless identification device of the each of the one or more items, individual weights for each of the one or more items suspended from the suspension member, and determining whether the combined weight of the one or more items suspended from the suspension member of the weight measure device at the first time instance matches a sum of the individual weights obtained from the database for the one or more items.
Embodiments of the system may include at least some of the features described in the present disclosure, including one or more of the following features.
The controller may further be configured to cause further operations including measuring weight of a returned set of items suspended from the suspension member of the weight measure device at a second time instance subsequent to the first time instance, obtaining identification information transmitted from at least one returned wireless identification device included with the returned set of items suspended from the suspension member of the weight measure device at the second time instance, obtaining from the database, based on the information transmitted by the at least one returned wireless identification device included with the returned set of items, individual weights for each returned item in the returned set of items suspended from the suspension member, and determining whether the combined weight of the returned set of items measured at the second time instance matches a sum of the individual weights obtained from the database for the each returned item in the returned set of items.
The controller may further be configured to cause further operations including determining whether the combined weight of the returned set of items measured at the second time instance matches the combined weight of the one or more items measured at the first time instance, and whether the identification information obtained from the at least one returned wireless identification device at the second time instance matches the information transmitted by the respective wireless identification device of the each of the one or more items at the first time instance.
The weight measure device and the wireless communication module may be housed in a cabinet.
The wireless communication module may be housed in a detachable L-shaped cartridge that can be fitted into a cavity defined in an inner wall of the cabinet.
The cabinet may include internal walls constructed from a radiation-impervious material to prevent transmission of wireless signals originating within the cabinet from exiting the cabinet.
The respective wireless identification device of the each of the one or more items may include an RFID device.
The suspension member of the weight measure device may include a hook.
The respective traceable object of the each of the one or more items may include a key, and one or more keys may be configured to be suspended from the hook.
The system may further include a basket suspended from the suspension member, with the basket configured to receive items for weight measurement and identification processing.
The respective traceable object of the each of the one or more items may include one or more of, for example, a key, a fire arm, ammunition, and/or a portable a communication device.
The controller may further be configured to cause further operations including controlling one or more of a data rate or transmission power of the communication control module.
Determining whether the combined weight of the one or more items suspended from the suspension member of the weight measure device at the first time instance matches the sum of the individual weights obtained from the database for the one or more items may include determining whether a difference between the combined weight of the one or more items suspended from the suspension member of the weight measure device at the first time instance and the sum of the individual weights obtained from the database for the one or more items is less than or equal to a pre-determined weight tolerance value.
The controller may further be configured to cause further operations including setting the pre-determined weight tolerance value based on input from a user.
The controller may further be configured to cause further operations including determining based on identification information obtained from one or more wireless identification devices whether one or more objects associated with the identification information obtained from the one or more wireless identification devices are to be checked-out or are being returned, and identifying a route associated with the one or more objects.
In some variations, a method is provided. The method includes measuring a combined weight of one or more items suspended from a suspension member of a weight measure device at a first time instance, with each of the one or more items including a respective traceable object coupled to a respective wireless identification device, and obtaining information transmitted to a wireless communication module by the respective wireless identification device of the each of the one or more items suspended from the suspension member of the weight measure device at the first time instance, the information being representative of an identification associated with the respective wireless identification device and the respective traceable object. The method further includes obtaining from a database, based on the information transmitted by the respective wireless identification device of the each of the one or more items, individual weights for each of the one or more items suspended from the suspension member, and determining whether the combined weight of the one or more items suspended from the suspension member of the weight measure device at the first time instance matches a sum of the individual weights obtained from the database for the one or more items.
Embodiments of the method may include at least some of the features described in the present disclosure, including at least some of the features described above in relation to the system.
In some variations, an apparatus is provided. The apparatus includes means for measuring a combined weight of one or more items suspended from a suspension member of a weight measure device at a first time instance, with each of the one or more items including a respective traceable object coupled to a respective wireless identification device, and means for obtaining information transmitted to a wireless communication module by the respective wireless identification device of the each of the one or more items suspended from the suspension member of the weight measure device at the first time instance, the information being representative of an identification associated with the respective wireless identification device and the respective traceable object. The apparatus also includes means for obtaining from a database, based on the information transmitted by the respective wireless identification device of the each of the one or more items, individual weights for each of the one or more items suspended from the suspension member, and means for determining whether the combined weight of the one or more items suspended from the suspension member of the weight measure device at the first time instance matches a sum of the individual weights obtained from the database for the one or more items.
Embodiments of the apparatus may include at least some of the features described in the present disclosure, including at least some of the features described above in relation to the system, and the method.
In some variations, a non-transitory computer readable media is provided. The computer readable media is programmed with a set of instructions executable on a processor that, when executed, causes operations including measuring a combined weight of one or more items suspended from a suspension member of a weight measure device at a first time instance, with each of the one or more items including a respective traceable object coupled to a respective wireless identification device, and obtaining information transmitted to a wireless communication module by the respective wireless identification device of the each of the one or more items suspended from the suspension member of the weight measure device at the first time instance, the information being representative of an identification associated with the respective wireless identification device and the respective traceable object. The set of instructions also causes operations including obtaining from a database, based on the information transmitted by the respective wireless identification device of the each of the one or more items, individual weights for each of the one or more items suspended from the suspension member, and determining whether the combined weight of the one or more items suspended from the suspension member of the weight measure device at the first time instance matches a sum of the individual weights obtained from the database for the one or more items.
Embodiments of the computer readable media may include at least some of the features described in the present disclosure, including at least some of the features described above in relation to the system, the method, and the apparatus.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly or conventionally understood. As used herein, the articles “a” and “an” refer to one or to more than one (i.e., to at least one) of the grammatical object of the article. By way of example, “an element” means one element or more than one element. “About” and/or “approximately” as used herein when referring to a measurable value such as an amount, a temporal duration, and the like, encompasses variations of ±20% or ±10%, ±5%, or +0.1% from the specified value, as such variations are appropriate to in the context of the systems, devices, circuits, methods, and other implementations described herein. “Substantially” as used herein when referring to a measurable value such as an amount, a temporal duration, a physical attribute (such as frequency), and the like, also encompasses variations of ±20% or ±10%, ±5%, or +0.1% from the specified value, as such variations are appropriate to in the context of the systems, devices, circuits, methods, and other implementations described herein.
As used herein, including in the claims, “or” or “and” as used in a list of items prefaced by “at least one of” or “one or more of” indicates that any combination of the listed items may be used. For example, a list of “at least one of A, B, or C” includes any of the combinations A or B or C or AB or AC or BC and/or ABC (i.e., A and B and C). Furthermore, to the extent more than one occurrence or use of the items A, B, or C is possible, multiple uses of A, B, and/or C may form part of the contemplated combinations. For example, a list of “at least one of A, B, or C” (or “one or more of A, B, or C”) may also include A, AA, AAB, AAA, BB, BCC, etc.
As used herein, including in the claims, unless otherwise stated, a statement that a function, operation, or feature, is “based on” an item and/or condition means that the function, operation, function is based on the stated item and/or condition and may be based on one or more items and/or conditions in addition to the stated item and/or condition.
Details of one or more implementations are set forth in the accompanying drawings and in the description below. Further features, aspects, and advantages will become apparent from the description, the drawings, and the claims.
Like reference symbols in the various drawings indicate like elements.
Disclosed herein are systems, devices, apparatus, methods, computer program products, media and other implementations, including a system that includes a weight measure device with a suspension member with which inventory items to be managed can be weighed at substantially a single weight point, a wireless communication module configured to communicate with wireless identification devices associated with the items to be managed, and a controller (e.g., a processor-based controller). The controller is configured, when operating, to cause operations that include measuring a combined weight of one or more items suspended from the suspension member of the weight measure device at a first time instance, with each of the one or more items including a respective traceable object (e.g., keys, fire arms, or other items that need to be tracked and/or managed) coupled to a respective wireless identification device (e.g., a passive wireless device, such as an RFID device, a powered wireless transceiver configured to receive and transmit wireless communications, etc.), and obtaining information transmitted to the wireless communication module by the respective wireless identification device of the each of the one or more items suspended from the weight measure device at the first time instance, with the information being representative of an identification associated with the respective wireless identification device and the respective traceable object. The controller is further configured to cause the operations of obtaining from a database in electrical communication with the controller, based on the information transmitted by the respective wireless identification device of the each of the one or more items, individual weights for each of the one or more items suspended from the suspension member, and determining whether the combined weight of the one or more items suspended from the suspension member of the weight measure device at the first time instance matches a sum of the individual weights obtained from the database for the one or more items. If the combined measured weight and the weight sum (determined based on previously recorded individual weights for the items being tracked managed) match, the checkout procedure may proceed. Otherwise, there may be a problem with the items that are to be checked out, and some remedial action (e.g., a visual inspection) may be required.
In some embodiments, a similar procedure may be followed upon items being returned. Thus, in such embodiments, a returned set of items is suspended from a suspension member of a weight measure device to measure its combined weight, the identity of the items included in the returned set is obtained (based on information transmitted by the wireless identification devices included with the returned set), and the measured combined weight is checked against a sum of individual weights for the returned items obtained from the database according to the identification information provided by the wireless identification devices in the returned set (e.g., the identification values are used to access records on the database). In some embodiments, the combined weight measured at inbound and outbound may be compared (to check if there are any discrepancies), and the identification information provided by the wireless identification devices at inbound and outbound may also be compared (e.g., as another way of ensuring that items that were checked out have been returned).
The systems, methods, and other implementations described herein can thus determine efficiently and quickly whether there is a weight discrepancy between an expected sum of weights for items being checked in or out, and the combined measured weight of the items. A weight discrepancy may indicate that an item is missing (e.g., even if its associated wireless identification device may be communicating/interacting with the communication module of the system), that one of the items is broken (thus requiring a visual inspection of the items to identify the broken item), etc.
Thus, with reference to
The housing 110 includes a door 112 that can be closed to isolate the interior of the housing (in which the suspension member 122 of the weight measure device 120 is disposed) from the outside. The housing 110 (including the door 112) may be constructed from radiation impervious materials (e.g., conductive and/or magnetic materials, such as stainless steel or other types of metal/alloys) so that when the door 112 is closed, the interior of the housing is shielded from outside electromagnetic radiation. Thus, with the door 112 closed, a communication module disposed, for example, within the housing 110 will be able to communicate only with wireless identification devices (attached to the objects to be tracked and managed) that are located within the housing 110 without transmitting communication signals to, or receiving communication signals from, wireless devices (such as RDIF tags) that are outside the housing and with which the communication module is not supposed to interact at that particular time instance.
The system 100 further includes one or more wireless communication modules 130a-n configured to communicate with wireless identification devices (e.g., RFID) associated with the items to be tracked. Each of the communication modules 130a-n is configured to, in some embodiments, transmit a trigger/interrogation signal that is received by the wireless identification devices associated with the one or more items that are to be tracked and managed. In some embodiments, a communication module transmits the trigger signal in response to detecting that the items to be identified have been presented for weighing (e.g., when the suspension member 122 of the weight measure device is pulled downward by the weight of the items to be tracked). In some embodiments, the trigger signal may be sent by the communication module in response to a user request, as a result of periodic transmissions of a trigger signal, based on an initiating signal transmitted from a device associated with the one or more items to be tracked and managed (e.g., in embodiments in which an active wireless device may be bundled with the items to be tracked, with such an active wireless device configured to transmit beacons indicating the presence of one or more items that are to be tracked so as to cause the wireless communication module, upon detection of such a beacon, to transmit trigger signals to the wireless identification devices). Upon receiving the trigger signal, the wireless identification devices associated with traceable objects (e.g., keys) of the items to be tracked and managed are configured to each transmit a reply/answer signal that includes information representative of an identification associated with the respective wireless identification device and the respective traceable object.
The wireless communication module 130 may be configured to communicate with wireless identification devices using one or more types of wireless technologies, including communicating with wireless communication devices implemented as active or passive devices (i.e., devices with a power supply). In some embodiments, the wireless communication devices may be implemented using UHF RFID devices. In some embodiments, the wireless identifications devices may implement, for example, communication protocols such as Bluetooth® wireless technology, Ultra-Wideband (UWB), and/or other types of near field or long range wireless communication technologies. Furthermore, communication between the wireless communication module and the wireless identification devices may not necessarily be limited to radio frequency (RF) communication, but may include various other forms of wireless communication, such as infrared (IR) communication, for example. The wireless communication module may be configured to adjust the transmission power and/or the data rate of signals transmitted by it or by the devices with which it communicates.
As shown in
Additionally, and/or alternatively, a portable communication module, such as the portable module 130n may be used. In some embodiments, both the wireless communications modules 130a and 130n may be used, with the portable wireless communication module being used to perform periodical location-wide inventory checks of all the assets/objects at a particular location (e.g., to maintain up-to-date records of all available assets/items of the inventory), while the stationary wireless communication module may be used primarily to communicate with the wireless identification devices associated with objects that are being checked-in or returned (e.g., the stationary wireless communication module may thus be activated in response to some triggering event, such as the pulling down of the suspension member of the weight measure device).
Electrically coupled to the one or more wireless communication modules 130a-n is a computing system 140 configured to perform (alone, or in combination with other remote servers/computing systems) the processes and operations to track and perform inventory management with respect to one or more items. For example, the system 140 may be configured to maintain/manage a database 142 (in electrical communication with the system 140) recording traceable objects (e.g., keys, fire arms, ammunition, portable/personal communication devices, etc.) that are to be tracked, along with associated identification information corresponding to wireless identification devices that are associated with the traceable objects. An example of a database application that may be used/implemented on the computing system 140 is an SQL-based database system such as the SQL server 2008 R2 express (which may comprise part of the computing system 140). The computing system 140 may also be configured to control/adjust the transmission power at which the wireless communication module 130a and/or 130n are to operate, and/or to control/adjust the data rate at which the wireless communication modules are to communicate with, for example, the wireless identification devices associated with the items to be tracked and managed.
As noted, and as will be further discussed in greater details below, the system 140 is configured, for example, to obtain, via the wireless communication module 130a (and/or 130n), the identification information transmitted from the wireless identification devices (associated with the traceable objects) in response to a trigger signal sent by the communication module 130a. The system 140 is also configured to obtain weight measurement values for the objects that are to be traced, as well as other germane auxiliary information such as route information, identity of the person(s) that is to take possession of the objects to be traced, etc. The auxiliary information may be entered via a user interface coupled to the system 140 (e.g., a keyboard, a touch pad, etc.), via scannable media (e.g., a magnetic card carried by the person taking possession of the objects), etc. The computing system 140 is also configured to obtain information about returned objects (e.g., their weight and identification information associated with them). The identification information provided to the computing system 140 (e.g., at outbound, inbound, or both) may be used to access records on the database implemented (or coupled to) the computing system 140 in order to retrieve or otherwise obtain weight information for the items associated with the identification information transmitted from the wireless identification devices, and to compare the combined measured weight information to an expected weight sum for the items to be tracked. If there is a discrepancy in the weights, a remedial action may be taken (e.g., an alert may be issued by the computing system 140, requiring an administrator to conduct a visual inspection of the items being checked-out or returned). In some implementations, the computing system 140 may also be configured to compare information stored on the server at the time the items being tracked were checked out to information obtained upon return of the items. For example, the computing system 140 may compare the combined weights at the points of check-out and return, and also compare the identification information received from the wireless identification devices at those two time instance, and determine if there's a discrepancy between the compared values, and whether an appropriate action needs to be performed (e.g., issue an appropriate alert advising of any discrepancy between the “checked-out” and “returned” information). The system 140 may also be configured to wirelessly communicate with the wireless communication module(s) (e.g., in situations where a portable wireless communication module, such as the communication module 130n, is used), and as such the system 140 may include one or more wireless transceivers to enable such wireless communication.
In some embodiments, the computing system 140 may be configured to determine whether items for which it obtained identification information are being checked out or are being returned (e.g., when it is determined that the items for which identification information is obtained are indicated by the database to be checked-out). Thus, in such embodiments, the computing system 140 is configured to cause operations including determining based on identification information obtained from one or more wireless identification devices whether one or more objects associated with the identification information obtained from the one or more wireless identification devices are to be checked-out or are being returned. In some embodiments, the wireless communication module (such as the module 130a) may be incorporated within the server 140.
In situations where the items 150a-n include keys coupled to the respective wireless identification devices 154a-n, the keys may be placed on a key ring 156 that can be suspended from the suspension member 122, or be placed in a basket/tray suspended from the suspension member, in order to be weighed by the weight measure device and/or have the identification information associated with the objects 152a-n (namely the keys) transmitted to the one or more of the communication modules 130a-n. In some embodiments, the weighing and the transmission of identification information may commence (substantially concurrently) in response to a triggering event or occurrence (e.g., the lowering of the suspension member 122, the closing of the door 112, or some other event/occurrence).
With reference now to
At substantially the same time that the weight of the one or more items is measured, information transmitted to a wireless communication module by the respective wireless identification device of the each of the one or more items suspended from the suspension member of the weight measure device is obtained 220, with that information being representative of an identification associated with the respective wireless identification device and the respective traceable object. The identification information received from the wireless identification devices may be recorded on the wireless identification devices (e.g., written, by, for example, a communication module such as the module 130a and/or 130n, to memory storage provided with microchips of the wireless communication devices).
As noted, in some embodiments, the operations to measure the combined weight of the items to be tracked and to obtain the information representative of the identification associated with the items may be initiated by a triggering event or occurrence, for example, the closing of the door of a cabinet-like housing in which the weight measure device is disposed, the lowering of the suspension member of the weight measure device (as a result of suspending the items from the suspension bar), etc. The triggering event may cause the communication module to transmit a trigger/interrogation signal that is received by the wireless identification devices of the items to be tracked. In some implementations, the communication module (or at least its antenna) is housed within the housing containing the weight measure device. Where the housing is constructed from a radiation impervious material (and when the door of the housing is closed), the trigger signal from the communication module will generally be received only by the wireless identification devices placed inside the housing.
In some embodiments, the particular items to be weighed and identified are selected based on data provided through a user interface of a computing system (such as the computing system 140 illustrated in
The identification information received by the communication module and the measured weight information are provided to the computing system (such as the computing system 140 illustrated in
With continued reference to
Having obtained the pre-recorded individual weight of the individual items (e.g., items that each include the wireless identification device and the actual corresponding traceable object), a determination is made 240 whether the combined weight of the one or more items suspended from the suspension member of the weight measure device at the first time instance matches a sum of the individual weights, obtained from the database, for the one or more items. If there is a mismatch between the measured combined weight and the expected sum of the individual weights of the items selected, an appropriate alert can be issued. In some embodiments, an exact match between the measured combined weight and the expected combined weight is not required, as long as the two values are within some threshold value from each other (such threshold value being representative of the weight tolerance). Thus, in such embodiments, the difference between the measured combined weight and the expected combined weight needs to be less than or equal to some pre-determined weight tolerance value. In some embodiments, the pre-determined weight tolerance value can be adjusted/controlled based on input from an administrator (or someone else).
Once the selected items are weighed and identified, and no alert is issued, a transaction receipt confirming the issuance of the items can be generated and signed (physically or electronically) by the user receiving the items and/or the administrator overseeing the weighing and identification of the items transferred to the user.
As noted, at the inbound (i.e., return/collection of the traceable objects) a similar procedure to that performed during check-out may be followed. Particularly, a determination may be made whether all the right wireless identification devices have been returned and that no wireless identification devices (e.g., KeyCop™ identification devices) are missing. If a certain key has been broken, the system will detect a weight discrepancy and some remedial action will be initiated (e.g., the user and/or the administrator will be asked to intervene).
Thus, in such embodiments, at a second, subsequent, time instance (corresponding to the return time for the items previously checked out), weight of a returned set of items, suspended from the suspension member of the weight measure device, is measured. At substantially the same time, identification information transmitted from at least one returned wireless identification device included with the returned set of items is obtained (i.e., at substantially the second time instance). Based on the information transmitted by the at least one returned wireless identification device included with the returned set of items, individual weights for each returned item in the returned set of items suspended from the suspension member can be obtained from the database, and a determination made as to whether the combined weight of the returned set of items measured at the second time instance matches a sum of the individual weights obtained from the database of the each returned item in the returned set of items. In some embodiments, the item-return procedure does not require an exact match of the combined weight of the items returned with the expected sum of the individual weights of the returned items. Rather, some pre-determined weight tolerance (which may be the same or different than the tolerance used to verify that the measured combined weight of the items checked out substantially matches the expected weight sum for those items) is allowed. When there is no discrepancy in the measured weight of the returned items and the expected weight sum, an inbound receipt (or some other confirmation) is provided.
In some embodiments, having measured the weight of the returned item(s), and having obtained the identification information transmitted by the identification wireless device(s) of the returned item(s), a determination may be made whether the combined weight of the returned set of items measured at the second time instance matches the combined weight of the one or more items measured at the first time instance, and whether the identification information obtained from the at least one returned wireless identification device at the second time instance matches the information transmitted by the respective wireless identification device of the each of the one or more items obtained at the first time instance.
By using the methods, systems, and other implementations described herein in relation to tracking and managing traceable objects coupled to wireless identification devices, the average inbound and outbound processes can be performed significantly faster than performing a regular manual check-out and/or check-in processes (where all the individual seal numbers typically have to be checked one at a time). The systems, methods, and other implementations described herein are also more reliable than conventional manual procedures due to the fact that with only visual checks, traceable objects (e.g., keys) that have been broken are often not detected.
Performing the various operations described herein may be facilitated by a processor-based computing system. Particularly, at least part of at least some of the various systems/devices described herein (e.g., the computing system 140, the wireless identification devices, etc.) may be implemented using one or more processing-based devices. Thus, with reference to
The processor-based device 810 is configured to facilitate, for example, the implementation of operations to track and manage traceable objects coupled to wireless identification devices, including operations to obtain identification information and weight measurement information for checked-out items and/or returned items, and determine weight discrepancies between measured weights for checked-out and/or returned items and their expected weight sums. The storage device 814 may thus include a computer program product that when executed on the processor-based device 810 causes the processor-based device to perform operations to facilitate the implementation of the procedures described herein. The processor-based device may further include peripheral devices to enable input/output functionality. Such peripheral devices may include, for example, a CD-ROM drive and/or flash drive (e.g., a removable flash drive), or a network connection (e.g., implemented using a USB port and/or a wireless transceiver), for downloading related content to the connected system. Such peripheral devices may also be used for downloading software containing computer instructions to enable general operation of the respective systems/devices. Alternatively and/or additionally, in some embodiments, special purpose logic circuitry, e.g., an FPGA (field programmable gate array), an ASIC (application-specific integrated circuit), a DSP processor, etc., may be used in the implementation of the system 800. Other modules that may be included with the processor-based device 810 are speakers, a sound card, a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computing system 800. The processor-based device 810 may include an operating system, e.g., Windows XP® Microsoft Corporation operating system. Alternatively, other operating systems could be used.
Computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any non-transitory computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a non-transitory machine-readable medium that receives machine instructions as a machine-readable signal.
Some or all of the subject matter described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an embodiment of the subject matter described herein), or any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
The computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server generally arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Although particular embodiments have been disclosed herein in detail, this has been done by way of example for purposes of illustration only, and is not intended to be limiting with respect to the scope of the appended claims, which follow. In particular, it is contemplated that various substitutions, alterations, and modifications may be made without departing from the spirit and scope of the invention as defined by the claims. Other aspects, advantages, and modifications are considered to be within the scope of the following claims. The claims presented are representative of the embodiments and features disclosed herein. Other unclaimed embodiments and features are also contemplated. Accordingly, other embodiments are within the scope of the following claims.