SYSTEMS AND METHODS FOR IMPROVING MEDIA FILE ACCESS OVER A NETWORK
Systems and methods are disclosed for serving fresh media content while minimizing Internet traffic by periodically checking content freshness between a local server and a remote server; if a stale content exists on the local server, replacing the stale content with a fresh content from the remote server; and serving the fresh content from the local server.
The advent of media rich digital content is changing the face of Internet applications. Various applications such as training and education require users to access media contents such as photographs, streaming audio and video, and training materials. Rich media streaming involves various types of media such as audio, video, text, and/or images.
For example,
Media streaming involves various network conditions with different bandwidths and delays. In streaming, a receiving device reproduces sound or video in real time as the signal is downloaded over the Internet, as opposed to storing the signal in a local file first. A plug-in to a Web browser, such as Netscape Navigator, decompresses and plays the data as it is transferred to a personal computer over the Internet. Streaming audio or video avoids the delay entailed in downloading an entire file and then reproducing it with a helper application. Streaming requires a fast connection and a computer with sufficient processing capability to execute the decompression algorithm in real-time.
Computer networks, such as the Internet, now carry data for multimedia applications, which are particularly latency-sensitive, or vulnerable to delay. For example, a delay experienced during the transmission of video data interrupts the video enjoyment experience. In contrast, a delay in downloading a Web page is less problematic to the user. Conversely, voice transmission requires less bandwidth (bits per second) than receiving a Web page, for example, but does require an uninterrupted amount of bandwidth.
U.S. Pat. No. 6,671,732 discloses a method and an apparatus for tagging rich media content so that receivers of electronic information on electronic networks can specify content preferences. The transmission of content is controlled by the setting of priorities by the user, according to different forms of content, and then the system deletes content beginning with that of lowest priority. Content can be deleted because of poor communication conditions, or proactively to effectively highlight aspects of the communicated information in conformance to the desires of the user.
SUMMARYSystems and methods are disclosed for serving fresh media content while minimizing Internet traffic by periodically checking content freshness between a local server and a remote server. If stale content exists on the local server, the local server replaces stale content with fresh content from the remote server and serves the fresh content from the local server.
Advantages of the system may include one or more of the following. The system efficiently serves media files from a remote local network in place of downloading large media files over the Internet. By doing so, the system greatly reduces the Internet bandwidth requirement of the customer while still providing a content rich experience involving large multi-media files. The system works with existing network infrastructure. The system allows customers such as schools that have limited Internet bandwidth and/or heavily congested Internet usage during assessment times to operate more effectively. The system selectively serves static rich media files, which are usually large in file size, locally and will only send the assessment testing data or instructional-status data over the Internet connection. The net result will be that the Internet bandwidth usage will be greatly reduced. The assessment testing data or instructional-status data in turn provides educators, parents and employers with an immediate feedback, an ability to create and edit these tools at any time, anywhere, an ability to score and store the data in a remote location and to upload to a computer at a later time, and an ability to aggregate the data from multiple scorers.
Other advantages may include one or more of the following. The reading assessment and reading instruction systems allows the teacher to expand his or her reach to struggling readers and acts as a reading specialist when too few or none are available. The math assessment and math instructional systems allows the teacher to quickly diagnose the student's number and measurement skills and shows a detailed list of skills mastered by each math construct. Diagnostic data is provided to share with parents for home tutoring or with tutors or teachers for individualized instructions. Diagnostic data is used to provide direct online instruction that is differentiated for each student. All assessment reports are available at any time. Historical data is stored to track progress, and reports can be shared with tutors, teachers, or specialists. For parents, the reports can be used to tutor or teach your child yourself. The web-based system can be accessed at home or when away from home, with no complex software to install.
Other advantages and features will become apparent from the following description, including the drawings and claims.
Referring now to the drawings in greater detail, there is illustrated therein structure diagrams for an educational adaptive assessment and instruction system and logic flow diagrams for the processes a computer system will utilize to complete various educational or training transactions. It will be understood that the program is run on a computer that is capable of communication with consumers via a network, as will be more readily understood from a study of the diagrams.
During operation, a student logs on-line and based on the parameters, is presented with a presentation (instructions, lessons, etc.) and one or more follow-up questions selected from a set of questions. The presentation can be a multimedia presentation including sound, image, animation, video and text. The multimedia presentation or content is typically stored in the local server 50. However, the content may be periodically updated, and thus the local server 50 needs to periodically refresh its content by comparing and downloading revised content on the remote server 10.
The student is either tested for comprehension of the concept and the diagnostic engine presents additional questions in this concept based on the student's performance on earlier questions OR the student is given a lesson and based on his/her performance/completion is given follow up lessons. The process is repeated for additional concepts based on the test-taker's performance on earlier concepts. When it is determined that additional concepts do not need to be covered for a particular test-taker, the test halts. Prescriptive recommendations and diagnostic test results are compiled in real-time when requested by parents or teachers by data mining the raw data and summary scores of any student's particular assessment.
In this manner, the students start with the first lesson. When they are done with the first lesson, the system checks if the student is done with the current test so that the system can determine the next lesson. The students go through the new lesson, and the process repeats until all lessons have been completed. The continue touching of the system at the completion of each lesson is necessary so the system knows how the students are doing and redirect the student in case the teacher changed the student's lesson plan or the student's performance warrants a change.
-
- 1) number of subtests in an assessment
- 2) number of sets per subtest
- 3) number of questions per set (can be variable between sets)
- 4) student parameters to use to determine assessment starting point
- a. i.e. grade level of student, age of student
- b. i.e. previous summary scores of student
- 5) transition between subtest parameters which determines how student will transition from one subtest to the next and whether subtests may be skipped or included.
- 6) Movement within a subtest which examines how students are moved within a subtest based on their performance on any particular set or multiple sets.
- 7) Termination conditions for each subtest and for the entire assessment
- 8) Graphical interface parameters such as trigger conditions for loading particular learning modules on the student's computer to deliver the questions and answers.
- 9) Audio parameters which determine audio file versions to be presented to a particular test-taker. For example, younger test-takers hear simple instructions and more motivational words while older test-takers hear more straight forward instructions that may use language at a higher grade level.
- 10) Summary score formula from each subtest if it is being scored.
Once parameters have been loaded, a student assessment test is initiated and the student is directed to a live assessment (120). The student enters the system through three pathways: For example, the student can log-in using a valid student log-in and password directly into the system. A teacher who is already logged into a teacher management application can allow the student to begins or continue a student assessment. Third-party companies who are suitably authorized can initiate an external account handshake which delivers a student directly into the system. This one way communication sends student information and a security key code. In real-time validation occurs and the assessment is begun.
The assessment process is initiated and a presentation and/or a question is presented to the student (130). The assessment can be based on his/her grade level, age, student type, or previous test scores from a completed assessment of the same type. The student responds with answers to questions or items and the system determines whether the student's response is correct or incorrect (140).
Any of the following conditions or all may be used to determine whether a response is correct or incorrect: 1) the system can compare the multiple choice question's answer to the student's multiple choice selection; 2) the system can compare a typed student response and compare the typed response to a question's correct answer for exact and/or partial match conditions; and 3) the system can examine student response time and compare the response time to a time limit conditions.
The student receives the next question from the system (150) and the system evaluates completed sets and determines set changes within a subtest (160). Sets can be made up of one or more questions. For example, the sets can be based on a percentage of correct responses in a set can move students to high or lower sets at variable jump sizes. The set can also be selected based on results from other completed or partially completed subtests can affect set changes in this current subtest. Alternatively, ceiling conditions determined by student's age, grade, type can affect set changes.
The student goes back to step four in the new set or is transitioned to next subtest when the system determines transitions appropriate (170). The following conditions may be used to determine when a transition should occur:
-
- 1) Mastery of a set is determined by specific assessment subtest parameters.
- 2) Adjacent set results of a mastered set above a non-mastered set can trigger termination of a subtest
- 3) Pattern of mastery and/or non-mastery of adjacent sets can determine termination of a subtest.
- 4) Completion of highest level set within a subtest can determine termination of a subtest.
- 5) Total number of errors in a set may trigger termination of a subtest.
- 6) Pattern of errors of a subtest may trigger termination of a subtest.
A starting point within a new subtest is determined by multiple parameters and then the new subtest begins (180). In one embodiment, the following are parameters may be used: 1) summary scores of a completed/terminated earlier subtest in the same assessment; 2) summary score of the same subtest in an earlier administered completed assessment; or calculations on multiple summary scores on multiple subtests that have just been completed in the same assessment.
The system determines whether the assessment is completed (190). Various conditions can affect the completion of the assessment. For example, if all subtests have been completed, skipped, or terminated the assessment is finished. Alternatively, if all subtests that have been marked by the test administrator or teacher have been completed then the assessment is finished. This is for the cases where test administrators may target only certain subtests to be given in an assessment that contains multiple subtests.
Optionally, the students who completed the assessment may be sent to a reward page that rewards him/her with entertaining graphics for completing the assessment. The rewards page is selected based on the student's age, grade, type, and assessment type. The student can also transferred to one of the following: a log out page; an instructional program related to the assessment and uses the data for differentiation; a third party student management system from where the student originated; or a summary page that provides the student with prescriptive or summary information on his or her assessment results.
One embodiment of
The above embodiment of the adaptive diagnostic engine is an expert system that adaptively determines the set of questions to be presented to the student based on his or her prior performance. The expert system is based on rules that are communicated as parameters to the engine prior to running the assessment. Instead of the expert system, other data mining systems can be used. For example, in one embodiment, manual classification techniques can be used. Manual classification requires individuals to assign each output to one or more categories. These individuals are usually domain experts who are thoroughly versed in the category structure or taxonomy being used. In other embodiments, an automated classifier can be used to mine data arising from the test results. The classifier is a k-Nearest-Neighbor (kNN) based prediction system. The prediction can also be done using Bayesian algorithm, support vector machines (SVM) or other supervised learning techniques. The supervised learning technique requires a human subject-expert to initiate the learning process by manually classifying or assigning a number of training data sets of image characteristics to each category. This classification system first analyzes the statistical occurrences of each desired output and then constructs a model or “classifier” for each category that is used to classify subsequent data automatically. The system refines its model, in a sense “learning” the categories as new images are processed. Alternatively, unsupervised learning systems can be used. Unsupervised Learning systems identify groups or clusters of related image characteristics as well as the relationships between these clusters. Commonly referred to as clustering, this approach eliminates the need for training sets because it does not require a preexisting taxonomy or category structure.
The above system can be implemented as one or more computer programs. Each computer program is tangibly stored in a machine-readable storage media or device (e.g., program memory or magnetic disk) readable by a general or special purpose programmable computer, for configuring and controlling operation of a computer when the storage media or device is read by the computer to perform the procedures described herein. The inventive system may also be considered to be embodied in a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
Portions of the system and corresponding detailed description are presented in terms of software, or algorithms and symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the ones by which those of ordinary skill in the art effectively convey the substance of their work to others of ordinary skill in the art. An algorithm, as the term is used here, and as it is used generally, is conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of optical, electrical, or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, or as is apparent from the discussion, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention has been described in terms of specific embodiments, which are illustrative of the invention and not to be construed as limiting. Other embodiments are within the scope of the following claims. The particular embodiments disclosed above are illustrative only, as the invention may be modified and practiced in different but equivalent manners apparent to those skilled in the art having the benefit of the teachings herein. Furthermore, no limitations are intended to the details of construction or design herein shown, other than as described in the claims below. It is therefore evident that the particular embodiments disclosed above may be altered or modified and all such variations are considered within the scope and spirit of the invention. Accordingly, the protection sought herein is as set forth in the claims below.
Claims
1. A method to serve fresh media content, comprising:
- a. periodically checking content freshness between a local server and a remote server;
- b. if a stale content exists on the local server, replacing the stale content with a fresh content from the remote server; and
- c. serving the fresh content from the local server.
2. The method of claim 1, wherein the checking of content freshness is done during an off-peak hour.
3. The method of claim 1, comprising modifying a user's response by directing matching requests to the local server and forwarding non-matching requests to the Internet.
4. The method of claim 1, comprising controlling traffic using one or more proxies.
5. The method of claim 4, comprising providing one or more reverse proxies.
6. The method of claim 4, comprising forcing certain requests to route through the local server.
7. The method of claim 1, comprising communicating through a primary local area network (LAN) directly coupled to the Internet.
8. The method of claim 7, wherein the local server is coupled to the LAN.
9. The method of claim 7, comprising communicating through one or more sub-LANs coupled to the primary LAN.
10. The method of claim 7, wherein the local server is coupled to one of the sub-LANs.
11. The method of claim 1, comprising providing educational adaptive diagnostic assessment of student performance.
12. The method of claim 11, comprising:
- a. receiving one or more parameters for an assessment and one or more sets of test questions for a sub-test;
- b. selecting a set of test questions from the sub-test;
- c. presenting the selected set of test questions to the student and collecting responses thereto;
- d. generating a score for the responses to a completed set;
- e. applying the score to select either the current set of questions or a new set of test questions; and
- f. using a final score for the sub-test to select a new set of questions in a subsequent sub-test.
13. The method of claim 12, wherein the parameters comprise one or more of: a number of subtests; a number of sets of questions for each subtest; a number of questions per set of questions; an assessment starting point; a grade level; a student age; a prior score; a parameter specifying a transition between subtests; a parameter specifying a movement within a subtest; a termination condition for each subtest; a termination condition for the assessment; a graphical interface parameter; an audio parameter; a summary score formula.
14. The method of claim 11, wherein a student responds to test questions through a teacher management application.
15. The method of claim 14, wherein the student responds to test questions through a third party application having a security key code.
16. The method of claim 14, wherein the student begins the assessment based on one of: a grade level, an age, a student type, a previous test score from a completed assessment.
17. A system, comprising:
- a. a remote server to store fresh content;
- b. a wide area network coupled to the remote server; and
- c. a local server coupled to the wide area network, the local server periodically replacing stale content with fresh content from the remote server and serving the fresh content in response to a request from one or more clients coupled to the local server.
18. The system of claim 17, wherein the local server comprises one or more proxies and reverse proxies.
19. The system of claim 17, comprising a primary local area network (LAN) directly coupled to the Internet, wherein the local server is coupled to the LAN.
20. The method of claim 19, comprising one or more sub-LANs coupled to the primary LAN, wherein the local server is coupled to one of the sub-LANs.
Type: Application
Filed: Nov 6, 2007
Publication Date: May 7, 2009
Inventors: Richard William Capone (Kensington, CA), Allan William Heaton (Bend, OR)
Application Number: 11/936,068
International Classification: G09B 7/00 (20060101); G06F 15/16 (20060101);