A system is presented for tracking user devices in a facility. wireless signals and user information are communicated from user devices to a wireless device and a queue management server. The system determines location information for the user devices within a defined space at points in time. The system tracks the movement of the user devices within the defined space over a period based upon the location information. The system determines when user devices are within a threshold distance of corresponding resource devices based upon the determined location information. The system communicates user preference and profile information to the resource devices indicating that the user devices are within a threshold distance of the resource devices. The resource devices display customized information for user devices based upon user preference and profile information.

Patent
   12101692
Priority
May 31 2022
Filed
May 31 2022
Issued
Sep 24 2024
Expiry
May 26 2043
Extension
360 days
Assg.orig
Entity
Large
0
58
currently ok
8. A method for tracking users, comprising:
storing first user preference information associated with a first user and first user profile information associated with the first user;
communicating wireless signals to at least one wireless device of a plurality of wireless devices; and
communicating the first user preference information and the first user profile information to a queue management server;
storing the wireless signals received from the first user device;
determining location information for the first user device within the defined space at different points in time based at least in part upon the wireless signals received from the first user device;
communicating the location information for the first user device to a queue management server;
storing location information for a plurality of resource devices positioned in the defined space;
receiving the location information for the first user device;
tracking a movement of the first user device within the defined space over a period of time based at least in part upon the location information for the first user device;
determining that the first user device is within a threshold distance of a particular resource device based at least in part upon the determined location information for the first user device and the location information for the plurality of resource devices positioned in the defined space;
communicating a notification signal to the particular resource device indicating that the first user device is within the threshold distance of the particular resource device;
communicating the first user preference information and the first user profile information to the particular resource device in conjunction with the notification signal;
and
displaying customized information for the first user based at least in part upon the first user preference information and the first user profile information.
15. A non-transitory computer-readable storage medium that collectively includes a plurality of instruction sets that when executed by a corresponding plurality of processors, cause the processors to perform the operations of:
storing first user preference information associated with a first user and first user profile information associated with the first user;
communicating wireless signals to at least one wireless device of a plurality of wireless devices; and
communicating the first user preference information and the first user profile information to a queue management server;
storing the wireless signals received from the first user device;
determining location information for the first user device within the defined space at different points in time based at least in part upon the wireless signals received from the first user device;
communicating the location information for the first user device to a queue management server;
storing location information for a plurality of resource devices positioned in the defined space;
receiving the location information for the first user device;
tracking a movement of the first user device within the defined space over a period of time based at least in part upon the location information for the first user device;
determining that the first user device is within a threshold distance of a particular resource device based at least in part upon the determined location information for the first user device and the location information for the plurality of resource devices positioned in the defined space;
communicating a notification signal to the particular resource device indicating that the first user device is within the threshold distance of the particular resource device;
communicating the first user preference information and the first user profile information to the particular resource device in conjunction with the notification signal;
and
displaying customized information for the first user based at least in part upon the first user preference information and the first user profile information.
1. A system for tracking users, comprising:
a first user device associated with a first user positioned in a defined space, the first user device comprising a first user device memory and a first user device processor, wherein:
the first user device memory stores first user preference information associated with the first user and first user profile information associated with the first user;
the first user device processor is communicatively coupled to the first user device memory and configured to:
communicate wireless signals to at least one wireless device of a plurality of wireless devices; and
communicate the first user preference information and the first user profile information to a queue management server;
the at least one wireless device comprising a wireless device memory and a wireless device processor, wherein:
the wireless device memory is configured to store the wireless signals received from the first user device;
the wireless device processor is communicatively coupled to the wireless device memory and configured to:
determine location information for the first user device within the defined space at different points in time based at least in part upon the wireless signals received from the first user device;
communicate the location information for the first user device to a queue management server;
the queue management server communicatively coupled to the at least one wireless device and configured to:
store location information for a plurality of resource devices positioned in the defined space;
receive the location information for the first user device;
track a movement of the first user device within the defined space over a period of time based at least in part upon the location information for the first user device;
determine that the first user device is within a threshold distance of a particular resource device based at least in part upon the determined location information for the first user device and the location information for the plurality of resource devices positioned in the defined space;
communicate a notification signal to the particular resource device indicating that the first user device is within the threshold distance of the particular resource device; and
communicate the first user preference information and the first user profile information to the particular resource device in conjunction with the notification signal; and
the particular resource device communicatively coupled to the queue management service and configured to display customized information for the first user based at least in part upon the first user preference information and the first user profile information.
2. The system of claim 1, wherein the wireless device processor is further configured to derive at least one selected from a group consisting of signal strength, angle of arrival, round trip time, and known location parameters of one or more devices associated with the wireless signals to determine location information using a localization technique.
3. The system of claim 1, wherein the wireless device processor is further configured to determine at least one selected from a group consisting of location information using global positioning system coordinates derived from the wireless signals, fingerprinting localization techniques using signal strength derived from the wireless signal, signal strength of the wireless signals derived at one or more other devices, and known location parameters of one or more devices.
4. The system of claim 1, wherein the queue management server is further configured to select the particular resource device using a data queue, wherein the data queue comprises a list of user and resource pairs.
5. The system of claim 1, wherein the particular resource device is a kiosk, and the first user device is positioned adjacent to the kiosk when the first user device is within the threshold distance of the kiosk.
6. The system of claim 1, wherein the particular resource device is a computer of an agent, and the first user device is positioned adjacent to the computer when the first user device is within the threshold distance of the computer of the agent.
7. The system of claim 1, wherein the customized information presented for display by the particular resource device is a customized service based on at least one selected from a group consisting of a device type, at least one of the first user preference information, the first user profile information, and the location information.
9. The method of claim 8, further comprising deriving at least one selected from a group consisting of signal strength, angle of arrival, round trip time, and known location parameters of one or more devices associated with the wireless signals to determine location information using a localization technique.
10. The method of claim 8, further comprising determining location information using at least one selected from a group consisting of global positioning system coordinates derived from the wireless signals, fingerprinting localization techniques using signal strength derived from the wireless signal, signal strength of the wireless signals derived at one or more other devices and known location parameters of one or more devices.
11. The method of claim 8, further comprising selecting the particular resource device using a data queue, wherein the data queue comprises a list of user and resource pairs.
12. The method of claim 8, wherein the particular resource device is a kiosk, and the first user device is positioned adjacent to the kiosk when the first user device is within the threshold distance of the kiosk.
13. The method of claim 8, wherein the particular resource device is a computer of an agent, and the first user device is positioned adjacent to the computer when the first user device is within the threshold distance of the kiosk.
14. The method of claim 8, wherein the customized information presented for display by the particular resource device is a customized service based on at least one selected from a group consisting of a device type, at least one of the first user preference information, the first user profile information, and the location information.
16. The non-transitory computer-readable storage medium of claim 15, wherein the instructions cause the processors to perform operations of deriving at least one selected from a group consisting of signal strength, angle of arrival, round trip time, and known location parameters of one or more devices associated with the wireless signals to determine location information using a localization technique.
17. The non-transitory computer-readable storage medium of claim 15, wherein the instructions cause the processors to perform operations of determining location information using at least one selected from a group consisting of global positioning system coordinates derived from the wireless signals, fingerprinting localization techniques using signal strength derived from the wireless signal, signal strength of the wireless signals derived at one or more other devices, and known location parameters of one or more devices.
18. The non-transitory computer-readable storage medium of claim 15, wherein the instructions cause the processors to perform operations of selecting the particular resource device using a data queue, wherein the data queue comprises a list of user and resource pairs.
19. The non-transitory computer-readable storage medium of claim 15, wherein the particular resource device is a kiosk, and the first user device is positioned adjacent to the kiosk when the first user device is within the threshold distance of the kiosk.
20. The non-transitory computer-readable storage medium of claim 15, wherein the particular resource device is a computer of an agent, and the first user device is positioned adjacent to the computer when the first user device is within the threshold distance of the kiosk.

The present disclosure relates generally to network system resource management using wide-band communications, and more specifically to wireless tracking and data queue management system.

Current state of the art information technology lacks the features necessary to manage and utilize resources in a manner that optimizes computing and networking system technologies.

The present disclosure describes a system and a method that optimizes computing and networking system technologies by using knowledge of resources and users to streamline coordinating system resources. The system is particularly integrated in network systems as a queue management server, wireless router, user devices, and resource devices.

In one practical application, the system matches resources with users based on resource availability, resource information, and user profile and preference information. Users are then added to one or more data queues and the data queues are sent to a user device and an agent or kiosk resource. In another practical application, the system determines location information of user devices, tracks movements of the user devices, and communicates user preference information and user profile information to resource devices when user devices are within range of resource devices. In both cases, customized information for the user device is displayed on an agent or kiosk resource device.

One or more technical advantages are realized through efficient use of network resources when the network system is used to detect the presence of users and harvest information about services, users, resources, location, and positioning to streamline the provisioning of resources.

In a practical application, one or more wireless devices are positioned inside a facility. A queue management server is communicatively coupled to the one or more wireless devices and one or more resource devices are communicatively coupled to the queue management server. The wireless devices are configured to detect the presence of user devices within a space defined by the wireless range of the wireless devices and route communications from the user devices to the queue management server. The user devices are configured to communicate user preference information and user profile information to the queue management server. The described systems and their operations improve the efficient use of technology by pairing user devices with resources according to a number of different parameters; and by customizing the information presented by those resources when the user device is within a threshold distance of the resources devices. This reduces the likelihood that resources are provisioned incorrectly which often leads to wasted resources, such as computer and networking technologies, and the need to provision new resources after detecting an error. By reducing the waste of resources in this manner, the disclosed systems improve the underlying operation and usage of computing and networking technologies.

The queue management server harvests information about services, users, resources, and resource devices and uses the information to match users to particular services, resources, and resource devices. The queue management server adds the information to data queues and sends the data queues to the users and the resources.

In addition, the wireless devices determine the location of the user devices, and the queue management server uses the location information to track the user devices within the facility. The queue management server sends the queues to the resources when the users are within threshold ranges of the resources.

Described in greater detail is a system for efficiently matching users with resources. The system comprises a first user device comprising a first user device memory and a first user device processor. The first user device memory stores first user preference information associated with the first user and first user profile information. The first user device processor is configured to communicate the first user preference information to a queue management server. The queue management server comprises a queue management memory and a queue management processor. The queue management memory stores resources information that represents capabilities of a plurality of resources, and that indicates availability of each of the plurality of resources. The queue management processor is configured to parse the first user preference information, compare the resources information associated with the plurality of resources with the parsed first user preference information, forecast an availability of the resources for the first user based at least in part upon the resources information, select a first resource to service the first user based at least in part upon the comparison and the forecast, add the first user to an end of a first data queue for the selected first resource, and communicate the first queue to the first user device associated with the user.

In another practical application, a user device processor communicate wireless signals to the one or more wireless devices in conjunction with communicating user preference information and user profile information to the queue management server. The one or more wireless devices each comprise a wireless device memory and a wireless device processor. The wireless device memory stores the wireless signals received from the user devices. The wireless device processors determine location information for the user device within a defined space at different points in time based at least in part upon the wireless signals received from the user device. The wireless device processor communicates location information for the user device to the queue management server. The queue management server receives location information for the user device, tracks movement of the user device within the defined space based at least in part upon the location information for the user device. The queue management server determines when a particular user device is within a threshold distance of a particular resource device, based at least in part upon the determined location information for the particular user device and location information for the particular resource device positioned in the defined space. For example, the user device may be matched with the particular resource device in a data queue. The queue management server communicates a notification signal to the particular resource device indicating that the particular user device is within a threshold distance of the particular resource device. The queue management server communicates the user preference information and the user profile information to the particular resource device in conjunction with the notification signal. Additionally, the particular resource device is configured to display customized information for the user device based at least in part upon the user preference information and the user profile information.

Certain embodiments of this disclosure may include some, all, or none of these advantages. These advantages and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.

For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.

FIG. 1 illustrates an embodiment of a system for matching user devices to resource devices and tracking user devices;

FIG. 2 illustrates an example operational flow for matching user devices to resource devices; and

FIG. 3 illustrates an example operational flow of tracking user devices.

As described above, previous technologies fail to optimize computing and networking system resources. This disclosure addresses those limitations. FIG. 1 illustrates an example embodiment of an example system 100 that matches user devices to resource devices, and tracks user devices. System 100 comprises user devices 110, 140, and 160, wireless devices 180, 200, 220, resource devices (kiosk) 260 and (agent desktop) 280, and queue management server 300. FIG. 2 illustrates an example embodiment of an operational flow 400 for matching user devices to resource devices. FIG. 3 illustrates an example embodiment of an operational flow 600 for tracking the user devices within a facility or space 102.

In general, system 100 is configured to detect user devices 110, 140, and 160 within space 102, create data queues 124, 154 based on resources (agents and devices) information 314 and user information 312, 313, locate and track user devices 110, 140, and 160 while the devices 110, 140, and 160 are in space 102, and send the data queues 124, 154 to user devices 110, 140, and 160 and resource devices 260 and 280 when user devices 110, 140, and 160 are within a threshold distance 104 of resource devices 260 and 280.

Example System

Referring to FIG. 1, first user device 110 comprises a processor 112, network interface 114, memory 116, instruction set 118, profile information 120, preference information 122, and first data queue 124. Second user device 140 comprises a processor 142, network interface 144, memory 146, instruction set 148, profile information 150, preference information 152, and second data queue 154. Third user device 160 (and any suitable number and combination of additional user devices that may be present within space 102) also includes the same or similar components as first user device 102 and second user device 140, but for the sake of brevity, the description of such is not included.

First resource device (kiosk) 260 comprises a processor 262, network interface 264, and memory 266. Memory 266 comprises instruction set 268, profile information 120, preference information 122, and first data queue 124. Second resource device (agent desktop) 280 comprises a processor 282, network interface 284, memory 286, instruction set 288, profile information 150, preference information 152, and second data queue 154. Wireless device 200 comprises a processor 202, network interface 204, and memory 206. Memory 206 comprises an instruction set 208, wireless signals 210, and location information 212. Queue management server 300 comprises processor 302, network interface 304, and memory 306. Memory 306 comprises forecast information 310, profile information 120 and 150 referenced as profile information 312, preference information 122 and 152 referenced as preference information 312, resources information 314, first data queue 124 and second data queue 154 referenced as data queues 316, and tracking information 318.

In practice, the number and combination of user devices, resource devices, and queue management severs may vary. Depending at least on the size of space 102, the number and combination of these components may be significantly greater than or less than what is illustrated in FIG. 1 and described herein.

In a practical application, system 100 can be particularly integrated into a network facility of a banking entity and configured to optimize networking and computing resources in the network facility. The network facility can comprise networking equipment and personal computing equipment configured to process, store, and communicate data related to a particular entity, such as professional banking services and related network application services.

In the practical application, a space 102 of the banking entity includes first, second, and third users associated with user devices 110, 140, and 160, respectively, and first resource device (kiosk) 260 and an agent of the bank associated with second resource device (agent desktop) 280. Additional resources devices 260 and 280 are contemplated depending on the needs of the network facility.

In an example use case, the first user associated with user device 110 enters the office space first followed by the second user associated with user device 140, and the third user associated with third user device 160 enters thereafter. Each user's profile information 120, 150 can describe basic biographical information about the user. Each of the devices 110, 140, and 160 can collect relevant information about the user's preferences from device files while the user is using the device. The relevant information can be information that indicates the user may be interested in one or more products or related banking services. The information collected over a period of time may be collected from internet searches and related data, notes the user has entered in the user device, third party sources, among other sources.

In a particular embodiment, first resource device (kiosk) 260 may be configured to manage particular products or services (e.g., treasury bond transactions, open and close accounts, and other basic user services). Second resource device (agent desktop) 280 may be configured to manage the same or different products and services (e.g., several loan types, such as home loans and remodeling loans). This information about the kiosk and/or agent and their associated schedules are included in resources information 314.

The network facility also includes wireless devices 180 and 200 positioned at different locations in space 102 and a queue management server 300. Wireless devices 180 and 200 detect user devices 110, 140, and 160 within the space 102 and establish and maintain a data session with each user device 110, 140, and 160. User devices 110 send profile information 120 and preference information 122, user device 140 sends profile information 150 and preference information 152, and user device 160 sends the same to the wireless device 200 using wireless signals. Wireless device 200 routes profile information and preference information of all three devices to queue management server 300.

While the session is maintained, wireless devices 180 and/or 200 determine location information for each user device 110, 140, and 160, periodically or upon a change in a measured or detected parameter. Wireless devices 180 and/or 200 route the location information for each user device 110, 140, and 160 and user preference information 122, 152, and the same for the third device, user profile information 120, 150, and the same for the third device to queue management server 300.

Queue management server 300 maintains tracking information 318 based on the feed of location information from wireless devices 180 and/or 200. Queue management server 300 parses user profile information 120 and 150, user profile information 120 and 150, and the same for third user device 160 and stores the parsed user preference information 122 and 152, user profile information 120 and 150, and the same for the third user device 160 in memory 306.

Queue management server 300 evaluates preference information 122, 152, and the same for the third user device 160 and determines the needs for each user (e.g., the first user is interested in securing a loan to purchase a home, the second user is interested in opening a savings account, and the third user is interested in securing a loan for a remodeling project and buying treasury bonds). Queue management server 300 can store the results of the evaluation for each in the user profile and preference information 312 and 313.

Queue management server 300 compares the potential services for each user and the current date and time with the availability of each resource and the capability of each resource in the resources information 314. In this particular use case, queue management server 300 selects a location and a suitable time of day based on resources available, resources capabilities, and/or resource schedules in resources information 314. Queue management server 300 stores the location and time in forecast information 310.

In this particular use case, queue management server 300 matches the first user device 110 with the second resource device 280, matches the second user device 140 with the first resource device 260, and matches the third user device 160 with the first resource device 260, but behind the second customer device 140 in the data queue 316, based on the user profile/preference information 312 and 313 and resources information 314. Additionally, queue management server 300 can assign a prioritization level to one or more of the matches. The assigned prioritization levels can be based on arrival time, estimated service time, service type, and profile information. For example, the second user device 140 can be prioritized in the second data queue 154 for second resource device 280 ahead of third user device 160 if the second user device 140 arrived at the network facility before the third user device 160. Queue management server 300 stores the matches in data queues 316.

Queue management server 300 can send a notification to each user device 110, 140, and 160 notifying the user of the matched resources, locations, and schedules. Queue management server 300 can also monitor the data queues 316 and tracking information 318 for each user device 110, 140, and 160. When the user devices 110, 140, and 160 are within a threshold distance 104 of corresponding resources devices 260 and 280 with which they have been matched, at the scheduled time, queue management server 300 sends appropriate user profile/preference information 312 and 313 to appropriate resources devices 260 and/or 280 for customized presentation on the display of the corresponding resource device 260.

For example, when first user device 110 is tracked to be within a threshold distance of second resource device 280 at or near the time of the scheduled meeting as set forth in the appropriate data queue 316, then customized information based at least in part upon profile and preference information for first user device 110 is presented on the display of the second resource device 280. Similarly, when second user device 140 is tracked to be within a threshold distance of first resource device 260 at or near the time of the scheduled meeting as set forth in the appropriate data queue 316, then customized information based at least in part upon profile and preference information for second user device 140 is presented on the display of the first resource device 260. Continuing with this example, when third user device 160 is tracked to be within a threshold distance of first resource device 260 at or near the time of the scheduled meeting as set forth in the appropriate data queue 316, then customized information based at least in part upon profile and preference information for third user device 160 is presented on the display of the first resource device 260.

System 100 optimizes network and computing resources by facilitating matching user devices with resource devices, generating data queues of relevant information for a particular service, and tracking user devices to facilitate a customized presentation of information on the appropriate resource device at the appropriate time.

System Components

User Devices

User devices 110, 140, and 160 are devices configured to process data and communicate with computing devices, databases, systems, etc., via one or more networks. User devices 110, 140, and 160 are generally configured to store user preference 124 and 154 and profile information 120 and 150 and communicate this information to other components in system 100.

Processors 112 and 142 are in signal communication with network interfaces 114 and 144 and memories 116 and 146. Memories 116 and 146 are configured to store software instruction sets 118 and 148 that when executed by processors 112 and 142 cause processors 112 and 142 to perform one or more functions described herein.

Processors 112 and 142 comprise any electronic circuitry, including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). Processors 112 and 142 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. Processors 112 and 142 are configured to process data and may be implemented in hardware or software. For example, processors 112 and 142 may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. Processors 112 and 142 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. Processors 112 and 142 are configured to implement various instructions. For example, processors 112 and 142 are configured to execute software instruction sets 118 and 148 to implement the functions disclosed herein, such as some or all of those described with respect to FIGS. 1-3. In some embodiments, the function described herein is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware or electronic circuitry.

Network interfaces 114 and 144 are configured to enable wired and/or wireless communications. Network interfaces 114 and 144 are configured to communicate data between memories 116 and 146 and other network devices, systems, or domain(s). For example, network interfaces 114 and 144 may comprise a WIMAX interface, WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a modem, a switch, or a router. Processors 112 and 142 are configured to send and receive data using the network interfaces 114 and 144 and memories 116 and 146. Network interface 114 and 144 may be configured to use any suitable type of communication protocol.

Memories 116 and 146 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM). Memories 116 and 146 may be implemented using one or more disks, tape drives, solid-state drives, and/or the like. Memories 116 and 146 are operable to store software instruction sets 118 and 148, user preference information 122 and 152, and profile information 120 and 150. The software instruction sets 118 and 148 may comprise any suitable set of instructions, logic, rules, or code that are executed by processors 112 and 142.

Wireless Devices

The wireless devices 180, 200, and 220 are configured to process data, communicate with computing devices, databases, systems, etc., via one or more networks. The wireless devices 180, 200, and 220 are configured to send and receive wireless signals over a wireless range, to route data, and determine location information for user devices 110, 140, and 160. The wireless devices 180, 200, and 220 may be configured as shown, or in any other suitable configuration.

Processor 202 is in signal communication with network interface 204 and memory 206. Memory 206 is configured to store software instruction set 208 that when executed by processor 202 causes the processor to perform one or more functions described herein. For example, when software instruction set 208 is executed, processor 202 can determine location information for any of the devices 110, 140, and 160 in system 100 and stores wireless signals 210 and location information 212 determined for the devices 110, 140, and 160. Processor 202 may be configured as shown, or in any other configuration. Location information 212 may include x,y,z coordinates of a particular user device 110, 140, and/or 160 within the facility; GPS coordinates of a particular user device 110, 140, and/or 160, or any other suitable form of information that can represent the location of a user device 110, 140, and/or 160 within a facility.

Processor 202 comprises any electronic circuitry, including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). The processor 202 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. For example, processor 202 may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. Processor 202 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. Processor 202 is configured to implement various instructions. For example, processor 202 is configured to execute software instruction set 208 to implement the functions disclosed herein, such as some or all of those described with respect to FIGS. 1-3. In some embodiments, the function described herein is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware or electronic circuitry.

Network interface 204 is configured to enable wired and/or wireless communications. Network interface 204 is configured to communicate data between memory 206 and other network devices, systems, or domain(s). For example, network interface 204 may comprise a WIMAX interface, WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a modem, a switch, or a router. Processor 202 is configured to send and receive data using network interface 204 and memory 206. Network interface 204 may be configured to use any suitable type of communication protocol.

Memory 206 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM). Memory 206 may be implemented using one or more disks, tape drives, solid-state drives, and/or the like. Memory 206 is operable to store software instruction set 208, wireless signals 210, and location information 212. Instruction set 208 may comprise any suitable set of instructions, logic, rules, or code that are executed by processor 202.

Resource Devices

The resource devices (kiosk) 260 and (agent desktop) 280 are devices that are configured to process data and communicate with computing devices, databases, systems, etc., via one or more networks. The resource devices (kiosk) 260 and (agent desktop) 280 are configured to route data, and send and receive wireless communications. The resource devices (kiosk) 260 and (agent desktop) 280 may be configured as shown, or in any other suitable configuration.

Processors 262 and 282 are in signal communication with network interfaces 264 and 284 and memories 266 and 286. Memories 266 and 286 are configured to store software instruction sets 268 and 288 that when executed by processors 262 and 282 cause the processors 262 and 282 to perform one or more functions described herein. For example, when the software instruction sets 268 and 288 are executed, the processors 262 and 282 store profile information 120 and 150, preference information 122 and 152, and create first data queue 124 and second data queue 154. The processors 262 and 282 may be configured as shown, or in any other configuration.

Processors 262 and 282 comprise any electronic circuitry, including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). The processors 262 and 282 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. For example, processors 262 and 282 may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. Processors 262 and 282 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. Processors 262 and 282 are configured to implement various instructions to implement the functions disclosed herein, such as some or all of those described with respect to FIGS. 1-3. In some embodiments, the function described herein is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware or electronic circuitry.

Network interfaces 264 and 284 are configured to enable wired and/or wireless communications. Network interfaces 264 and 284 are configured to communicate data between memories 266 and 286 and other network devices, systems, or domain(s). For example, network interfaces 264 and 284 may comprise a WIMAX interface, a WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a modem, a switch, or a router. Processors 262 and 282 are configured to send and receive data using network interfaces 264 and 284 and memories 266 and 286. Network interfaces 264 and 284 may be configured to use any suitable type of communication protocol.

Memories 266 and 286 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM). Memories 266 and 286 may be implemented using one or more disks, tape drives, solid-state drives, and/or the like. Memories 266 and 286 are operable to store software instruction sets 268 and 288, profile information 120, preference information 122, first data queue 124, and second data queue 126. Instruction sets 268 and 288 may comprise any suitable set of instructions, logic, rules, or code that are executed by processors 142 and 162.

Queue Management Server

Queue management server 300 is a device that is configured to process data and communicate with computing devices, databases, systems, etc., via one or more networks. Queue management server 300 is further configured to create and send the first data queue 124 to the first user device 110 and the second data queue 154 to the second user device 140. Queue management server 300 is further configured to create and send the first data queue 124 to the first resource device 260 and the second data queue 154 to the second resource device 280. Queue management server 300 may be configured as shown, or in any other suitable configuration.

Processor 302 is in signal communication with network interface 304 and memory 306. Memory 306 is configured to store software instruction set 308 that when executed by processor 302 causes the processor to perform one or more functions described herein.

Processor 302 comprises any electronic circuitry, including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). Processor 302 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. For example, Processor 302 may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. Processor 302 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. Processor 302 is configured to implement various instructions to implement the functions disclosed herein, such as some or all of those described with respect to FIGS. 1-3. In some embodiments, the function described herein is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware or electronic circuitry.

Network interface 304 is configured to enable wired and/or wireless communications. Network interface 304 is configured to communicate data between memory 306 and other network devices, systems, or domain(s). For example, network interface 304 may comprise a WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a modem, a switch, or a router. Processor 302 is configured to send and receive data using network interface 304 and memory 306. Network interface 304 may be configured to use any suitable type of communication protocol.

Memory 306 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM). Memory 306 may be implemented using one or more disks, tape drives, solid-state drives, and/or the like. Memory 306 is operable to store software instruction set 308, forecast information 310, profile and preference information 312 and 313, resources information 314, data queues 316, and tracking information 318. Instruction set 308 may comprise any suitable set of instructions, logic, rules, or code that are executed by processor 302.

Data Queue

Data queues 124, 154, and 316 include information matching particular user devices 110, 140, and 160 with particular resources devices 260 and 280 to facilitate the rendering of services based on the comparison of various user profile and preference information 312 and 313 with various resources information 314. As an example, each data queue can identify a user device, resource device, service, scheduling information, navigation information for the user device to the resource device, prioritization, and other relevant information.

Operational Flow

Referring to FIG. 1, user devices 110, 140, and 160 are configured to establish a session with wireless devices 180, 200, and/or 220, and send and receive wireless signals bearing information to and from wireless devices 180, 200, and/or 220 during the established session. User devices 110, 140, and 160 are configured to obtain profile information 120 and 150 and preference information 122 and 152, and send this to queue management server 300.

In an embodiment, one or more user devices 110, 140, and 160 can be configured with an accessible device file that is part of a third-party application service and comprises user profile information 120 and 150 that can be bibliographical related and application service related. In another embodiment, user devices 110, 140, and 160 are configured to use a crawler and a set of rules relevant to a particular application to identify preference information 122 and 152.

User devices 110, 140, and 160 are configured to establish a session with queue management server 300, and send and receive profile information 120 and 150 and preference information 122 and 152.

Wireless devices 180, 200, and/or 220 are configured to send and receive wireless signals bearing information to and from user devices 110, 140, and 160. Wireless device 180 and wireless device 200 are configured to send and receive information to and from queue management server 300. Wireless devices 180, 200, and/or 220 can be configured to communicate with any device of system 100.

Wireless devices 180, 200, and/or 220 are configured to determine location information 212 for user devices 110, 140, and/or 160 based on at least one of received wireless signals. Wireless devices 180, 200, and/or 220 are configured to communicate this location information 212 to the queue management server 300 for the purpose of tracking user devices 110, 140, and 160 within system 100.

In some embodiments, the positional coordinates of all or some of the user devices 110, 140, and 160, resource devices 260 and 280, and wireless devices 180, 200, and 220 may be known from previously determined measurements. The known positional coordinates can be used by one of the wireless devices 180, 200, and/or 220 to determine location information of any device, such as one of the user devices 110, 140, and 160. Location information 212 may be determined using any suitable location determination mechanism, such using trilateration or triangulation. In another embodiment, wireless devices 180 and 200 are configured to receives GPS coordinates from user devices 110, 140, and 160 and send the GPS coordinates, identified as location information 212, to queue management server 300. In yet another embodiment, wireless devices 180, 200, and/or 220 are configured to receive the GPS coordinates automatically in response to session establishment. In still another embodiment, wireless devices 180, 200, and/or 220 are configured to send a request to one or more user devices 110, 140, and 160 and receive in response GPS coordinates.

System 100 optimizes network and computing resources by facilitating accurate pairing of user devices with resource devices, generating a data queue of relevant information for a particular service, and tracking user devices within a network facility. System 100 minimizes the amount of data introduced into the network facility infrastructure by using intelligence to efficiently pair users with resources and using user location information to release service-related data queues.

Example Methods

Referring to FIGS. 2 and 3, illustrated are example embodiments of a method 400 and a method 600 for practicing system 100. In a practical application, methods 400 and 600 can be particularly integrated into a network facility of an entity to optimize networking and computing resources.

Methods 400 and 600 optimize network and computing resources by facilitating pairing of user devices with resource devices, generating a data queue of relevant information for a particular service, and tracking user devices within a network facility.

Referring now to FIG. 2, illustrated is an example embodiment of a diagram of an example operational flow for system 100 to match users to resources denoted generally as 400. Operation 400 begins at block 402 where first user preference information 122 and first user profile information 120 are stored in memory 116. Operation 400 continues at block 404 where first user profile information 120 and preference information 122 are communicated to queue management server 300.

At block 406, server 300 stores resources information 314 that represents capabilities and availabilities of resources 260 and 280. At block 407, server 300 parses first user preference information 122. At block 408, server 300 compares resources information 314 associated with resource devices 260 and 280 with parsed first user preference information 122. At block 409, server 300 forecasts an availability of the resources for the first user based at least in part upon the resources information 314.

At block 410, server 300 selects first resource device 260 to service the first user based at least in part upon the comparison and the forecast. For example, if the first resource device 260 has the capability to address the preferences of the first user device 110 and also has the availability to service the first user device 110, then the first resource device 260 may be selected to match with the first user device 110. At block 412, server 300 adds the first user to an end of first queue 124 for selected first resource device 260 and communicates first queue 124 to first user device 110 and to resource device 260. First queue 124 for selected first resource device 260 represents a numerically ordered list of user devices assigned to selected first resource device 260. For example, the first resource device 260 may be selected to service a number of different user devices 110 and 140 in a particular order and based on a particular schedule, which is stored in the data queue 124. At block 414, server 300 determines if there are additional user devices to process. If so, operation 400 returns to block 402. If not, operation 400 ends.

Although operation 400 is described with respect to a first user device 110 and a first resource device 260, it may be implemented for any number and combination of user devices and resource devices simultaneously, serially, or otherwise.

FIG. 3 illustrates an example operational flow for system 100 used in combination with a network entity to track user devices within a space 102. Operation 600 begins at block 602 where first user preference information 122 associated with first user device 110 and first user profile information 120 associated with first user device 110 are stored in memory 116. Operation 600 continues at block 604 where wireless signals are communicated by user device 110 to wireless device 200 and first user preference information 122 is communicated to queue management server 300.

At block 606, wireless device 200 stores the wireless signals, determines location information for the first user device 110, and communicates the location information 212 for the first user device 110 to the queue management server 300. At block 608, server 300 stores location information 212 of the resource devices 260 and 280 and receives the location information for the first user device 110. At block 608, server 300 tracks movement of the first user device 110 within the space 102 over a period of time based at least in part upon the location information 212 for the first user device 110.

At block 610, server 300 determines that the first user device 110 is within a threshold distance 104 of a particular corresponding resource device based at least in part upon the determined location information 212 for the first user device 110 and the location information 212 for the corresponding resource device positioned in the space 102. For example, if first user device 110 has been matched with first resource device 260 in a data queue 124, then server 300 determines when first user device 110 is within a threshold distance 104 of first resource device 260. At block 612, server 300 communicates a notification signal to the first resource device 260 indicating that the first user device 110 is within the threshold distance 104 of the first resource device 260.

At block 614, server 300 communicates first user preference information 122 and first user profile information 120 to the first resource device 260. At block 616, first resources device 260 displays customized information for the first user device 110 based at least in part upon first user preference information 122 and first user profile information 120. At block 614, server 300 determines if there are additional user devices to process. If so, operation 600 returns to block 602. If not, operation 600 ends.

Although operation 600 is described with respect to tracking the location of a first user device 110 to within a threshold distance 104 of first resource device 260, it may be implemented for any number and combination of user devices and resource devices simultaneously, serially, or otherwise.

While several embodiments have been provided in the present disclosure, the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated with another system or certain features may be omitted, or not implemented.

In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.

To aid the Patent Office, and any readers of any patent issued on this application in interpreting the claims appended hereto, applicants note that they do not intend any of the appended claims to invoke 35 U.S.C. § 112(f) as it exists on the date of filing hereof unless the words “means for” or “step for” are explicitly used in the particular claim.

Singh, Shailendra

Patent Priority Assignee Title
Patent Priority Assignee Title
10043164, May 20 2013 MasterCard International Incorporated System and method for facilitating a transaction between a merchant and a cardholder
10096033, Sep 15 2011 System and method for providing educational related social/geo/promo link promotional data sets for end user display of interactive ad links, promotions and sale of products, goods, and/or services integrated with 3D spatial geomapping, company and local information for selected worldwide locations and social networking
10102546, Sep 15 2011 System and method for tracking, utilizing predicting, and implementing online consumer browsing behavior, buying patterns, social networking communications, advertisements and communications, for online coupons, products, goods and services, auctions, and service providers using geospatial mapping technology, and social networking
10122858, Dec 12 2012 GENESYS CLOUD SERVICES, INC System and method for interacting with customer contact center over a mobile device
10127564, Sep 15 2011 System and method for using impressions tracking and analysis, location information, 2D and 3D mapping, mobile mapping, social media, and user behavior and information for generating mobile and internet posted promotions or offers for, and/or sales of, products and/or services
10264129, Mar 15 2013 GENESYS CLOUD SERVICES, INC Hybrid cloud architecture with optimized local delivery
10346937, Nov 14 2013 Intralinks, Inc. Litigation support in cloud-hosted file sharing and collaboration
10360541, Oct 19 2012 GLAS AMERICAS LLC, AS THE SUCCESSOR AGENT Time analysis of a banking system
10375240, Dec 17 2014 ALVARIA CAYMAN CX Dynamic display of real time speech analytics agent alert indications in a contact center
10691715, Mar 02 2004 CentralSquare Technologies, LLC; TELLUS SAFETY SOLUTIONS, LLC Dynamically integrated disparate computer-aided dispatch systems
10923109, Aug 02 2017 [24]7.ai, Inc.; [24]7 AI, INC Method and apparatus for training of conversational agents
11196863, Oct 24 2018 VERINT AMERICAS INC Method and system for virtual assistant conversations
11258907, Sep 24 2012 Afiniti, Ltd. Matching using agent/caller sensitivity to performance
11315194, Feb 24 2012 B3, LLC Surveillance and positioning system
11695839, May 31 2022 Bank of America Corporation Real-time, intelligent pairing and prioritizing of client and server data queues using ultra-wide band
7737857, Jan 11 2002 SAP SE Context-aware and real-time item tracking system architecture and scenarios
7805377, Jul 06 2000 RPX Corporation Information record infrastructure, system and method
8194646, Nov 18 1996 Verizon Patent and Licensing Inc System and method for providing requested quality of service in a hybrid network
8295471, Jan 16 2009 AFINITI, LTD Selective mapping of callers in a call-center routing system based on individual agent settings
8422994, Oct 28 2009 Digimarc Corporation Intuitive computing methods and systems
8635164, Oct 23 2000 Starpound Corporation, Inc. Telecommunications initiated internet link system
8670548, Jan 28 2008 AFINITI, LTD Jumping callers held in queue for a call center routing system
8694455, Oct 17 2000 EDER, JEFFREY Automated risk transfer system
8756684, Mar 01 2010 EMC IP HOLDING COMPANY LLC System and method for network security including detection of attacks through partner websites
8903079, Jan 28 2008 AFINITI, LTD Routing callers from a set of callers based on caller data
8909771, Sep 15 2011 System and method for using global location information, 2D and 3D mapping, social media, and user behavior and information for a consumer feedback social media analytics platform for providing analytic measurements data of online consumer feedback for global brand products or services of past, present or future customers, users, and/or target markets
8924269, May 13 2006 SAP SE Consistent set of interfaces derived from a business object model
8930253, Jan 27 2006 The Guardian Life Insurance Company of America Interactive systems and methods for estate planning related activities
8965957, Dec 15 2010 SAP SE Service delivery framework
9047578, Jun 26 2008 SAP SE Consistent set of interfaces for business objects across heterogeneous systems
9152681, May 24 2011 Avaya Inc. Social media identity discovery and mapping for banking and government
9336526, Oct 30 2012 TTEC HOLDINGS, INC Method for providing support using answer engine and dialog rules
9411864, Aug 26 2008 CIRCULAR SOFTWARE INC Systems and methods for collection and consolidation of heterogeneous remote business data using dynamic data handling
9419951, Mar 23 2001 RPX Corporation System and method for secure three-party communications
9495331, Sep 19 2011 PERSONETICS TECHNOLOGIES LTD Advanced system and method for automated-context-aware-dialog with human users
9549282, Jul 16 2015 FMR LLC Verification of wireless transmitter articles in proximity to registered devices
9674358, Dec 17 2014 ALVARIA CAYMAN CX Reviewing call checkpoints in agent call recordings in a contact center
9763093, Sep 13 2013 NETWORK KINETIX, LLC System and method for an automated system for continuous observation, audit and control of user activities as they occur within a mobile network
9824390, Mar 15 2013 HCL Technologies Limited Cloud service brokerage service store
9832205, Mar 15 2013 HCL Technologies Limited Cross provider security management functionality within a cloud service brokerage platform
9832646, Sep 13 2013 NETWORK KINETIX, LLC System and method for an automated system for continuous observation, audit and control of user activities as they occur within a mobile network
9880807, Mar 08 2013 ALVARIA CAYMAN CX Multi-component viewing tool for contact center agents
9883038, Dec 19 2012 GENESYS CLOUD SERVICES, INC Customer care mobile application
9884374, Sep 03 2015 Black & Decker Inc Hole cutter with multiple fulcrums
9978089, Nov 15 1999 JPMorgan Chase, N.A. Personalized interactive network with multiple channels coupled to integrated knowledge management system
20150119070,
20160196587,
20180211718,
20180216946,
20180247476,
20180357251,
20190253558,
20190334907,
20200050494,
20210234963,
20220004926,
20230308538,
RE47896, Nov 28 2011 NICE LTD. System and method for tracking web interactions with real time analytics
//
Executed onAssignorAssigneeConveyanceFrameReelDoc
May 24 2022SINGH, SHAILENDRABank of America CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0600580311 pdf
May 31 2022Bank of America Corporation(assignment on the face of the patent)
Date Maintenance Fee Events
May 31 2022BIG: Entity status set to Undiscounted (note the period is included in the code).


Date Maintenance Schedule
Sep 24 20274 years fee payment window open
Mar 24 20286 months grace period start (w surcharge)
Sep 24 2028patent expiry (for year 4)
Sep 24 20302 years to revive unintentionally abandoned end. (for year 4)
Sep 24 20318 years fee payment window open
Mar 24 20326 months grace period start (w surcharge)
Sep 24 2032patent expiry (for year 8)
Sep 24 20342 years to revive unintentionally abandoned end. (for year 8)
Sep 24 203512 years fee payment window open
Mar 24 20366 months grace period start (w surcharge)
Sep 24 2036patent expiry (for year 12)
Sep 24 20382 years to revive unintentionally abandoned end. (for year 12)