Abstract:
Pets require regular and controlled amounts of food and water for their best health. A single entry feeding zone ensures that only one pet can feed at a time. The single entry feeding zone contains a food bowl into which food may be dispensed. A sensor determines which pet is currently present and denies access to food if no authorized pet is present. A detection mechanism determines the amount of food each identified pet has consumed in order to manage pet diet and denies access to food if the pet has consumed the allotted amount of food. Network functionality provides remote data tracking, correlates pet feeding behavior across multiple feeders if present, and allows a pet owner to remotely adjust parameters of the feeder or view the pet through a camera.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application No. 62/004,270, filed May 29, 2014, and U.S. Provisional Application No. 62/039,951, filed Aug. 21, 2014, which is hereby incorporated by reference herein in its entirety. 
     
    
     BACKGROUND 
       [0002]    Proper pet feeding and monitoring has become a major concern to pet owners in recent years. Pet owners have busy schedules and are not always available to properly feed and tend to their pet&#39;s dietary needs. Additionally, most pet owners do not regularly monitor their pets as many are working during the day outside the home. Devices exist today to allow scheduled feeding of pets. Most of these devices do not connect to a network and do not log any information that can be remotely inspected. As a result, a pet owner really does not know if the device functioned properly and will not know until they come home and inspect the device visually. 
         [0003]    Internet enabled pet feeders do exist today but these feeders generally dispense food to a bowl or tray (as do the scheduled feeders previously mentioned). In a multi-pet home (as of 2012 55% of all cat owners in the U.S. have multiple cats and 30% of all dog owners have multiple dogs), any of the pets are enabled to eat the food dispensed. This causes problems for certain pets who have restricted diets and also leads to issues where one pet eats all of the food dispensed and the other pets are left with no food. Additionally, these feeders really are not able to determine how much a pet has eaten. They only know how much food has been dispensed. As a result, it is difficult to track a pet&#39;s eating regimen and provide veterinarians with the proper information they need when diagnosing issues. Water consumption is not even considered in the pet devices available. Water consumption amounts (whether high or low) can indicate health issues with pets such as kidney issues or diseases, including diabetes. 
       SUMMARY 
       [0004]    A holistic pet feeding and monitoring system would address these issues. A pet feeder that can be scheduled and set up to only allow authorized pets to access the food would keep pets with dietary restrictions in check. It would also ensure that each pet in a household have access to the proper amount of food at any time they desire to feed. This same pet feeder would record the activity of all pets attempting to access the device and would learn, over time, the proper schedule to set for a pet based on veterinarian recommendations. The feeder would connect wirelessly to the Internet, use a centralized database to store all activity, and make all the activity available remotely via mobile and desktop applications to pet owners and authorized veterinarians and other applicable third parties. A water drinking monitor with the same network connectivity and centralized database storage would add to the holistic system. With feeding data, drinking data, and behavioral data, a pet owner would have the complete picture of the pet&#39;s health and welfare. Additionally, this pet feeding and monitoring system would enable remote monitoring and viewing of live video at the device along to proactive alerting (via text messaging, email, social networks, etc.) based on predefined data conditions to provide owners with peace of mind that their pet is safe and eating properly. 
     
    
     
       BRIEF DESCRIPTION OF FIGURES 
         [0005]      FIG. 1   a  is a system diagram that depicts a holistic pet feeding solution, according to embodiments of the present disclosure. 
           [0006]      FIG. 1   b  depicts a pet identifying collar, according to embodiments of the present disclosure. 
           [0007]      FIG. 2   a  depicts a pet feeding device in the “feeding bowl not accessible” state, according to some embodiments of the present disclosure. 
           [0008]      FIG. 2   b  is the pet feeding device in the “feeding bowl accessible” state, according to some embodiments of the present disclosure. 
           [0009]      FIG. 2   c  is the pet feeding device in the “feeding bowl not accessible” state, according to some embodiments of the present disclosure. 
           [0010]      FIG. 2   d  illustrates access to the food storage bin of the pet feeding device, according to some embodiments of the present disclosure. 
           [0011]      FIG. 2   e  is the pet feeding device in the “feeding bowl accessible” state, according to some embodiments of the present disclosure. 
           [0012]      FIG. 2   f  is a status light of the pet feeding device, according to some embodiments of the present disclosure. 
           [0013]      FIG. 2   g  is a cross-section of the pet feeding device, according to some embodiments of the present disclosure. 
           [0014]      FIG. 3  is the pet drinking device, according to some embodiments of the present disclosure. 
           [0015]      FIG. 4  contains a high level flow for the pet feeding and monitoring system, according to some embodiments of the present disclosure. 
           [0016]      FIG. 5  contains a flowchart for Setup Pet Feeder, according to some embodiments of the present disclosure. 
           [0017]      FIG. 6  contains a flowchart for a Set Dispensing Schedule process, according to some embodiments of the present disclosure. 
           [0018]      FIG. 7  contains a flowchart of the Dispense Food process, according to some embodiments of the present disclosure. 
           [0019]      FIG. 8  contains a flowchart of the Training Mode process, according to some embodiments of the present disclosure. 
           [0020]      FIG. 9  contains a flowchart of the Uniquely Identify Pet (Authorize/Deny Access) process, according to some embodiments of the present disclosure. 
           [0021]      FIG. 10  contains a flowchart of the Monitor Eating process, according to some embodiments of the present disclosure. 
           [0022]      FIG. 11  contains a flowchart of the Monitor Drinking process, according to some embodiments of the present disclosure. 
           [0023]      FIG. 12  contains a flowchart of the Learn Mode process, according to embodiments of the present disclosure. 
           [0024]      FIG. 13  contains a flowchart of the Log Activity process, according to embodiments of the present disclosure. 
           [0025]      FIG. 14  contains a flowchart of the Pet Profile Based Authorization process, according to embodiments of the present disclosure. 
           [0026]      FIG. 15  contains a flowchart of the Pet Profile Based Authorization—Food Tray Closed process, according to embodiments of the present disclosure. 
           [0027]      FIG. 16  contains a flowchart of the Pet Profile Based Authorization—Food Tray Open: Same Pet process, according to embodiments of the present disclosure. 
           [0028]      FIG. 17  contains a flowchart of the Pet Profile Based Authorization—Food Tray Open: New Pet process, according to embodiments of the present disclosure. 
           [0029]      FIG. 18  contains a flowchart of the Pet Feeder Unique Audible Notifications—Pet Attempting to Access Feeder process, according to embodiments of the present disclosure. 
           [0030]      FIG. 19  contains a flowchart of the Pet Feeder Unique Audible Notifications—Criteria Met to Allow a Specific Pet to Feed process, according to embodiments of the present disclosure. 
           [0031]      FIG. 20  contains a flowchart of the Derive Pet Feeding Runtime and Use to Determine Amount Consumed by Pet in Feeding Session process, according to embodiments of the present disclosure. 
       
    
    
     DESCRIPTION 
       [0032]    The present disclosure relates to a network-enabled automated pet feeding and monitoring system providing a series of features not available in any other pet feeding and monitoring product on the market. The described system can be individualized for a single pet or configured to allow more than one pet to utilize the system. In some embodiments, the disclosed system provides personalized feeding options for the pet(s) and will not allow unauthorized pets to feed at the device. In some embodiments, the system will monitor an individual pet&#39;s water consumption. In some embodiments, the system connects wirelessly to the wide area network and monitors/logs all activity (pet accessing, feeding times/durations, food dispensing, food consumption amounts, water consumption, comfort settings, unauthorized access attempts, photos, video) occurring at the device. The logs are aggregated in a database for use by mobile applications, desktop web applications, and an alerting rules engine so that data can be consumed easily and anywhere by pet owners and other interested third parties. 
         [0033]    The pet feeding and monitoring system enables owners to set a feeding schedule, assign the feeder to a specific pet so that no other pet is allowed to eat at the feeder, assign a feeder to multiple pets, remotely dispense food via a web browser or smartphone application, monitor eating times, monitor food consumption over time, monitor water consumption, monitor the pet&#39;s environment (temperature and humidity), provide pet-specific audible notifications, and remotely view the pet. Owners can customize the amount of food dispensed along with feeding times to meet the needs of the pet. Multiple pet feeders can be networked with each other into a group so that they can exchange information to determine the optimal amount of food to deliver to authorized pets. An amount of food may be determined by volume, calorie content of the food in the bin, or other known measurements. The pet feeder has a “Training Mode” that uses motion sensing to help acclimate pets to the feeder while still preventing unauthorized access. The pet feeder also has a “Learn Mode” that creates a customized feeding schedule for your pet based on data collected by the device&#39;s various sensors. The system can be set in an advanced mode called “Pet Profiles” that will automatically authorize/deny access to a pet based on a pet&#39;s predefined profile. All data collected by the pet feeding and monitoring system is stored on a networked server database and used by a rules engine (in addition to applications) to send predefined alerts (based on data conditions) to authorized parties (pet owners, veterinarians, etc.). 
         [0034]      FIG. 1   a  is a system diagram that depicts a holistic pet feeding solution, according to embodiments of the present disclosure. The described holistic system connects all components via both local wireless protocols and a wide area network. For example, as shown in  FIG. 1   a , system  100  can include an in-home pet feeding system  102 , including one or more pet feeders  104 ,  106 , one or more pet drinking monitors  105 , all connected to a wide area network  118  through a home router  108 , one or more remote computers  110 , a computer located at a third party data consumer  112 , a desktop interface  114 , and a mobile interface  116 . 
         [0035]    The in-home pet feeding and monitoring system  102  can include one or more pet feeders  104 ,  106 . In some embodiments, the one or more pet feeders can connect wirelessly via the home router  108 . The home router  108  can connect the in-home pet feeding and monitoring system to all other components of the system. 
         [0036]    The in-home pet feeding and monitoring system  102  can include one or more pet drinkers  105 . In some embodiments, the one or more pet drinkers can connect wirelessly via the home router  108 . The home router  108  can connect the in-home pet feeding and monitoring system to all other components of the system 
         [0037]    The remote computer processing  110  can be in-house or can be one or more third party servers that host the pet feeding and monitoring system software. The remote computer processing  110  can be connected to the in-home pet feeding system  102  via the wide area network  118 . In some embodiments, the remote computers run databases, application servers, and web servers in addition to the pet feeding and monitoring software. In some embodiments, the remote computers run a rules engine for analyzing data and generating automated alerts. 
         [0038]      FIG. 1   a , component  112  depicts third parties that can consume/subscribe to the information/alerts from the pet feeding and monitoring system. They can connect via web applications (through the wide area network  118 ) or via web service interfaces. 
         [0039]      FIG. 1   a , component  114  depicts desktop interfaces that can be used by pet owners to monitor and remotely control the in-home pet feeding and monitoring system  102  via the remote computers  110 . Pet owners can also subscribe to predefined data alerts via the desktop interfaces. 
         [0040]      FIG. 1   a , component  116  depicts mobile interfaces used by pet owners to monitor and remotely control the in-home pet feeding and monitoring system  102  via the remote computers  110 . Pet owners can also subscribe to predefined data alerts via the mobile interfaces. 
         [0041]      FIG. 1   a , component  118  depicts the wide area network (WAN). The WAN can provide all external access to the in-home pet feeding and monitoring system. 
         [0042]      FIG. 1   b , depicts a Pet Identifying Collar  150 . The Pet Identifying Collar is composed of a safety breakaway collar  152  and a radio frequency tag  154 . The radio frequency tag  154  is read by the pet identity readers ( 206  on the pet feeding device and  304  on the pet drinking monitor) and compared against the Network Pet Database  2000  to determine the identity of the pet and any other pertinent data about the pet (authorized for feeder, feeding schedule, diet, unique characteristics, etc.). 
         [0043]      FIG. 2   a  depicts a pet feeding device  250  in the “feeding bowl not accessible” state. The pet feeding device provides: a) feeding to only authorized pets; b) food dispensing per set schedule, learned schedule, and manual mode; c) remote control via the WAN; d) training mode so that pets can easily be acclimated to feeder; and e) other options as described herein. The pet feeding device  200  includes: a food storage bin  202 , a food dispensing motor  204  to dispense food in accurate increments, a pet identity reader  206  for uniquely identifying pets, a camera  208  for taking pictures and video, a motion sensor  210  for detecting motion near and around the pet feeding device, an LED light  212  for displaying various statuses, a temperature/humidity sensor  214  for logging comfort at the pet feeding device, a food dispensing wheel  216  that is moved by the food dispensing motor  204  to dispense food in accurate increments, a single-entry feeding zone  218  to ensure that a pet can uniquely be identified and to also ensure only one pet feeds at a time, a microprocessor/storage/wireless network/IO component  220  to run the pet feeding device software and to connect to the LAN/WAN, an extendable/retractable food serving bowl  222  so that food can be provided or removed based on pet identity, and a speaker  224  so that audible pet-specific notifications can be emitted by the feeder. 
         [0044]      FIG. 2   a  shows the food storage bin  202 . The bin is used to keep a number of days of dry pet food fresh and available for dispensing. The food storage bin can be easily removed for cleaning. 
         [0045]      FIG. 2   a  shows the food dispensing motor  204 . The food dispensing motor connects to the food storage bin ( 202 ) and moves the food dispensing wheel ( 216 ) so that specific increments of food can be moved to the food serving bowl ( 222 ). 
         [0046]      FIG. 2   a  shows the pet identity reader. This is used to detect the pet attempting to access the pet feeding device. Authorized pets can be given access to food. Unauthorized pets can be denied access to food. To be uniquely identified, the pet wears a collar with a radio frequency tag attached (shown in  FIG. 1   b ). The tag has a unique id that can be read wirelessly by the pet identity reader. The identifier on the pet collar is then compared to all authorized ids for the feeder (stored in the ‘storage’ piece of the microprocessor/storage/wireless network/IO component  220 ). If the identifier is in the list of authorized identifiers, then the food is made available to the pet; if not, the food is not made available. 
         [0047]      FIG. 2   a  shows the camera  208 . The camera is used to take pictures of pet when feeding, when denied access, or remotely ad hoc by owner. The camera is also used to display real-time video remotely through mobile and desktop applications. 
         [0048]      FIG. 2   a  also shows the motion sensor  210 . The motion sensor is used during “Training Mode” to make food available to the pet when motion is detected. This helps to acclimate the pet to the feeder by drawing the pet into the feeder. The pet identity reader  206  takes over when the pet comes close to the feeder to eat. If the pet is authorized, then food is kept available. If the pet is not authorized, then the food bowl retracts into the feeder and is not available for the pet. 
         [0049]      FIG. 2   a  shows the LED light  212 . This is used to display various status of the feeder including: a) online/offline; b) dispensing food; and c) food tray open. 
         [0050]      FIG. 2   a  shows the temperature/humidity sensor  214 . This is used to periodically log the temperature and humidity of the environment allowing the owner to see the comfort of the pet environment remotely and over time. It is used to alarm the owner if the comfort level falls outside designated thresholds. 
         [0051]      FIG. 2   a  shows the food dispensing wheel  216 . This is used to dispense food in compartment-sized accurate increments into the food tray while the food tray is retracted in the feeder. This can dispense based on schedule, “Learned Schedule”, or manually via mobile or desktop applications. 
         [0052]      FIG. 2   a  shows the single entry feeding zone  218 . This feature only allows one pet to feed at a time. In one embodiment, a pet is forced to feed from one side of the feeder. This side of the feeder does not block access to the feeding bowl. There are four positions of access to the bowl. They are: a) the front; b) the right side; c) the left side; and d) the back. Only the front is accessible for feeding. Position a) (the front) is known as the single entry feeding zone. All other access points (positions b), c), and d)) are blocked from entry. This keeps other pets away while the authorized pet feeds. This zone also optimizes reading of the pet identity via the pet identity reader  206 . The pet identify reader is positioned for optimal reading at the single entry feeding zone. 
         [0053]      FIG. 2   a  shows the internal microprocessor/storage/wireless network/IO component  220 . This can be an internal computer containing all components necessary to run the local application and local web server. This also contains wired and wireless network connectivity to interface with the remote computers  110  so that data logs from the pet feeding device can be transmitted to shared WAN servers. Component  220  can run a local web server to enable local configuration of the device (schedule, alert thresholds, authorized pets, etc.) and can provide all inputs/outputs for a local pet feeding device (e.g., motors, sensors, etc.). 
         [0054]      FIG. 2   a  shows the extendable/retractable food serving bowl  222 . This component  222  can be used to extend the feeding bowl to the feeding area when authorized pets attempt to access the pet feeding device. This can be used to retract the bowl from the feeding area when unauthorized pets attempt to access the pet feeding device. The extendable/retractable food serving bowl is operated via a mechanical drawer that is controlled by the IO piece of the microprocessor/storage/wireless network/IO component  220 . 
         [0055]      FIG. 2   a  shows the audible speaker  224 . This component  224  can be used to emit unique audible sounds or recorded messages based on a variety of factors including authorization to feed, denial of feeding, and the various reasons for each. For example, an audible notification for a specific pet might be emitted when food is dispensed to the food bowl based on a predefined feeding schedule. This could be unique to this scenario and unique for this pet so that this specific pet will associate feeding time with the sound or recorded message emitted. 
         [0056]      FIG. 2   b  is the pet feeding device  250  in the “feeding bowl accessible” state. This state is achieved when a pet with an authorized tag, approaches the device and is detected by the pet identity reader ( FIG. 2   a , component  206 ). 
         [0057]      FIG. 2   c  illustrates an alternative exterior shell of the pet feeding device, with the extensible/retractable feeding bowl  222  of the device in a closed state. Pet identity reader  206 , camera  208 , motion sensor  210 , temperature/humidity sensor  214 , and speaker  224  are all available while the device is closed. 
         [0058]      FIGS. 2   d - f  illustrate specific aspects of this alternative exterior shell.  FIG. 2   d  illustrates access to the food storage bin  202  while the pet feeding device is closed.  FIG. 2   e  illustrates the additional embodiment of the device with the extensible/retractable bowl  222  in an extended state. There are four positions of access to the bowl while the bowl is extended. They are: a) the front; b) the right side; c) the left side; and d) the back. Only the front is accessible for feeding. Position a) (the front) is known as the single entry feeding zone. All other access points (positions b), c), and d)) are blocked from entry. This keeps other pets away while the authorized pet feeds. The structure defining the single entry feeding area  218  moves with the bowl as it extends or retracts, minimizing device size in the retracted state.  FIG. 2   f  illustrates one possible placement of the LED light  212 . 
         [0059]      FIG. 2   g  is a cross sectional view of the alternative exterior shell. Food storage bin  202  contains food to be fed to the pet. Dispensing motor  204  operates to move food dispensing wheel  216  and thereby deliver food from the food storage bin  202  to the retracted extensible/retractable bowl. Weight measurement sensor  226  (e.g., a load cell or scale) determines the weight of food present in extensible/retractable feeding bowl  222 . 
         [0060]      FIG. 3  is a pet drinking device  300 . The pet drinking device  300  monitors water consumption associated uniquely with a pet. The pet drinking device  300  includes: a water bowl  302 , a pet identity reader  304  for uniquely identifying pets, a microprocessor/storage/wireless network/IO component  306  to run the pet drinking device software and to connect to the LAN/WAN, and a single-entry drinking zone  308  to ensure that a pet can uniquely be identified and to also ensure only one pet drinks at a time. 
         [0061]      FIG. 3  shows the pet identity reader  304 . This is used to detect the pet accessing the pet drinking device. To be uniquely identified, the pet wears a collar with a radio frequency tag attached. The tag has a unique id that can be read wirelessly by the pet identity reader. The identifier on the pet collar is then is compared to the Network Pet Database  2000  (shown in  FIG. 13 ) to determine the pet&#39;s identity. 
         [0062]      FIG. 3  shows the single entry feeding zone  308 . This feature only allows one pet to drink at a time. In one embodiment, a pet is forced to drink from one side of the feeder. This side of the device does not block access to the drinking bowl. There are four positions of access to the bowl. They are: a) the front; b) the right side; c) the left side; and d) the back. Only the front is accessible for drinking Position a) (the front) is known as the single entry drinking zone. All other access points (positions b), c), and d)) are blocked from entry. This keeps other pets away while a single pet drinks so that a drinking session for a single pet can be established. This zone also optimizes reading of the pet identity via the pet identity reader  304 . The pet identity reader is positioned for optimal reading at the single entry drinking zone. 
         [0063]      FIG. 4  contains the high level flow  400  for the pet feeding and monitoring system. The flow begins with Set Up Feeder  500 , proceeds through Set Dispensing Schedule  600 , Dispense Food  700 , an optional Training Mode  800 , Uniquely Identify Pet  900 , Monitor Eating  1000 , Monitor Drinking  1100 , and Learn Mode  1200 . Once a feeder has been set up, steps  600  through  1200  are continuously performed during the lifecycle of the pet feeding device. All processes log activity to the Network Pet Database  2000  via the Log Activity  1300  process. 
         [0064]      FIG. 5  contains a flowchart for Setup Pet Feeder  500 . The user can first Connect the Feeder to the Network  502  via standard LAN protocols. Once connected, the user can Register the Device on the Network  504  by entering data into a web application on a desktop or mobile interface. The next step of this process is to Associate the Device with an Account  506  and to Associate Pet(s) With the Device  508 . Finally, a number of properties are set on the device via the Set Device Initial Properties process  510 . Steps  506 ,  508 , and  510  all Log Activity  1300  to the Network Pet Database  2000 . After setup, the pet feeding device can be connected to the remote computers  110  and available for feeding, monitoring, remote control, and alerting. 
         [0065]      FIG. 5 , step  502  can connect the pet feeding device to a home router  108  using a local area network wired or wireless protocol. This can establish a connection to both the home router  108  local network and the WAN  118 . 
         [0066]      FIG. 5 , step  504  can register the pet feeding device with the Network Pet Database  2000 . This can make the pet feeder available for owner and pet assignment. 
         [0067]      FIG. 5 , step  506  assigns an account (associated with an owner) to the pet feeding device. This can provide the owner with access to properties of the device. 
         [0068]      FIG. 5 , step  508  contains the steps for assigning a feeder to one or more pets via a desktop or mobile application. During this process both the Local Feeder Data Store  1106  and the Network Pet Database  2000  are updated with data necessary to make the connection between pet and feeder, and authorize access into the feeder. 
         [0069]      FIG. 5 , step  510  allows the owner to set initial properties of the feeder including owner details and pet details. This can determine who can access the feeder and specific processing attributes for the pet. 
         [0070]      FIG. 5 , steps  506 ,  508 , and  510  all log database entries per the Log Activity  1300  process. 
         [0071]      FIG. 6  contains a flowchart for the Set Dispensing Schedule  600  process. Components of this process are Select Pet or Pet Feeder  602 , Set Days  604 , Set Times/Amounts/Availability  606 , and Save Schedule  608 . After setup, the schedule can be stored on both the Local Feeder Data Store  1106  and the Network Pet Database  2000 . This schedule is then used to determine when to dispense food on the pet feeding device. The schedule also can provide information on availability of food for authorized pets (i.e., times of the day when they are allowed to feed). 
         [0072]      FIG. 7  contains a flowchart of the Dispense Food  700  process. The Dispense Food process runs locally on the microprocessor of the pet feeding device and can be determined via Learn Mode  1200  or manually via Set Dispensing Schedule  600 . This process is started at feeder start time and runs continuously. Components of this process are Determine When to Dispense  702 , Determine If Any Unused Food  704 , Determine How Much to Dispense  706 , and Dispense Food  708 . After Dispense Food  708  is processed, the Log Activity  1300  process is called to store the event. 
         [0073]      FIG. 7 , step  702  determines whether the feeder is set to Learn Mode or Manual Mode. Based on that, the feeder checks for the appropriate time of feeding. If a time has been reached, it proceeds to Determine if any Unused Food  704 . 
         [0074]      FIG. 7 , step  704  checks if any unused food remains in the feeding bowl. In some embodiments, this check is performed using the weight measurement sensor  226 . This process passes the amount of unused food to step  706  Determine How Much Food to Dispense. 
         [0075]      FIG. 7 , step  706  subtracts the unused food from the scheduled food amount for the current time period to determine amount to dispense. This amount is passed to the step  708  Dispense Food. 
         [0076]      FIG. 7 , steps  708  calls the food dispensing mechanism with a value that will dispense the amount of food derived in step  706 . The Log Activity  1300  process is then called to record the associated entry. 
         [0077]      FIG. 8  contains a flowchart of the Training Mode process  800 . Training Mode allows a pet to quickly learn how to use the pet feeding device. Training Mode  800  utilizes a motion sensor to make food available to the pet and draw them into the feeder. Once the pet is close enough to the feeder, the pet identity reader determines if they are authorized. Components of the Training Mode process are Detect Training Mode Enabled  802 , Detect Motion  804 , Open Food Tray  806 , Uniquely Identify Pet  900 , Detect Inactivity Duration  808 , and Close Food Tray  810 . Steps  806 ,  900 , and  810  all call Log Activity  1300  to record associated entries. 
         [0078]      FIG. 8 , step  802  checks to see if training mode is enabled. If training mode is enabled, the process continues (otherwise it terminates). 
         [0079]      FIG. 8 , step  804  continuously checks for motion near the pet feeding device. If motion is detected, the next step ( 806 ) is called. Step  806  can open the food tray. 
         [0080]      FIG. 8 , step  900  can check for an authorized pet should a pet attempt to feed from the available food tray. If the pet is authorized, the food tray can remain open. If not, the food tray can close. 
         [0081]      FIG. 8 , step  808  can determine if the inactivity period has been reached. If no pet is identified within the inactivity period, then step  810  can be called and the food tray can close. 
         [0082]      FIG. 9  contains a flowchart of the Uniquely Identify Pet (Authorize/Deny Access) process  900 . This process is to determine whether to make food accessible to the pet or not. This process is run at feeder startup and runs continuously, always checking to see if a pet has approached the pet feeding device. Components of this process are Detect and Identify Pet  902 , Determine if Authorized  904 , Determine if within Availability Window  906 , Open Food Tray  9008 , and Close Food Tray  910 . Steps  908  and  910  can log associated entry via the Log Activity  1300  process. 
         [0083]      FIG. 9 , step  903  puts the pet identity reader into poll mode and waits to detect a unique pet. If a unique pet is identified, the unique identity is passed to step  904  to Determine if the pet is Authorized. 
         [0084]      FIG. 9 , step  906  is called if the pet is authorized to feed. This step checks to ensure whether the pet is within a food availability window. If so, step  908  is called and the food tray is opened for feeding. If the food availability window is not available, then step  910  is called and the food tray is closed. 
         [0085]      FIG. 9 , if step  704  detects a tag id, the unique identifier is compared to the authorized tag for the feeder (in this case, only 1 tag) ( 706 ). 
         [0086]      FIG. 9 , step  910  is also called to close the food tray if the pet was not authorized in step  904  (Determine if Authorized). 
         [0087]      FIG. 10  contains a flowchart of the Monitor Eating process  1000 . Monitor Eating runs when Uniquely Identify Pet  900  detects an authorized pet within the food availability window. Monitor Eating first runs Log “Hungry” Activity  1002  via the Log Activity process  1300 . It then continuously checks for a unique pet identity via Check Pet Identity  1004  until a timeout has occurred or if a different pet is identified. If a different pet is identified or a timeout occurs, then Uniquely Identify Pet  900  is restarted. If the same pet is identified, then Log “Eating” Activity  1006  occurs using the Log Activity process  1300  and Check Pet Identity  1004  is re-called. 
         [0088]      FIG. 11  contains a flowchart of the Monitor Drinking process  1100 . Monitor Drinking is constantly Polling for a Unique Pet ID  1102 . When a uniquely pet id is found, it runs the Log “Thirsty” Activity  1104  via the Log Activity process  1300 . It then continuously checks for a unique pet identity via Check Pet Identity  1106  until a timeout has occurred or if a different pet is identified. If a different pet is identified or a timeout occurs, then Poll for Unique Pet ID  1102  is restarted. If the same pet is identified, then Log “Drinking” Activity  1106  occurs using the Log Activity process  1300  and Check Pet Identity  1106  is re-called. 
         [0089]      FIG. 12  contains a flowchart of the Learn Mode  1200  process. This process (when activated) can evaluate pet feeding data with optimal feeding patterns and pet owner input to create a healthy feeding scheduled customized for a specific pet. Components of this process are Measure Series of Data Points  1202 , Compare Data Points to Optimal Feeding Pattern and Pet Caregiver Input  1204 , Adjust Dispensing Times, Food Amounts, and Availability  1206 , and Wait Period of Time and Recalibrate  1208 . Every time the Learn Mode schedule is adjusted, a call to Log Activity  1300  is made to record the associated data entries. The Network Pet Database  2000  is used to gather historical data points. 
         [0090]      FIG. 13  contains a flowchart of the Log Activity  1300  process. The first step in this process is Detect Logging Event on Local Device  1302 . This step then calls Write Entry to Local Data Store  1304 . This step stores the entry associated with the logging event from step  1302  to the Local Feeder Data Store  1306 . The pet feeding device stores activity logs, food type information, food calorie information for the food currently loaded in the bin, and other such data locally to avoid losing data when the network is down. Logging local also keeps the feeder working at optimal speed. 
         [0091]      FIG. 13 , step  1308  (Check Local Data Store for Unlogged Network Entries) periodically checks the local data store  1306  for unlogged entries. When it finds unlogged entries, it calls Write Entries to Network Pet Database  1310 . This step stores the entries in the Network Pet Database  2000 . 
         [0092]      FIG. 14  contains a high level flowchart of the Pet Profile Based Authorization process  1400 . The Pet Profile Based Authorization process is an advanced process that can be enabled by a pet owner after the pet owner has setup the profile of each pet. For feeding purposes, the pet profile contains data such as: Feeders Authorized to Pet, Food Types Allowed for Pet, Days/Times Authorized to Feed, Daily Food Allowance, Minimum Time Between Feeding Sessions, and Per Feeding Session Food Allowance. When Pet Profile mode is enabled, there is no longer a schedule for dispensing food. The food bowl is always replenished and kept fully stocked, but the system determines (based on the profile) whether to make food available (and for how long) when a pet approaches to feed. The Pet Profile is evaluated when a pet is detected at the feeder to determine whether to make food available. This high level diagram will call one of three sub-processes ( FIG. 15 ,  16 , or  17 ) based on the current state when a pet is detected. Those states are: “Tray Closed”  1500 , “Tray Open: Same Pet”  1600 , “Tray Open: New Pet”  1700 . 
         [0093]      FIG. 15  contains a flowchart of the Pet Profile Based Authorization—Food Tray Closed process  1500 . This process is followed when the pet identity reader ( FIG. 2   a ,  206 ) at the feeder detects a pet while the food tray is closed. Once a pet is identified, step  1502  does a lookup from the Local Feeder Data Store  1306  to retrieve all pet profile data  1506  for the identified pet and data regarding the food type and calorie content currently within the feeder. This data is periodically refreshed from the Network Pet Database  2000  based on changes made by a pet owner via a mobile or desktop application. All of the pet profile data (Feeders Authorized to Pet  1508 , Food Types Allowed to Pet  1510 , Days/Times Authorized to Feed  1512 , Daily Food Allowance  1514 , Min Time Between Feeding Sessions  1516 , Per Feeding Session Food Allowance  1518 ) is evaluated to determine whether food will be made available to the pet via the feeder. Step  1504  does this evaluation. The first thing checked in the profile is whether the pet is authorized to the feeder  1508 . If the pet is authorized, the food type in the feeder is evaluated against the food allowed for the pet  1510 . If the food type is a match, then days/times authorized to feed  1512  is checked, daily food allowance  1514  is checked against the amount eaten so far by the pet (which may be determined by reference to food type calorie content stored by the feeder), and minimum time between feeding sessions  1516  is checked. If any of these checks fails, the pet is not allowed to feed. If all pass then the pet is allowed to feed. If the result is to allow feeding then the food tray is opened  1520 . If the result is to deny feeding then the food tray remains closed  1522 . In either case, a log entry is made in the Activity Log via step  1300 . If the pet is allowed to feed, then during the feeding session the per feeding session food allowance  1518  is regularly being monitored. If this threshold is met during the feeding session, then the food becomes inaccessible to the pet (food tray is closed). 
         [0094]      FIG. 16  contains a flowchart of the Pet Profile Based Authorization—Food Tray Open: Same Pet process  1600 . This process is followed when the pet identity reader ( FIG. 2   a ,  206 ) at the feeder detects a pet while the food tray is open and the pet is the same pet currently feeding at feeder. When a pet remains at the feeder feeding, some of the Pet Profile indicators (amount of food consumed today, amount of food consumed during this feeding session, etc.) are updated via step  1602 . This data is updated in the Local Feeder Data Store  1306 . This data is periodically synchronized with the Network Pet Database  2000 . Step  1604  then re-assesses the pet profile to determine whether the pet will be allowed to continue feeding or be denied and have the food taken away. If the result is to allow feeding to continue then the food tray is kept open  1620 . If the result is to deny feeding then the food tray is closed  1622 . The pet will always be allowed to continue feeding unless the threshold value of one of the profile indicators is reached. Examples of this are when the time of feeding moves into an unauthorized feeding time (Days/Times Authorized to Feed  1512 ) during the feeding session, the daily food allowance (Daily Food Allowance  1514 ) is exceeded during the feeding session, or the per feeding session allowance (Per Feeding Session Food Allowance  1518 ) is exceeded during the feeding session. In all cases, a log entry is made in the Activity Log via step  1300 . 
         [0095]      FIG. 17  contains a flowchart of the Pet Profile Based Authorization—Food Tray Open: New Pet process  1700 . This process is followed when the pet identity reader ( FIG. 2   a ,  206 ) at the feeder detects a pet while the food tray is open and the pet is not the pet that caused the food tray to open. Step  1702  is invoked when the new pet arrives at the feeder, causing the current feeding session to be closed out, written to the database, and the profile of the new pet is retrieved from the Local Feeder Data Store  1306 . All of the new pet profile data (Feeders Authorized to Pet  1708 , Food Types Allowed to Pet  1710 , Days/Times Authorized to Feed  1712 , Daily Food Allowance  1714 , Min Time Between Feeding Sessions  1716 , Per Feeding Session Food Allowance  1718 ) is evaluated to determine whether food will be kept available for the new pet. Step  1704  does this evaluation. The first thing checked in the profile is whether the pet is authorized to the feeder  1708 . If the pet is authorized, the food type in the feeder is evaluated against the food allowed for the pet  1710 . If the food type is a match, then days/times authorized to feed  1712  is checked, daily food allowance  1714  is checked against the amount eaten so far by the pet, and minimum time between feeding sessions  1716  is checked. If any of these checks fails, the pet is not allowed to feed. If all pass then the pet is allowed to feed. If the result is to allow feeding then the food tray is opened  1720 . If the result is to deny feeding then the food tray remains closed  1722 . In either case, a log entry is made in the Activity Log via step  1300 . If the pet is allowed to feed, then during the feeding session the per feeding session food allowance  1718  is regularly being monitored. If this threshold is met during the feeding session, then the food becomes inaccessible to the pet (food tray is closed). 
         [0096]      FIG. 18  contains a flowchart of the Pet Feeder Unique Audible Notifications—Pet Attempting to Access Feeder process  1800 . This process is followed when the pet identity reader ( FIG. 2   a ,  206 ) at the feeder detects a pet  1802 . The feeder software will lookup  1804  the pet profile  1808  and evaluate  1806  to determine the appropriate audible notification. The audible notifications are associated specifically to the identified pet and determined based on whether the pet is authorized or denied feeding at that specific time. If the pet is authorized  1810  a unique audible sound or recorded message will be emitted by the feeder that may be unique for the identified pet. If the pet is denied, the reason for denial will be determined  1812  and unique sounds or recorded messages (associated with the denial reason and identified pet) will be emitted by the feeder (Unique Sound or Recorded Messages Associate with Denied—Reason a: for this pet  1814 , Unique Sound or Recorded Messages Associate with Denied—Reason b: for this pet  1816 , Unique Sound or Recorded Messages Associate with Denied—Reason n: for this pet  1818 ). The purpose of the audible sounds and recorded messages are to train the pet on when it is appropriate to feed and when it is not. The use of unique sounds per type of activity (authorized or denied) and per pet will help to encourage healthy eating behavior. 
         [0097]      FIG. 19  contains a flowchart of the Pet Feeder Unique Audible Notifications—Criteria Met to Allow a Specific Pet to Feed process  1900 . This process is followed when a trigger event occurs that signifies a specific pet may come to the feeder to feed  1902 . Examples of trigger events include: a) food dispensed to bowl based on pre-set schedule (e.g., feeding time); b) a pet profile threshold achieved (e.g., min time between feeding sessions exceeded for pet ‘z’). If a trigger event is identified, the authorize reason will be determined along with the impacted pet  1904  so that a unique sound or recorded message may be emitted. If the authorize reason is due to food being dispensed per a pre-set schedule, then a unique sound or recorded message for the specific pet impacted will be emitted  1906 . If the authorize reason is due to criteria identified in the pet profile, then a unique sound or recorded message for that specific pet profile reason for the specific pet impacted will be emitted (Unique Sound or Recorded Messages Associate with Authorized—Reason a: for this pet  1908 , Unique Sound or Recorded Messages Associate with Authorized—Reason b: for this pet  1910 , Unique Sound or Recorded Messages Associate with Authorized—Reason n: for this pet  1912 ). 
         [0098]      FIG. 20  contains a flowchart of the Derive Pet Feeding Runtime and Use to Determine Amount Consumed by Pet in Feeding Session process  2100 . This process is used to calibrate a Pet Feeding Runtime (associated with a specific pet) so that the amount consumed by a specific pet within a specific time period can be estimated. The amount of food consumed per feeding session (and in aggregate daily) is a key piece of information that an owner will look at to determine how their pet(s) are consuming food. The data is available via the mobile and desktop applications. The first step in this process is for a pet owner to observe a pet feeding session  2102 . There are 2 variables that need to be recorded ( 2104 ). First, the feeding time of the session (in minutes and seconds). Second, the amount of food consumed during the session (e.g., how many cups of food or how many calories of food). These 2 variables are stored in the Network Pet Database  2000  and used to determine how much food is consumed during a given feeding duration. Step  2106  enables the calibration to be periodically refined by repeating the observation  2102  and recording  2104  steps. Step  2108  calculates the pet Runtime Factor. The pet Runtime Factor equals the amount of food consumed divided by the time it took to consume the food or Amount/Time. For example, if the calibration recorded 2 cups of food consumed in 10 minutes, then the pet Runtime Factor would equal 1 cup per every 5 minutes of eating or ⅕ th . If the pet with this Runtime Factor was monitored eating for 2.5 minutes, then 2.5 would be multiplied by ⅕ th  to determine the amount of food eaten or ½ cup of food. Step  2110  uses the Runtime Factor to update a feeding session with the estimated feeding amount in the Network Pet Database  2000 . 
         [0099]    The subject matter described herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. The subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. 
         [0100]    The processes and logic flows described in this specification, including the method steps of the subject matter described herein, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the subject matter described herein by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the subject matter described herein can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). 
         [0101]    Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer. Generally, a processor can receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer can also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks, (e.g., internal hard disks or removable disks); magneto optical disks; and optical disks (e.g., CD and DVD disks). The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry. 
         [0102]    To provide for interaction with a user, the subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, (e.g., a mouse or a trackball), by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input. 
         [0103]    The subject matter described herein can be implemented in a computing system that includes a back end component (e.g., a data server), a middleware component (e.g., an application server), or a front end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of such back end, middleware, and front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet. 
         [0104]    It is to be understood that the disclosed subject matter is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. 
         [0105]    As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the disclosed subject matter. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the disclosed subject matter. 
         [0106]    Although the disclosed subject matter has been described and illustrated in the foregoing exemplary embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the disclosed subject matter may be made without departing from the spirit and scope of the disclosed subject matter.