Inferring the transfer of a physical object associated with a wearable device
10579098 ยท 2020-03-03
Assignee
Inventors
- Timothy M. Panec (Studio City, CA, US)
- Stephen A. Thornton (Burbank, CA, US)
- KATHERINE M. BASSETT (Pasadena, CA, US)
Cpc classification
G06K19/07762
PHYSICS
G06F3/0646
PHYSICS
G06F3/016
PHYSICS
G06F3/0481
PHYSICS
International classification
Abstract
Systems, methods and computer program products to perform an operation comprising receiving, by a first wearable device from a second wearable device via wireless data transmissions, an identifier of a first tile connected to a tile interface of the second wearable device, receiving, by the first wearable device from the second wearable device via wireless data transmissions, an identifier of a second tile connected to the tile interface of the second wearable device, and determining, based on a device data structure of the first wearable device storing tile state data for the first and second wearable devices, that the second tile was transferred from the first wearable device to the second wearable device.
Claims
1. A method, comprising: receiving an identifier of a first tile connected to a tile interface of a first wearable device; updating a device data structure on the first wearable device to indicate the first tile is connected to the first wearable device; receiving, by the first wearable device from a second wearable device via wireless data transmissions, the identifier of the first tile; and determining at the first wearable device, based on the device data structure, that the first tile was transferred from the first wearable device to the second wearable device, wherein the device data structure stores tile state data for both the first and second wearable devices.
2. The method of claim 1, further comprising: receiving, by a computing device from the first wearable device via a wireless data connection, an indication of: (i) the transmissions between the first and second wearable devices and (ii) the transfer of the first tile from the first wearable device to the second wearable device; generating a story depicting: (i) the transmissions between the first and second wearable devices and (ii) the transfer of the first tile from the first wearable device to the second wearable device; and outputting the generated story for display on the computing device.
3. The method of claim 1, wherein the device data structure of the first wearable device indicates that the first tile was connected to the tile interface of the first wearable device within a threshold amount of time.
4. The method of claim 1, further comprising: receiving, at the first wearable device, a second tile from the second wearable device; and outputting, by a plurality of light emitting diodes (LEDs) of the first wearable device, feedback associated with the second tile.
5. The method of claim 4, further comprising: storing, by the first wearable device in the device data structure, an indication that the second tile was transferred from the second wearable device to the first wearable device.
6. The method of claim 4, wherein the first and second wearable devices are within a predefined distance, wherein an identifier of the second tile is received at the first wearable device within a threshold amount of time.
7. The method of claim 1, wherein updating the device data structure comprises storing a first indication that the first tile is no longer connected to the first wearable device and a second indication that the first tile is now connected to the second wearable device.
8. A non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable to perform an operation comprising: receiving an identifier of a first tile connected to a tile interface of a first wearable device; updating a device data structure on the first wearable device to indicate the first tile is connected to the first wearable device; receiving, by the first wearable device from a second wearable device via wireless data transmissions, the identifier of the first tile; and determining at the first wearable device, based on the device data structure, that the first tile was transferred from the first wearable device to the second wearable device, wherein the device data structure stores tile state data for both the first and second wearable devices.
9. The computer-readable storage medium of claim 8, the operation further comprising: receiving, by a computing device from the first wearable device via wireless data transmissions, an indication of: (i) the transmissions between the first and second wearable devices and (ii) the transfer of the first tile from the first wearable device to the second wearable device; generating a story depicting: (i) the communication between the first and second wearable devices and (ii) the transfer of the first tile from the first wearable device to the second wearable device; and outputting the generated story for display on the computing device.
10. The computer-readable storage medium of claim 8, wherein the device data structure of the first wearable device indicates that the first tile was connected to the tile interface of the first wearable device within a threshold amount of time.
11. The computer-readable storage medium of claim 8, the operation further comprising: receiving, at the first wearable device, a second tile from the second wearable device; and outputting, by a plurality of light emitting diodes (LEDs) of the first wearable device, feedback associated with the second tile.
12. The computer-readable storage medium of claim 11, the operation further comprising: storing, by the first wearable device in the device data structure, an indication that the second tile was transferred from the second wearable device to the first wearable device.
13. The computer-readable storage medium of claim 11, wherein the first and second wearable devices are within a predefined distance, wherein the identifier of the second tile is received within a threshold amount of time.
14. The computer-readable storage medium of claim 8, wherein updating the device data structure comprises storing a first indication that the first tile is no longer connected to the first wearable device and a second indication that the first tile is now connected to the second wearable device.
15. A system, comprising: a computer processor; and a memory containing a program which when executed by the computer processor performs an operation comprising: receiving an identifier of a first tile connected to a tile interface of a first wearable device; updating a device data structure on the first wearable device to indicate the first tile is connected to the first wearable device; receiving, by the first wearable device from a second wearable device via wireless data transmissions, the identifier of the first tile; and determining at the first wearable device, based on the device data structure, that the first tile was transferred from the first wearable device to the second wearable device, wherein the device data structure stores tile state data for both the first and second wearable devices.
16. The system of claim 15, the operation further comprising: receiving, by a computing device from the first wearable device via the wireless data transmissions, an indication of: (i) the transmissions between the first and second wearable devices and (ii) the transfer of the first tile from the first wearable device to the second wearable device; generating a story depicting: (i) the transmissions between the first and second wearable devices and (ii) the transfer of the first tile from the first wearable device to the second wearable device; and outputting the generated story for display on the computing device.
17. The system of claim 15, wherein the device data structure of the first wearable device indicates that the first tile was connected to the tile interface of the first wearable device within a threshold amount of time.
18. The system of claim 15, the operation further comprising: receiving, at the first wearable device, a second tile from the second wearable device; and outputting, by a plurality of light emitting diodes (LEDs) of the first wearable device, feedback associated with the second tile.
19. The system of claim 18, wherein the first and second wearable devices are within a predefined distance, wherein an identifier of the second tile is received at the first wearable device within a threshold amount of time, the operation further comprising: storing, by the first wearable device in the device data structure, an indication that the second tile was transferred from the second wearable device to the first wearable device.
20. The system of claim 15, wherein updating the device data structure comprises storing a first indication that the first tile is no longer connected to the first wearable device and a second indication that the first tile is now connected to the second wearable device.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) So that the manner in which the above recited aspects are attained and can be understood in detail, a more particular description of embodiments of the invention, briefly summarized above, may be had by reference to the appended drawings.
(2) It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION
(12) Embodiments disclosed herein provide techniques to allow wearable devices to infer when physical objects are transferred between wearable devices. Generally, embodiments disclosed herein relate to wearable devices that have a physical interface for attaching physical objects (also referred to as tiles herein). Once connected via the interface, data is transferred from the tile to the wearable device. However, the wearable device has limited circuitry which, due to constraints, cannot be extended to include circuitry that is used to determine whether a user has transferred a tile to another user. Advantageously, embodiments disclosed herein configure the wearable device to infer when a transfer of one or more tiles has occurred. The wearable devices are able to communicate with each other via wireless data transmission, which does not require acknowledgments, or by wireless data connections. By leveraging wireless data transmissions and the data received when a tile is inserted into a wearable device, the wearable devices are able to determine when tiles have been transferred from one wearable device to another. Doing so allows more accurate tracking of tiles, and generation of a story outputted via a graphical user interface which reflects the encounters between wearable devices and transfer of tiles there between.
(13)
(14) The tile interface 116 is representative of hardware modules configured to interface with the hardware tiles 118. The tiles 118.sub.1-N are representative of hardware elements that can plug into the tile interface 116, and transfer data to the wearable devices 101.sub.1-N via a data connection. Each of the tiles 118.sub.1-N may be associated with a fictional character, or emoji, and include a depiction of the associated fictional character (or emoji). In at least one embodiment, each tile 118.sub.1-N is further associated with a predefined emotion. For example, a happy duck tile 118.sub.1-N may be a physical tile with a smiling duck drawn on it, which, when plugged in to the tile interface 116, allows the user to convey that they are currently happy. Each tile 118.sub.1-N stores an identifier that is unique to each character and/or emotion. For example, all happy duck tiles 118.sub.1-N may share the same identifier, while all silly penguin tiles 118.sub.1-N may share the same identifier, different than the happy duck identifier. The unique identifier, when received via the tile interface 116, is stored in a record in the device data 119. The record stored in the device data 119 may also reflect the emotion associated with the tile 118.sub.1-N. The network interface 113 continuously broadcasts the identifier of the tile 118.sub.1-N that is inserted in the tile interface 116. Furthermore, the wearable devices 101.sub.1-N are configured to output a predefined light pattern via associated with the unique identifier via the LEDs 115. For example, if there are four LEDs 115 included in the wearable devices 101.sub.1-N, the identifier of the silly penguin tile 118 may be predefined to cause two of the LEDs 115 to emit a red light, and the other two LEDs 115 to emit a blue light. Similarly, the identifier of the happy duck tile 118 may cause two of the LEDs 115 to emit orange light, and the other two LEDs 115 to emit blue light. Furthermore, color animation via the LEDs 115 may be used to convey emotion, e.g., slowly pulsing all LEDs 115 to fade in and fade out blue light may convey sadness, while a circular pattern outputted via the LEDs 115 that increases in speed may convey happiness.
(15) As shown, each of the computing devices 102.sub.1-N include a respective instance of the interaction application 112B, a network interface 113, a data store of user profiles 120, a data store of stories 121, and a display device 126. The computing devices 102.sub.1-N are representative of any type of computing device, such as a smartphone, wearable computing device, tablet computer, portable game console, laptop computer, desktop computer, and the like. The user profiles 120 store profile data for a plurality of different users, including user attributes (e.g., emotions, locations visited, activities engaged in, achievements, relationships, friendships between wearable devices 101.sub.1-N, exchanges of tiles 118, etc.). The stories 121 include one or more stories generated by the interaction application 112B for a given user based on the other wearable devices 101.sub.1-N detected by the wearable devices 101.sub.1-N of an associated user, as well as any transfers of tiles 118.sub.1-N between the associated user and other users. In least one embodiment, the stories 121 are generated based on story templates, which define plot elements used to generate emoji stories for a user. For example, the story templates may include plot elements of different movies, books, or other videos, that can be adapted to the different experiences of a user on a given day.
(16) The interaction application 112 (which includes instances 112A and 112B) is configured to track tiles 118 affixed to a given wearable device 101.sub.1-N via the tile interface 116, monitor locations visited by the user, and identify social interactions between two or more users (e.g., via the corresponding wearable devices 101.sub.1-N and/or computing devices 102.sub.1-N). The instance of the interaction application 112B is further configured to generate the stories 121 for a given user. For example, as previously stated, the wearable devices 101.sub.1-N are configured to detect other wearable devices 101.sub.1-N via the respective network interfaces 113. When the network interface 113 of a wearable device 101.sub.1-N receives broadcast data transmitted by wearable device 101.sub.1-N, the respective instances of the interaction application 112A may broadcast an indication of an identifier of the wearable device 101.sub.1-N and the identifier of the tile 118.sub.1-N currently inserted in the tile interface 116. In at least one embodiment, the identifier of a given wearable device 101.sub.1-N is the media access control (MAC) address of the network interface 113 of the wearable device 101.sub.1-N. The respective instances of the interaction application 112A may then record an indication of the encounter between the wearable devices 101.sub.1-N in the device data 119. The indication may include the wearable devices 101.sub.1-N that participated in the encounter, the identifier of the tiles 118.sub.1-N (if present) in each wearable device 101.sub.1-N, and a timestamp when the encounter occurred.
(17) The interaction application 112A is further configured to infer when users transfer one or more tiles 118.sub.1-N. For example, a wearable device 101.sub.1 which includes a tile 118.sub.1 connected via the tile interface 116 may encounter a wearable device 101.sub.2 that does not include any tile 118.sub.1-N connected via the tile interface 116. Subsequently (e.g., within a predefined time threshold), the wearable device 101.sub.1 may no longer include the tile 118.sub.1, while the wearable device 101.sub.2 includes the tile 118.sub.1. As such, the respective instances of the interaction application 112A may determine that the user of the wearable device 101.sub.1 has transferred the tile 118.sub.1 to the user of wearable device 101.sub.2. The respective instances interaction application 112A may store an indication of the transfer in the device data 116. The instance of the interaction application 112A on the wearable device 101.sub.2 may further reflect the transfer via feedback generated by the LEDs 115, e.g., outputting a light pattern associated with the tile 118.sub.1. Furthermore, the interaction application 112A may transfer the data stored in the device data 116 (reflecting the encounter and transfer) to the instance of the interaction application 112B on the computing devices 102.sub.1-N, allowing the instance of the interaction application 112B on the computing devices 102.sub.1-N to generate a story 120 reflecting the transfer and the encounter between the wearable devices 101.sub.1,2.
(18)
(19)
(20) Furthermore, as shown, the device data 119 of wearable device 101.sub.2 reflects that wearable device 101.sub.2 currently includes the tile 118.sub.1, that wearable device 101.sub.2 previously included tile 118.sub.1, and that wearable device 101.sub.2 received the tile 118.sub.1 from wearable device 101.sub.1. Further still, the device data 119 reflects that wearable device 101.sub.1 currently includes the tile 118.sub.2, that the wearable device 101.sub.1 previously included tile 118.sub.1, and that wearable device 101.sub.1 received the tile 118.sub.2 in an exchange with wearable device 101.sub.2. The interaction application 112A may also reflect the transfer by outputting light via the LEDs 115 of the wearable device 101.sub.2, where the outputted light is based on an association between the identifier of the received tile 118.sub.1. The instances of the interaction application 112A may periodically send the data stored in the device data 119 to the instances of the interaction application 112B, where the instance of the interaction application 112B generates a story 121 for the respective users. As stated, the story 121 reflects the encounter between the devices 101.sub.1,2 as well as the exchange of the tiles 118.sub.1,2.
(21)
(22)
(23) Furthermore, as shown, the device data 119 of wearable device 101.sub.2 reflects that wearable device 101.sub.2 currently includes the tile 118.sub.1, that wearable device 101.sub.2 previously included no tiles 118.sub.1-N, and that wearable device 101.sub.2 received the tile 118.sub.1 from wearable device 101.sub.1. Further still, the device data 119 reflects that wearable device 101.sub.1 currently does not include any tiles 118.sub.1-N, that the wearable device 101.sub.1 previously included tile 118.sub.1, and that wearable device 101.sub.1 gifted the tile 118.sub.1 to wearable device 101.sub.2. The interaction application 112A may also reflect the transfer by outputting light via the LEDs 115 of the wearable device 101.sub.2, where the outputted light is based on an association between the identifier of the received tile 118.sub.1. Again, the instances of the interaction application 112A may periodically send the data stored in the device data 119 to the instances of the interaction application 112B, where the instance of the interaction application 112B generates a story 121 for the respective users. As stated, the story 121 reflects the encounter between the devices 101.sub.1,2 as well as the exchange of the tile 118.sub.1.
(24)
(25)
(26) At block 540, described in greater detail with reference to
(27)
(28)
(29) At block 730, the interaction application 112A determines that the first wearable device 101.sub.1-N includes a tile 118.sub.1-N that the second wearable device 101.sub.1-N previously included. The interaction application 112A then determines (or infers) that the user of the second wearable device 101.sub.1-N transferred the tile 118.sub.1-N to the user of the first wearable device 101.sub.1-N. For example, the interaction application 112A of the first wearable device 101.sub.1-N may determine that the first wearable device 101.sub.1-N now includes the SleepySam tile 118.sub.1-N. The interaction application 112A of the second wearable device 101.sub.1-N may also transmit an indication of the identifier of the SadSally tile 118.sub.1-N to the instance of the interaction application 112A on the first wearable device 101.sub.1-N within a predefined amount of time. The interaction application 112A may then reference the device data 119 to determine that the first wearable device 101.sub.1-N now includes a tile 118.sub.1-N that the second wearable device 101.sub.1-N had previously included. As such, the interaction application 112A determines that the user of the second wearable device 101.sub.1-N transferred the SadSally tile 118.sub.1-N to the user of the first wearable device 101.sub.1-N, and stores an indication of the transfer in the device data 119 of the first wearable device 101.sub.1-N. Furthermore, the second wearable device 101.sub.1-N also stores an indication of the transfers of tiles based on performing the steps 710-730 from the perspective of the second wearable device 101.sub.1-N. At block 740, the first and second wearable devices 101.sub.1-N output indication of the transfers via their respective LEDs 115, where the respective output is based on the identifier of the received tiles 118.sub.1-N.
(30)
(31)
(32) The computing device 102.sub.N generally includes a processor 904 which obtains instructions and data via a bus 920 from a memory 906 and/or a storage 908. The computing device 102.sub.N may also include one or more network interface devices 113, input devices 922, and output devices 924 connected to the bus 920. The computing device 102.sub.N is generally under the control of an operating system (not shown). Examples of operating systems include the UNIX operating system, versions of the Microsoft Windows operating system, and distributions of the Linux operating system. More generally, any operating system supporting the functions disclosed herein may be used. The processor 904 is a programmable logic device that performs instruction, logic, and mathematical processing, and may be representative of one or more CPUs. The network interface device 113 may be any type of network communications device allowing the computing device 102.sub.N to communicate with other computers via the network 130.
(33) The storage 908 is representative of hard-disk drives, solid state drives, flash memory devices, optical media and the like. Generally, the storage 908 stores application programs and data for use by the computing device 102.sub.N. In addition, the memory 906 and the storage 908 may be considered to include memory physically located elsewhere; for example, on another computer coupled to the computing device 102.sub.N via the bus 920.
(34) The input device 922 may be any device for providing input to the computing device 102. For example, a keyboard and/or a mouse may be used. The input device 922 represents a wide variety of input devices, including keyboards, mice, controllers, and so on. Furthermore, the input device 922 may include a set of buttons, switches or other physical device mechanisms for controlling the computing device 102.sub.N. The output device 924 may include output devices such as monitors, touch screen displays, and so on. As shown, the memory 906 contains the interaction application 112B, while the storage 908 contains the stories 121, each described in greater detail above.
(35) As shown, the wearable device 101.sub.N of
(36) Advantageously, embodiments disclosed herein provide techniques to allow wearable devices to infer when physical tiles have been transferred between the wearable devices. Doing so improves the performance of the wearable devices by saving space and energy.
(37) In the foregoing, reference is made to embodiments of the invention. However, it should be understood that the invention is not limited to specific described embodiments. Instead, any combination of the recited features and elements, whether related to different embodiments or not, is contemplated to implement and practice the invention. Furthermore, although embodiments of the invention may achieve advantages over other possible solutions and/or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the invention. Thus, the recited aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to the invention shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered to be an element or limitation of the appended claims except where explicitly recited in a claim(s).
(38) As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a circuit, module or system. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
(39) Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
(40) A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
(41) Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
(42) Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the C programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
(43) Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
(44) These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
(45) The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
(46) Embodiments of the invention may be provided to end users through a cloud computing infrastructure. Cloud computing generally refers to the provision of scalable computing resources as a service over a network. More formally, cloud computing may be defined as a computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. Thus, cloud computing allows a user to access virtual computing resources (e.g., storage, data, applications, and even complete virtualized computing systems) in the cloud, without regard for the underlying physical systems (or locations of those systems) used to provide the computing resources.
(47) Typically, cloud computing resources are provided to a user on a pay-per-use basis, where users are charged only for the computing resources actually used (e.g. an amount of storage space consumed by a user or a number of virtualized systems instantiated by the user). A user can access any of the resources that reside in the cloud at any time, and from anywhere across the Internet. In context of the present invention, a user may access applications or related data available in the cloud. For example, the interaction application 112A could execute on a computing system in the cloud and generate stories 121 for a plurality of users. In such a case, the interaction application 112A could store the generated stories 121 at a storage location in the cloud. Doing so allows a user to access this information from any computing system attached to a network connected to the cloud (e.g., the Internet).
(48) The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order or out of order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
(49) While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.