SYSTEM AND METHODS FOR PROVIDING NETWORK MONITORING AND A CAPTIVE LEARNING PORTAL
20220398934 · 2022-12-15
Inventors
Cpc classification
H04L63/108
ELECTRICITY
H04L67/02
ELECTRICITY
G09B7/00
PHYSICS
G09B7/02
PHYSICS
H04L63/20
ELECTRICITY
International classification
Abstract
A system for providing network monitoring and a captive learning portal for a network including a parent device and at least one child devices is provided. The system includes a server providing an authentication system and a learning management system, a gateway device providing a router function and a firewall function. The gateway device connects with the child device and prompts to enter child credentials associated with a child account, communicates with the server to verify the child credentials, and allocate a first time limit to the child account, grants access to the Internet for the child device associated with the child account via the router function in response to successful verification of the child credentials, and blocks access to the Internet for the child device associated with the child account via the firewall function upon said first time limit being reached according to parental control settings for the child account.
Claims
1. A system for providing monitoring of a network and a captive learning portal, wherein the network is in communication with an Internet, wherein the network includes a parent computing device and at least one child device, the system comprising: at least one server configured to provide an authentication system and a learning management system for the parent computing device and the child computing device; and a gateway device configured to provide a router function and a firewall function for the network, wherein the gateway device includes a memory having computer executable instructions stored therein configured for: connecting with the child computing device and prompting to enter child credentials associated with a child account; communicating with the at least one server to verify the child credentials associated with the child account, and allocate a first time limit to the child account; granting access to the Internet for the child computing device associated with the child account via the router function in response to successful verification of the child credentials; and blocking access to the Internet for the child computing device associated with the child account via the firewall function upon the first time limit allocated to the child account being reached according to parental control settings for the child account.
2. The system according to claim 1, wherein the at least one server includes an authentication server configured to verify that the entered child credentials are associated with a valid child account by confirming a password or a PIN of the entered child credentials using a database.
3. The system according to claim 2, wherein the parental control settings include at least one of: one or more time limits for accessing the Internet using the child computing device associated with the child account, or one or more quiz or task settings for granting more Internet access time for the child computing device associated with the child account.
4. The system according to claim 3, wherein the at least one server includes a learning management server configured to store at least one quiz or task, and provide the at least one of the quiz or task to the child computing device via the gateway device after each of the one or more time limits expire according to the parental control settings for the child account.
5. The system according to claim 4, wherein, when the gateway device blocks access to the Internet for the child computing device associated with the child account once the first time limit has been reached, the gateway device communicates with the learning management server to retrieve the at least one quiz or task, and communicates with the child computing device to present the at least one quiz or task, wherein in response to results of the quiz reaching a threshold passing score or the task being completed, the gateway device further communicates with the authentication server to allocate a second time limit to the child account, and grants access to the Internet for the child computing device associated with the child account until the second time limit expires.
6. The system according to claim 5, wherein the gateway device communicates with the at least one server to provide one or more updates to the system based on the results of the quiz or completion of the task, wherein the one or more updates include recording test results, monitoring Internet activity and/or application usage logs, updating scoring leaderboards, adding more time to the child account, editing databases or combinations thereof.
7. A system for providing monitoring of a network and a captive learning portal, wherein the network is in communication with and Internet, wherein the network includes a parent computing device and at least one child computing device, the system comprising: at least one server configured to provide an authentication system and a learning management system for the parent computing device and the at least one child computing device; and a gateway device configured to provide a router function and a firewall function for the network, wherein the gateway device includes a memory having computer executable instructions stored therein configured for: connecting with the parent computing device and prompting to enter parent credentials associated with a parent account; communicating with the at least one server to verify the parent credentials associated with the parent account; and granting access to the learning management system for the parent computing device associated with the parent account via the router function in response to successful verification of the parent credentials, wherein said access enables the parent computing device to configure or modify one or more parental control settings for a selected child account, including setting one or more time limits for accessing the Internet using the at least one child device associated with the selected child account.
8. The system according to claim 7, wherein the at least one server includes an authentication server configured to verify that the entered parent credentials are associated with a valid parent account by confirming a password or a PIN of the entered parent credentials using a database.
9. The system according to claim 8, wherein configuring or modifying the one or more parental control settings for the selected child account further includes configuring one or more quiz or task settings for granting more Internet access time for the at least one child computing device associated with the selected child account.
10. The system according to claim 9, wherein the at least one server includes a learning management server configured to store at least one quiz or task, and provide the at least one of the quiz or task to the at least one child computing device via the gateway device after each of the one or more time limits expire according to the parental control settings for the selected child account.
11. The system according to claim 10, wherein the configuring the one or more quiz or task settings for the selected child account includes one or more of: selecting a difficulty level of the at least one quiz for the selected child account, selecting one or more subjects, topics, or categories of the at least one quiz for the selected child account, setting a total number of questions or problems for each of the at least one quiz for the selected child account, setting a threshold passing score for the at least one quiz for the selected child account, selecting at least one predefined quiz or task from one or more lists for the selected child account, wherein the one or more lists are stored by the learning management server, or defining at least one quiz or task for the selected child account.
12. The system according to claim 11, wherein the access further enables the parent computing device to save the one or more parental control settings for the selected child account to the at least one server via the gateway device.
13. A method programmed for execution in a computing environment for providing monitoring of a network and a captive learning portal for the network including a parent computing device and at least one child computing device, wherein the network is in communication with an Internet, utilizing a processor the method comprises: connecting with the child computing device and prompting to enter child credentials associated with a child account; communicating with at least one server, which provides an authentication system and a learning management system for the parent computing device and the at least one child device, to verify the child credentials associated with the child account, and allocate a first time limit to the child account; granting access to the Internet for the at least one child computing device associated with the child account via a router function of a gateway device in response to successful verification of the child credentials by the authentication system; and blocking access to the Internet for the at least one child computing device associated with the child account via a firewall function of the gateway device upon the first time limit allocated to the child account being reached according to parental control settings for the child account.
14. The method according to claim 13, wherein the parental control settings include at least one of: one or more time limits for accessing the Internet using the at least one child computing device associated with the child account, or one or more quiz or task settings for granting more Internet access time for the at least one child computing device associated with the child account.
15. The method according to claim 14, wherein the at least one server includes a learning management server configured to store at least one quiz or task, and provide at least one of the quiz or task to the at least one child computing device after each of the one or more time limits expire according to the parental control settings for the child account.
16. The method according to claim 15, wherein, when access to the Internet for the at least one child computing device associated with the child account is blocked once the first time limit has been reached, the method further comprises communicating with the learning management server to retrieve a quiz or task, and communicating with the at least one child computing device to present the quiz or task, wherein in response to results of the quiz reaching a threshold passing score or the task being completed, the method further comprises allocating a second time limit to the child account, and granting access to the Internet for the at least one child computing device associated with the child account until the second time limit expires.
17. The method according to claim 16, further comprising communicating with the at least one server to provide one or more updates to the system based on the results of the quiz or completion of the task, wherein the one or more updates include recording test results, monitoring Internet activity and/or application usage logs, updating scoring leaderboards, adding more time to the child account, editing databases or combinations thereof.
18. A method programmed for execution in a computing environment for providing monitoring of a network and a captive learning portal for the network including a parent computing device and at least one child computing device, utilizing a processor the method comprises: connecting with the parent computing device and prompting to enter parent credentials associated with a parent account; communicating with at least one server, which provides an authentication system and a learning management system for the parent computing device and the at least one child computing device, to verify the parent credentials associated with the parent account; and granting access to the learning management system for the parent computing device associated with the parent account via the router function in response to successful verification of the parent credentials by the authentication system, wherein said access enables the parent computing device to configure or modify one or more parental control settings for a selected child account, including setting one or more time limits for accessing the Internet using at least one child computing device associated with the selected child account.
19. The method according to claim 18, wherein configuring or modifying the one or more parental control settings for the selected child account further includes configuring quiz or task settings for granting more Internet access time for the at least one child computing device associated with the selected child account.
20. The method according to claim 19, wherein the at least one server includes a learning management server configured to store at least one quiz or task, and provide the at least one quiz or task to the at least one child computing device after each of the one or more time limits expire according to the parental control settings for the selected child account.
21. The method according to claim 20, wherein the configuring of the quiz or task settings for the selected child account includes one or more of: selecting a difficulty level of the at least one quiz for the selected child account, selecting one or more subjects, topics, or categories of the at least one quiz for the selected child account, setting a total number of questions or problems for each of the at least one quiz for the selected child account, setting a threshold passing score for the at least one quiz for the selected child account, selecting at least one predefined quiz or task from one or more lists for the selected child account, wherein the one or more lists are stored by the learning management server, or defining at least one custom quiz or task for the selected child account.
22. The method according to claim 21, wherein the access further enables the parent computing device to save the one or more parental control settings for the selected child account to the at least one server.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become apparent and be better understood by reference to the following description of the invention in conjunction with the accompanying drawings, wherein:
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
DETAILED DESCRIPTION OF THE INVENTION
[0038] Referring to the drawings in detail, with particular reference to
[0039] As best seen in
[0040] User computing devices 30, 40 may be configured to download or otherwise access at least one application (“application”) via network 5. Among various other features and functions, the application enables users to access an authentication system and a learning management system provided by server 20 according to example embodiments described herein. The application may be a mobile application (“App”) or client desktop application, for example. The application may be stored on and obtained from server 20 in some example embodiments, or a dedicated App store (e.g., APPLE, ANDROID, WINDOWS, etc.) as known in the art. The application may also be a web-based application that is accessed using a web browser, for example. In addition, server 20 may also store data or other information that are communicated from user computing devices 30, 40 via gateway device 10 and network 5. Accordingly, server 20 may provide various services, including but not limited to an authentication service and a learning management service, to users (parents and children) of computing devices 30 and 40. Although there may be a single server 20 in system 100 of
[0041] According to an aspect of the present invention, as shown in
[0042] According to another aspect of the present invention, system 100 of
[0043] Authentication server 20a provides a service that enables authentication between user devices 30, 40 and system 100 itself, and determines for how long a child account will have access to Internet 5. Authentication server 20a will also store the limitations to apply to child accounts, based on parental controls. Providing remote authentication server 20a, instead of requiring everything to be done locally including parental controls, has the advantage of allowing for a smaller storage and lower cost for local gateway device 10. However, it should be appreciated that in some other example embodiments, the core system could be changed to successfully accomplish the authentication task and parental controls locally, along with periodic updates being launched to populate local gateway device 10 with new data.
[0044] Learning management server 20b (also referred to as a captive learning portal herein) provides a learning management system which is populated with the learning application itself. In some example embodiments, learning management server 20b can also be populated with local quizzes or tasks that are created by users (e.g., parents) for use only with their personal accounts (e.g., for their own children).
[0045] It should also be appreciated that system 100 and applications 32, 42 may function without learning management server 20b, essentially turning gateway device 10 purely into a parental controls system to limit Internet usage times for their children, which is implemented based on various selectable presets or customizable settings, without any educational or child engagement component. Likewise, system 100 and applications 32, 42 could be used strictly as a learning management system to present various quizzes or tasks, with no parental controls or firewall functionality.
[0046] Gateway device 10 allows child device 40 to connect to gateway device 10 as they would in the case of a typical wireless network router 15. By contrast, parent device 30 is able to connect to an open API to local gateway device 10 by tethering in through the local Wi-Fi network, connect via a web application on the cloud which syncs with local gateway device 10, or login directly via local gateway device 10 and a PIN or password (e.g., parent PIN 35). Parent device 30 may be connected to normal Wi-Fi router 15, but can categorize child device 40 that are connected to gateway device 10 via gateway device 10. So child 1's gaming system, computer, and smartphone can be grouped such that all of these child devices 40a of child 1 are disabled from Internet access until child 1 navigates to gateway device 10 to answer a quiz from learning management server 20b, via child application 42. Similar groupings of devices can also be made for child 2 (child devices 40b) and child 3 (child devices 40c), etc. Parents are able to use parent device 30 to set time limits on internet usage for child accounts, monitor Internet usage by each account, as well as create or choose pre-made interactive learning experiences for the child accounts to solve in order to add more internet usage time to the child account, via parent application 32.
[0047] Gateway device 10 reaches out to authentication server 20a to retrieve and allocate time to the child account. Upon a child account reaching their Internet usage time limit, gateway device 10 will act as a firewall blocking all access to the rest of Internet 5, besides web server 20 (e.g., authentication server 20a and learning management server 20b). Gateway device 10 reaches out to learning management server 20b to retrieve a quiz or task. Upon successful completion, gateway device 10 reaches out to authentication server 20a again to allocate more time to the child account, and access to the rest of Internet 5 is then unlocked for that amount of time for child device 40. Therefore, system 100 is configured to generate (retrieve for display) a “quiz” or task (such as via an app, text, or device notification) in which the child must navigate to in order to solve questions designed to engage and educate the child. A quiz may be in the form of one or more questions or problems with one or more corresponding correct answers or solutions. A task may relate to various different household chores commonly performed by children at the request of their parents.
[0048] Accordingly, system 100 with the functionality of gateway device 10 and server 20 as described herein is meant to limit Internet usage of connected child accounts and create a captive learning portal to allow the child to unlock rewards in the form of more Internet usage time. System 100 is also meant to gamify learning by rewarding children in a point-based system in which they can redeem those points, as well as compete with others using the system in the same network, community, or even across the entire world of other users. An additional scope of the present invention may include gamifying system 100, such as by creating leaderboards as well as a rewards bank.
[0049] The learning web application itself will have a variety of settings, but for the sake of simplicity, one non-limiting illustrative example is that the child just needs to solve a quiz of four questions with at least three correct answers (e.g., minimum “threshold” score of 75%) to unblock access to the rest of Internet 5 for another allocated amount of time set by the parents via parent device 30. However, it should be appreciated that the total number of questions and the required number of correct answers in order to successfully pass the quiz and thereby obtain additional internet usage time, may be different and are user adjustable as needed so that the parents can adapt specific parental control settings for each child at any time.
[0050] In some example embodiments, the same types of quizzes or tasks, the same numbers of questions, and/or the same threshold passing score may be applied for all child devices 40, such as according to default settings of the learning web application or customized presets created via parent device 20. In some other example embodiments, parents can use parent device 20 to configure different types of quizzes or tasks, different numbers of questions, and/or different threshold passing scores for different groups of child devices 40 (e.g., younger children vs. older children, etc.) and/or each individual child device 40a, 40b, 40c, etc. This aspect of configuring system 100 can help to account for different ages, skill levels, comprehension ability, intelligence levels, rewards, and the like on a per child basis or per group basis.
[0051] According to yet another aspect, gateway device 10 of system 100 may be consistently or periodically updated with various information or data via the one or more server 20a and/or 20b, such as lists of known bad IP addresses to permanently block, as well as lists of known good educational IP addresses (e.g., Google, Wikipedia, Zoom, etc.) that can remain unblocked, and/or non-educational IP addresses (e.g., INSTAGRAM, FACEBOOK, TWITTER, TIKTOK, etc.) that can be selectively blocked and unblocked.
[0052] Next, an exemplary procedure for utilizing system 100 for providing network monitoring will be described with reference to the diagram shown in
[0053] Now referring to
[0054] The flow of communications illustrated in
[0055]
[0056] For example, the series of GUI screens in
[0057]
[0058] For example, the series of GUI screens in
[0059] Although example embodiments described above with reference to
[0060] An alternative example embodiment of gateway device 10 of system 100 of
[0061] Thus, it is contemplated that OpenWRT can be installed on a Ruby PI or other OpenWRT based system to accomplish the processes described above, if desired. However, some drawbacks are that these alternative examples would require more work, would increase the basic hardware needs of gateway device 10, and may provide a less reliable way of wireless connectivity, as compared to the cloud-based system described above with reference to
[0062] In either case, the core of system 100 described above with reference to
[0063]
[0064] Initially, gateway device 10 connects with parent device 30, at step S210. This may include one or more GUI screens prompting the parent for their credentials (select or enter their parent ID and enter their parent PIN/password). A parent may have previously performed initial setup of system 100 for use in their home network, such as by registering their parent device 30 and parent credentials (parent ID and parent PIN/password) with an associated parent account, and by registering their child device 40 and child credentials (IDs and PINs/passwords) with associated child accounts. Parents can use their parent device 30 to communicate with authentication server 20a, via gateway device 10, to perform this initial registration process. It should also be appreciated that various parental control settings may be automatically pre-selected by default or manually pre-selected by one of the parents, and these parental control settings are editable/configurable by the parents for a group of children or each child individually.
[0065] At step S220, gateway device 10 communicates with authentication server 20a to verify parent account associated with parent credentials. In response to successful verification of parent credentials by authentication server 20a, gateway device 10 receives an authentication token issued by authentication server 20a, and gateway device 10 grants access to learning management server 20b for parent device using the token, at step S230.
[0066] With this access, parent device 40 can display the child accounts so the parent can view associated information, each of their allocated time limits, and whether or not they have used all of their Internet time for a given time period (e.g., daily). At step S240, the parent can also select one of the child accounts using parent device 30, so that the parent can configure or modify various parental control settings for that child and their corresponding child device 40, at step S250. The current parental control settings may be automatically pre-selected by default or manually pre-selected by the parent, and they may also be user adjustable and customizable. Parent device 40 can also be used to save these parental control settings on server 20 (e.g., learning management server 20b and/or authentication server 20a) via gateway device 10.
[0067] For example, the parental control settings may include, but are not limited to: setting Internet time limit(s) for the child account (e.g., a first time limit, a second time limit after passing a quiz or completing a task, a maximum total daily limit, etc.); setting a manner in which the child can obtain extra time (e.g., successfully complete a quiz and/or perform a task); selecting whether predefined quizzes custom quizzes, predefined tasks, custom tasks or combinations thereof will be presented for the child account; selecting a difficulty level (e.g., easy, medium, hard, depending on ages and abilities) of the quizzes for the child account; selecting one or more topics/subjects/categories for the quizzes; setting a total number of questions/problems per quiz; setting a threshold passing score for the child account; selecting one or more specific tasks (e.g., chores to be performed by the child); and/or defining custom quizzes (enter question/problem and corresponding answer/solution) or tasks (describe a new chore). Various other parental control settings or certain modifications of the above-described settings are also possible.
[0068] Steps S240, S250, and 260 can also be repeated for any one or more of the other child accounts in a similar manner. It should be appreciated that there could be different settings for different individual child devices or groups of child devices, including but not limited to different levels of difficulty (e.g., easy, medium, hard), different topics/subject matter/categories (e.g., math, science, etc.), different scoring thresholds, different time limits, etc., depending on different ages, abilities, comprehension levels, specific learning needs, different rewards levels, or the like. This way, method 200 provides parents with the ability to custom tailor system 100 as appropriate for their own children or specific learning needs of each individual child.
[0069]
[0070] Initially, gateway device 10 connects with child device 40, at step S310. This may include one or more GUI screens prompting the child for their credentials (select or enter their child ID and enter their child PIN/password). As mentioned above with reference to
[0071] At step S320, gateway device 10 communicates with authentication server 20a to verify child account associated with child credentials, and allocate a first time limit to said child account. In response to successful verification of child credentials by authentication server 20a, gateway device 10 receives an authentication token issued by authentication server 20a, and gateway device 10 grants access to Internet 5 for child device 40 using the token, at step S330.
[0072] Gateway device 10 then determines whether the time limit allocated to the child account has been reached, at step S340. While the time limit for accessing the Internet has not yet expired (“No” at S340), the gateway device can update the amount of time used and/or remaining at step S345, and continue monitoring child device 40. Upon said first time limit allocated to said child account being reached (“Yes” at S340), gateway device 10 blocks access to Internet for child device 40, at step S350. Gateway device 10 communicates with learning management server 20b to retrieve a quiz or task at step S360, and gateway device 10 communicates with child device 40 to present said quiz or task at step S370.
[0073] In response to results of said quiz reaching a threshold passing score or said task being completed, at step S380, gateway device 10 communicates with authentication server 20a to allocate a second time limit to said child account (step S320) and grants access to Internet for child device 40 (step S330) until said second time limit expires (steps S340-S350).
[0074] In some example embodiments, gateway device 10 communicates with learning management server 20b to determine whether the results of said quiz have reached or exceeded the threshold passing score, or whether the task has been completed. In some other example embodiments, gateway device 10 may be configured to make this determination itself for each quiz or task (e.g., without an additional communication exchange with learning management server 20b). In yet some other example embodiments, gateway device 10 may communicate with parent device 30 to determine whether the child has in fact completed the given task successfully (e.g., to confirm child has actually performed the indicated chore(s) needed to gain more Internet access time). Further still, in the case of tasks in which computerized confirmation of completion would be difficult or manual confirmation by parents would be inconvenient, the task completion check may simply be trust-based (honor system), whereby the child confirms completion of the task on their child device 40 after successfully performing the given chore (and optionally displaying a “warning” on child device 40 indicating that there may be consequences for lying or incomplete tasks, such as reduced Internet time or loss of use of the child devices, if the parent later discovers that the chore was not actually performed or was performed improperly by the child, for example).
[0075] In an optional step S390, after the passing/completion determination is made at step S380 above (whether such determination is made by gateway device 10 itself, or by communicating with learning management server 20b or parent device 30, or other trust-based task completion check), gateway device 10 may communicate with one or both of servers 20a, 20b to provide various updates to the system based on said results of said quiz or completion of said task, including but not limited to recording test results, monitoring Internet activity logs, updating leaderboards, adding more time to the child account, editing databases, or combinations thereof. In some example embodiments, learning management server 20b may communicate directly with authentication server 20a to provide updates, such as allocating additional time to the child account when that child has successfully passed the quiz or completed the task.
[0076] At this point, upon said second time limit being reached (step S340) and gateway device blocking access to Internet for child device (step S350), the process may return to steps S360-S380, where gateway device 10 communicates with learning management server 20b to retrieve another quiz or task (S360), communicates with child device 40 to present said other quiz or task (S370), and determines whether the threshold passing score for the other quiz is reached or the other task has been completed successfully (S380).
[0077] In some example embodiments, certain steps of the above-described process can be repeated multiple times without limitation throughout a given time period. However, in some other example embodiments, parent device 30 may be used to setup daily, weekly, monthly, etc. total Internet access time limits on a per child account basis. Therefore, in a variation of the above-described process, there may be a further determination made (e.g., by the gateway device or the authentication server) regarding whether a child account has reached its maximum daily/weekly/monthly allotment of total Internet access time. If the child account has not yet reached its maximum total Internet access time limit, the process of administering additional quizzes or tasks can continue as described above. However, if the child account has reached its maximum total Internet access time limit for the given time period (e.g., day/week/month), gateway device 10 may continue to block access to the Internet for child device 40 associated with said child account for the remainder of the given time period and display a corresponding notification. In this case, the time limits will eventually be reset automatically for the next time period (day/week/month), and the above-described process can then be repeated for the next time period in the same manner.
[0078] According to various example embodiments described above, the present invention provides an intermittent learning system and an easier way for parents to manage their children's time online without having to physically take away or deactivate devices from the Internet. System 100, via the functions of gateway device 10 and the server 20 in particular, provide a mechanism that can limit and allocate more time usage for accessing the Internet or specific websites or applications to a child device based on completing quizzes or tasks. The above-described system includes a built-in captive learning portal which gives the child the ability to unlock further Internet usage time themselves by successfully completing various quizzes or tasks, and which allow parents to automatically lock and unlock Internet access for children based on pre-determined variables to allow further access, which is much more convenient than conventional methods that require parents to manually block and unblock each child device on a regular basis. Additional developments within the scope of the present invention described herein may include, but are not limited to, further development of the learning management system, improvements for child device management and Internet access time management settings, improvements to graphical user interfaces, and/or adding enhanced functionality to different types of quizzes or tasks.
[0079] Having described the exemplary system 100 and corresponding exemplary methods 200 and 300 for implementing the network monitoring and captive learning portal processes set forth above among other features, an exemplary computer environment for implementing the described design and execution is presented next.
[0080]
[0081] The system memory 736 is also connected to bus 724 and may include read only memory (ROM), random access memory (RAM), an operating system 744, a basic input/output system (BIOS) 746, application programs 748 and program data 750. The computer 712 may further include a hard disk drive 752 for reading from and writing to a hard disk, a magnetic disk drive 754 for reading from and writing to a removable magnetic disk (e.g., floppy disk), and an optical disk drive 756 for reading from and writing to a removable optical disk (e.g., CD ROM or other optical media). The computer 712 may also include USB drives 745 and other types of drives for reading from and writing to flash memory devices (e.g., compact flash, memory stick/PRO and DUO, SD card, multimedia card, smart media xD card), and a scanner 758 for scanning items such as still image photographs to be downloaded to computer 712. A hard disk drive interface 752a, magnetic disk drive interface 754a, an optical drive interface 756a, a USB drive interface 745a, and a scanner interface 758a operate to connect bus 724 to hard disk drive 752, magnetic disk drive 754, optical disk drive 756, USB drive 745 and scanner 758, respectively. Each of these drive components and their associated computer-readable media may provide computer 712 with non-volatile storage of computer-readable instruction, program modules, data structures, application programs, an operating system, and other data for computer 712. In addition, it will be understood that computer 712 may also utilize other types of computer-readable media in addition to those types set forth herein, such as digital video disks, random access memory, read only memory, other types of flash memory cards, magnetic cassettes, and the like.
[0082] Computer 712 may operate in a networked environment using logical connections with network 702 (e.g., Internet 5 of
[0083] From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects hereinabove set forth together with other advantages which are obvious and which are inherent to the method and apparatus. It will be understood that certain features and sub combinations are of utility and may be employed without reference to other features and sub combinations. This is contemplated by and is within the scope of the claims. Since many possible embodiments of the invention may be made without departing from the scope thereof, it is also to be understood that all matters herein set forth or shown in the accompanying drawings are to be interpreted as illustrative and not limiting.
[0084] The constructions described above and illustrated in the drawings are presented by way of example only and are not intended to limit the concepts and principles of the present invention. As used herein, the terms “having” and/or “including” and other terms of inclusion are terms indicative of inclusion rather than requirements.
[0085] While the invention has been described with reference to preferred embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof to adapt to particular situations without departing from the scope of the invention. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope and spirit of the appended claims.