The invention relates generally to mechanical systems and, more particularly, the invention relates to a remote controlled personal robotic device.
As computers have grown increasingly important in today's society, humans have created robotic devices to automate and enhance various activities that have traditionally been performed manually. Domesticated pets, livestock animals and wild animals maintained in a controlled environment rely in great measure on the care and attention of humans to remain mentally and physically healthy and alert. Items that are assistive in nature to help owners maintain the well being of their animals can provide some portion of such care and attention. Animal owners are often hampered in their attempts to properly care for their animals when the owner is required to be geographically distant from the place their animals are kept. In many cases, animal owners are required to contract with third-party providers to perform simple tasks related to feeding, watering and administering medications to animals when the animal owner is not physically present to do so. Indeed, each year, numerous animals die or are caused physical or emotional harm due to the lack of proper care by owners who are geographically removed from the animal or due to the inadvertent or purposeful oversight of third-party animal caregivers.
A robotic system for remote care and maintenance of animals is presented. According to one embodiment of the present disclosure, the system includes a housing and a mobility portion coupled to the housing and operable to move the housing. The system further includes a wireless data communications system disposed with the housing and wirelessly communicatively coupled with an external data communications system and an electronic data processor disposed within the system and controlling the mobility portion. In addition, the system includes food, water and medicine storage portions disposed within the housing. Further, the system includes a removable tray coupled to the housing and disposed proximate to a lower portion of the housing, the tray having a food tray portion operable to receive food from the food storage portion, a water tray portion operable to receive water from the water storage portion and a medicine tray portion operable to receive medicine from the medicine storage portion and a docking portion fixedly coupled to the housing and disposed generally on a rear portion of the housing, and connectively coupled to the food, water and medicine storage portions. Also, the system includes an internal electronic fence transceiver in wireless communication with an external electronic fence transceiver, the internal electronic fence transceiver disposed generally within the housing and the external electronic fence transceiver disposed externally and remote from the housing, wherein the internal electronic fence transceiver activates the external electronic fence transceiver when the external electronic fence transceiver is at least a predetermined distance from the housing.
A better understanding of the claimed subject matter can be obtained when the following detailed description of the disclosed embodiments is considered in conjunction with the following figures.
Humans have been making use of animals for both productive purposes, such as food and labor, and as companions, such as domesticated dogs and cats, since the earliest days of recorded history. In order to make use of these animals, the animals are typically kept in controlled or semi-controlled environments, such as houses and fenced outdoor areas, in order to control the movements of the animals and to protect the animals from predators. As a result of placing the animals in such environments, the animal must rely upon human assistance and support in order to survive. For example, domestic dogs and cats rely upon their owners to provide food and water. In addition, humans often train the animals to behave in certain ways that require human assistance or support as the animals may be physically incapable of performing such actions directly. For example, a door may need to be opened for a dog to allow the dog to relieve itself outside and a cat litter box requires periodic cleaning by the owner. However, the time available to an owner to perform these activities may be limited or the owner may need to be in a physically distant location from the animal due to, for example, job responsibilities. A pet care robot may be used to perform various animal care tasks that normally are performed by humans. For example, a pet care robot may be capable of walking and playing with a domestic dog that lives in a residence, and providing food, water and medicine to the dog. In addition, the pet care robot may provide a video and audio link to allow the dog to see the dog's owner, even though the owner is physically distant from the dog.
Main body 102 comprises the main physical support structure for the animal care device 100. In the disclosed embodiment, main body 102 is generally cylindrical in shape and provides mounting support for front wheels 106, rear wheels 108, tray 118 and display 116. Enclosed within main body 102 may be various electronic, electro-mechanical and mechanical systems for operation of animal care device 100 as described in greater detail below. Main body 102 may be formed from any suitable material, such as steel, aluminum, plastic or other composites as desired. For example, an animal care device 100 for use with a horse may require use of stronger, heavier or more costly materials than one for use with domesticated house pets. Main body 102 may alternatively be of other suitable shapes. Front wheels 106 are coupled to main body 102 and may be used to move and/or steer animal care device 100. Rear wheels 108 are coupled to main body 102 and may alternatively or in addition to front wheels 106 to move and/or steer animal care device 100. The illustration of the pair of front wheels 106 and rear wheels 108 represent only a single embodiment of device 100, alternatively, various other drive systems may be used in various suitable combinations for the use of device 100. For example, a single rear wheel 108 may be used and rear and front wheels 108 and 106 may be combined or organized in some other suitable format, such as four wheels with a steering system similar to a passenger vehicle. Also, device 100 may be a tracked vehicle for operation outdoors or in hostile environments, such as snow. Device 100 may further comprise electronic data processing capabilities, such as using a central processing unit (CPU) coupled to memory (not shown), in order to store and execute computer programming instructions to control device 100.
In one embodiment, upper body 104 comprises a generally dome shaped element removably or fixably coupled to main body 102. More specifically, upper body 104 and main body 102 may be formed as a single physical element or may represent separate physical elements that are coupled together. For example, upper body 104 may be designed to be removed from main body 102 to allow access to the interior of main body 102 for maintenance purposes. Upper body 104 may also be of other suitable shapes in various embodiments. Upper body 104 provides support and mounting locations for wireless system 110, camera 112 and toy 114. Enclosed within upper body 104 may be electrical, electro-mechanical and/or mechanical elements in support of device 100 as described in greater detail below. For example, portions of wireless system 110 may be disposed within the interior of upper body 104. Upper body 104 may further be operable to rotate around a vertical axis independently of main body 102, for example, to allow camera 112 to be pointed in various directions without rotating main body 102 as well. In general, similar to main body 102, upper body 104 may be of a suitable shape and be made of suitable materials for a particular embodiment of device 100.
Wireless system 110 comprises one or more of a global positioning system (GPS) transmitter/receiver, a wireless audio and/or data communications transmitter/receiver, such as an IEEE 802.11a/b/g/n or cellular data connection, Bluetooth transmitter/receiver, and a wireless fence system and suitable associated hardware, such as an antenna.
Camera 112 comprises any suitable still and/or video camera for generating an image and communicating the image to the wireless system 110.
Toy 114 comprises a ball at the end of cord that is operable to be ejected away from device 100 and retracted back to device 100. For example, a rubber ball may be used that is thrown for a dog to chase so that an owner can play with their dog from a remote location. Alternatively, toy 114 may comprise an imitation mouse that may be used to entertain a cat. In general, toy 114 may comprise any suitable object that is tethered to device 100 and ejected away from, and returned to, device 100 for interaction with an animal.
Tray 118 comprises a tray that is detachable from and re-attachable to device 100 in order to serve food, water and/or medicines to an animal. In one embodiment, device 100 lowers itself so that the bottom of tray 118 is sitting upon the ground and then releases tray 118. Device 100 would then raise itself back to a normal operating height and move away from tray 118 to allow an animal to eat and drink from the tray. Device 100 would later return to tray 118, lower itself such that the bottom of main body 102 is generally in contact with the top of tray 118, and reattach tray 118 to main body 102. Tray 118 may alternatively be removably coupled to main body 102 in any suitable way. For example, tray 118 may slide into and out of a cavity in main body 102, for example using a lip on tray 118 that engages with a track below main body 102. Tray 118 is described in more detail in association with
Arm 120 comprises a movable arm operable to deliver a payload 122 to an animal. In one embodiment, payload 122 comprises a syringe for providing an injection to an animal and arm 120 is capable of articulation appropriate for providing an injection. For example, an animal may be diabetic and require an insulin injection. For another example, payload 122 may comprise an injectable or spray-based tick repellent.
Scent emitter 130 comprises a suitable system for emitting a predetermined scent. As many animals rely on scent, as opposed to visual or auditory cues, device 100 provides the caregiver the ability to provide one or more scents as appropriate for the animal under care. For example, in one embodiment, scent emitter 130 may simply comprise a cavity with a fan where an object, such as clothing worn by a caregiver, is placed to provide a familiar scent to an animal. Alternatively, scent emitter 130 may comprise more complex systems using chemicals or concentrated scents that may be sprayed or otherwise emitted from device 100 as desired by a caregiver. Scent emitter 130 may operate independently according to predetermined criteria, such as time of day, and/or may be under direct remote control by the caregiver.
According to one embodiment of the present invention, a heat/cold emitter 132 may be included with device 100, such as on main body 102. Heat/cold emitter comprises one or both of a heater and/or air conditioner operable to heat and/or cool an area around device 100. For example, in harsh environments it may be necessary to provide environmental controls for an animal, such as a pregnant horse that lives outside during unexpected weather changes or a domestic pet in the event of a power failure at a house.
a is a side view of tray 118 according to one embodiment of device 100.
In one embodiment, tray 118 may further comprise sensor 210. Sensor 210 is operable to detect that one or more of portions 200, 202 and/or 204 are in need of refilling and signaling to device 100 that tray 118 needs refilling.
Food port 310 comprises a receptacle operable to receive animal feed to refill device 100 with feed for dispensing to an animal on tray 118. Food received from food port 310 is stored in food bin 320. Food bin 320 comprises any suitable container for solid or liquid items, is disposed within main body 102 and is coupled to food port 310 via a suitable tube or pipe. In one embodiment, food bin 320 may be removed from main body 102 by opening upper body 104. For example, food bin 320 may be removed for cleaning or manual refilling.
Water port 312 comprises a receptacle operable to receive water to refill device 100 for dispensing to an animal on tray 118. Water received from water port 311 is stored in water bin 322. Water bin 322 comprises any suitable container for liquid items, is disposed within main body 102 and is coupled to water port 312 via a suitable tube or pipe. In one embodiment, water bin 322 may be removed from main body 102 by opening upper body 104.
Medicine port 314 comprises a receptacle operable to receive medicines to refill device 100 for dispensing to an animal on tray 118. Medicine received from medicine port 314 is stored in medicine bin 324. Medicine bin 324 comprises any suitable container for solid or liquid items, is disposed within main body 102 and is coupled to medicine port 314 via a suitable tube or pipe. In one embodiment, medicine bin 324 may be removed from main body 102 by opening upper body 104. In another embodiment, medicine bin 324 may be coupled to or accessible by payload 122 to in order to refill a syringe, for example, via a tube through arm 120.
In addition, one or more of bins 320, 322, 324 and/or 326 may be refrigerated or heated as needed. For example, medicine bin 324 may be required to be kept refrigerated to keep medicine from spoiling.
Waste bin 326 receives water and other debris from suction nozzle 332 for storage until the contents of waste bin 326 are removed from device 100 via waste port 316. Waste port 316 is coupled to waste bin 326 via a suitable tube or pipe to allow extraction of the contents of waste bin 326.
Cleaning nozzle 330 comprises a device operable to expel water at a suitable level of pressure to clean tray 118. Cleaning nozzle 330 is coupled to water bin 322 via a suitable tube or pipe. For example, cleaning nozzle 330 may comprise a water-spraying device that sprays water under pressure onto tray 118. In one embodiment, cleaning nozzle 330 is of a suitable size and located within main body 102 at a location such that cleaning nozzle 330 sprays water onto tray 118. In another example, cleaning nozzle 330 may be operable to move within main body 102 in order to clean portions of tray 118. In addition, cleaning nozzle 330 may represent multiple cleaning elements, such as multiple sprayers, for cleaning tray 118 in various embodiments. For example, nozzle 330 may comprise or include a heated air emitter to dry tray 118 or other surfaces. Further, in one embodiment, a bin for a cleaning solution may be further coupled between water bin 322 and cleaning nozzle 330. In yet another embodiment, nozzle 330 may be used to clean areas under device 100 after tray 118 has been detached, for example, to clean a floor.
Suction nozzle 332 comprises a device operable to remove water and/or debris from tray 118 and deposit the removed water and/or debris in waste bin 328 via a suitable tube or pipe. For example, as cleaning nozzle 330 is spraying water to clean tray 118, suction nozzle 332 is removing the used water from tray 118. In general, suction nozzle 332 comprises any suitable device or devices operable to remove used water and used cleaning fluids from tray 118. In various embodiments, cleaning nozzle 330 and suction nozzle 332 may require the use of pumps (not shown) to generate suitable levels of water pressure for cleaning tray 118 and suction force to remove liquid and/or solid debris. For example, in one embodiment, suction nozzle 332 and cleaning nozzle 330 may be used to clean surfaces other than tray 118, such as debris or waste on a floor or other surface. This embodiment may require the release of tray 118 prior to performing such cleaning activities.
Battery 340 comprises any suitable battery technology, such as lead-acid, NiMH, Lithium-Ion and NiCad, operable to power motor 342 and device 100 generally. Battery 340 is electrically coupled to charging port 300 and is recharged when charging port 300 is connected to an external power source. Battery 340 is sized as suitable for the animal being cared for by device 100 and the related power demands of motor 342 and the various electronics associated with device 100, such as wireless communications system 110. For example, an animal care device for taking care of horses in an outdoor field may be larger and require a stronger motor 342 and battery 340 to deal with the relatively harsh environment. In contrast, an animal care device that is primarily designed for use with a household pet may require a less powerful motor 342 and battery 340.
Motor 342 comprises a suitable motor for driving front wheels 106 and/or rear wheels 108, depending on the embodiment of device 100, to allow device 100 to move from place to place. In one embodiment, motor 342 comprises an electric motor powered by battery 340.
Directional system 304 comprises a movable joint operable to turn rear wheels 108 and to lower device 100. In one embodiment, rear wheels 108 provide directional control for device 100, while front wheels 106 provide the driving force to move device 100. In addition, to order to release tray 118 on the ground, device 100 may lower itself so that the bottom of tray 118 is on or near the ground before releasing tray 118. In this embodiment, directional system 304 pivots the rear wheels 108 to lower device 100 closer to the ground.
Food recharger port 510 comprises a suitable system to couple and decouple to food port 310 in order to refill food bin 322 via food port 310. For example, food recharger port 510 and food port 310 may comprise a pair of generally hollow cylinders where one cylinder is slightly larger than the other cylinder to allow the smaller cylinder to enter into the larger cylinder to create a connection where solid and/or liquid food can pass through from food recharger port 510 to food port 310 into food bin 322.
Water recharger port 512 comprises a suitable system to couple and decouple to water port 312 in order to refill water bin 320. For example, water recharger port 512 and water port 312 may operate similarly to ports 510 and 310.
Medicine recharger port 514 comprises a suitable system to couple and decouple to medicine port 314 in order to refill medicine bin 324. For example, medicine recharger port 514 and medicine port 314 may operate similarly to ports 510 and 310.
Waste removal port 516 comprises a suitable system to couple and decouple to waste port 316 in order to allow the emptying of waste bin 326. For example, waste bin 326 may become partially or completely filled with solid and/or liquid waste as a result of the cleaning of tray 118. Waste removal port 516 and waste port 316 may operate similarly to ports 510 and 310.
Electrical recharging interface 502 comprises a suitable electrical system for recharging battery 340 via port 302. For example, interface 502 and port 302 may comprise a suitable male/female electrical connection system.
As illustrated in
In operation, device 100 may be used by an animal caregiver to assist with the care of one or more animals, regardless of whether the caregiver is physically located near the animals or is physically distant. Device 100 may be directly controlled by the caregiver, such as via a remote control or via a network connection, such as via an application on a computer, smartphone, tablet or other electronic computing device, that communicates with device 100 over a global computer network, such as the Internet. In addition, device 100 may be pre-programmed to perform various activities independently. For example, device 100 may provide food, water and/or medicine on tray 118 at predetermined times. Device 100 may also be controlled via a combination of independent programming and remote control.
Initially, or after one or more uses of device 100, device 100 is filled and charged, or refilled and recharged, at docking station 500. For example, device 100 may be controlled by a remote control by a human user or may be capable of automatically finding docking station 500, such by GPS location or a beacon of a suitable type that device 100 may navigate to. In one embodiment, device 100 rolls to docking station 500 and reverses into docking station 500. Rear wheels 108 then articulate to allow device 100 to lower or raise itself and couple ports 300 and 302 with docking station 500.
The animal caregiver may interact with the animal using display 116 and camera 112. Camera 112 allows the caregiver to see the animal, and may provide a pan, tilt and/or zoom functionality to improve viewing of the animal from a remote location, such as over the Internet. Display 116 allows the animal to see an image, such as the caregiver. Display 116 comprises any suitable display system for video and audio and is capable of receiving video and audio via wireless system 110. The audio capabilities of display 116 allow the animal to both see and hear the caregiver, and allow the caregiver to hear the animal. For example, the caregiver could program device 100 to generate familiar sounds, such as a normal pre-sleep ritual, associated with the caregiver at a certain time, such as when the animal is sleeping. In general, device 100 may play pre-recorded audio and/or video messages at pre-determined times, in response to predetermined situations and/or as commanded remotely by the caregiver, such as via an application on a smartphone used by the caregiver. In addition, toy 114 allows the caregiver to play with the animal. For another example, a veterinarian may use camera 112 to evaluate the medical condition of an animal under the care of device 100.
As device 100 is mobile, device 100 can move around with the animal. In one embodiment, wireless system 110 generates a signal usable as an electronic fence system. Electronic fences are commonly used to keep an animal, such as a dog, within a predefined area without the use of physical barriers. For example, the electronic fence may be linked to a shock collar that indicates that the dog is not allowed to go beyond a certain point. Such an electronic fence system, when incorporated into device 100, allows device 100 to walk an animal. For example, an animal that has been trained that the animal can only go a certain distance, such as 50 feet, away from device 100 by the electronic fence, allows device 100 to walk the animal. More specifically, since the animal knows that it must remain within a certain distance from device 100, or be subject to appropriate corrective measure, such as an audible signal or an electronic shock from a shock collar, device 100 could, for example, move down a sidewalk along a predetermined route, or under the remote control of a care giver, and walk an animal even though the care giver is not physically present. In one embodiment, the electronic fence collar worn by the animal contains a water immersion detection capability to detect if the animal has entered or fallen into a body of water, such as a swimming pool, lake or pond. In this embodiment, the collar may alert device 100 that the animal has entered a body of water and the device 100 may generate an alert, such as to the remote care giver or an emergency response group, or take other predetermined actions in response thereto.
Device 100 may use a GPS or other location device associated with device 100 and/or the animal being cared for to provide location information of the animal and/or device 100 to the animal caregiver. The location information may be used by device 100 to generate an alert to the caregiver and/or other people based on one or more predetermined conditions. For example, an alert could be generated if the animal goes beyond a certain distance from device 100. In one embodiment, device 100 communicates with a device that tracks an animal's vital signs and responds appropriately in the event of a medical emergency. For example, if it is known that an animal has a medical condition that requires medicine only under certain circumstances, device 100 could provide such medicine via tray 118 or payload 122 when the medical condition is detected by the vital signs monitoring device, such as in response to low blood sugar, elevated blood pressure or elevated heart rate.
In addition, device 100 may include special programming to automatically handle emergency situations. For example, device 100 may be capable of communicating with a smoke and fire detection system in a house, and use the electronic fence functionality to bring a house pet outside in the event of a fire, such as by decreasing the distance of the electronic fence to keep the animal close to device 100 until device 100 and the animal have reached a safe or predetermined location. In one embodiment, device 100 may itself be equipped with a carbon monoxide detector, smoke detector, fire detector and/or other sensors to detect toxic fumes, smoke, fire or other hazards. For example, device 100 may include a glass break sensor along with programming to know that device 100 and an animal under the care of device 100 are alone in a structure, and that a glass break represents a potential intruder. For another example, device 100 may include programming to generate an alert to an emergency service, such as a fire department, that includes images, description and count of the animals under the care of device 100. Such an alert may be sent when device 100 detects a hazardous situation, such as a fire, so that emergency responders are aware of the number and identity of animals in a structure. In addition, such an alert may include medical information, such as drug allergies, handicaps or pregnancy, of animals under care of device 100 to assist medical personnel in an emergency. Further, such an alert may also include the planned emergency evacuation location that device 100 will lead animals to in the event of an emergency to assist first responders in locating the animals. In general, device 100 may be programmed to communicate current and/or historical data associated with one or more sensors associated with device 100 to the caregiver and/or may be commanded by the caregiver to provide such data.
Tray 118 allows device 100 to feed, water and provide medicine to animal. In one embodiment, when an animal is to be fed, such as device 100 being preprogrammed with feeding times, determining feeding is necessary according to predetermined criteria or is commanded to feed the animal by the caregiver, device 100 fills tray 118 with food, water and medicine (if needed). For example, food, water and medicine from bins 320, 322 and 324 may be respectively deposited in tray portions 200, 202 and 204. Tray 118 may use portions 200, 202 and/or 204 for uses other than food, water and medicine. For example, portion 200 may be used as a cat litter box instead of providing food.
Device 100 then lowers itself so that the bottom of tray 118 is generally in contact with the ground and releases tray 118. For example, device 100 may use rear wheels 108 to pivot the front of device 100 generally downward and then reverse, while allowing tray 118 to slide out. Alternatively, after the bottom of tray 118 is generally in contact with the ground, device 100 may release tray 118 and raise itself back up to a normal operating height and leave tray 118 on the ground. In general, any suitable system for releasing and recovering tray 118 may be used by device 100.
After the animal has finished eating and drinking, device 100 retrieves and cleans tray 118. For example, device 100 may lower itself over tray 118, reattach tray 118 to device 100, and raise itself back to a normal operating height. Alternatively, device 100 may slide tray 118 back into device 100. Device 100 then cleans tray 118 using cleaning nozzle 330 and suction nozzle 332. In one embodiment, device 100 may also use cleaning nozzle 330 and suction nozzle 332 to clean up detected debris, such as animal excrement or soil from a flowerpot knocked over by an animal. For example, caregiver could notice such debris via camera 112 and remotely control device 100 to leave tray 118 at a suitable location to allow use of nozzles 330 and 332 to clean up such debris. Alternatively or in addition, device 100 may automatically detect such debris and perform an appropriate cleaning operation. In addition, in one embodiment, device 100 may include a heater and/or air blower device associated with nozzles 330 and/or 332, to dry the area cleaned by nozzles 330 and 332. Further, in another alternative embodiment, scent emitter 130 may include the additional ability to emit a scent designed to be pleasing to humans, such as a scent similar an air freshener, that is emitted on or near a recently cleaned area to lessen offensive odors that may remain after the cleaning process.
Device 100 may also communicate with a home automation system that allows device 100 to open and close doors in a structure. For example, device 100 could wirelessly lock and unlock doors equipped with appropriate devices and push open doors for the animal at appropriate times, such as to allow the animal outside to play at certain times. In addition, device 100 may use such control over doors to control which areas of a structure that an animal is allowed to enter or prohibited from entering. Device 100 may also use such a home automation system to control environmental conditions, such as a heater or air conditioner. In addition, in one embodiment, device 100 may also communicate with a security system to allow an animal to move about the house without activating the alarm. For example, many security systems use motion detectors to provide security for a structure, however, such motion detectors often generate false alarms when an animal triggers the motion detector. Device 100 may avoid such false alarms by deactivating the motion detector when location information associated with an animal indicates that an animal is near a motion detector controlled area. For another example, device 100 may detect than a dog has spent a significant amount of time in front of a door that the dog uses when the dog needs to relieve itself. Upon detecting that the dog has been in front of the door for an appropriate period of time, device 100 could unlock and/or open the door to let the dog out, and deactivate the alarm system on that door to prevent a false alarm, while still allowing the alarm system to be used with an animal in the house.
Device 100 may also record the location of itself and/or the animal and provide such information to the caregiver. For example, device 100 may use the GPS device to provide a map of movements over a period of time to the caregiver via a remote data connection.
Device 100 may also include programming to detect if the animal has remained stationary for an abnormally long period of time, such as by using GPS information communicated from a collar worn by the animal to device 100. For example, if a normally active animal has not moved for several hours, this may indicate a medical problem or that the animal is deceased. The programming may take any suitable action in response thereto, such as generating an alert to the caregiver or an emergency response group, or by providing medicine to the animal, such as via arm 120.
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.
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.
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.
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.
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).
Aspects of the present invention may be described 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.
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.
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 actions 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.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
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, 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.
This application claims priority to, benefit of, and is a continuation of co-pending U.S. patent application Ser. No. 13/892,292, filed 12 May 2013, which is incorporated herein by reference for all purposes and which claimed priority to, and benefit of, U.S. Provisional Patent Application No. 61/848,437, filed Jan. 4, 2013, and U.S. Provisional Patent Application No. 61/702,856 filed Sep. 19, 2012, which were incorporated therein for all purposes.
Number | Date | Country | |
---|---|---|---|
Parent | 13892292 | May 2013 | US |
Child | 14191244 | US |