Patent Description:
Various web-based services are already known. For example, Jpn. KOKAI Publication No. <CIT> discloses a web-based golf navigation service. In this service, a login ID and a password are transmitted to a management server via a terminal device carried by a golf player. Upon receiving the login ID and the password, the management server obtains corresponding booking information based on the login ID, the password, and information on the date of receipt; extracts information on the name of the player from the booking information; and transmits the extracted information to the terminal unit. If a request to transmit the name of an accompanying person is received, the management server extracts information on the name of the accompanying person from the booking information and transmits the extracted information to the terminal device. Thereby, the name of the player and the name of the accompanying person are automatically input to a scorecard.

Typically, a web service that uses information stored on a server uses IDs, etc. for identifying the individual users. On the other hand, for web services used in educational institutions, it may not be desirable to use IDs, etc. for identifying the individual users, from the viewpoint of protecting personal information of users (in particular, students). Thus, there is a demand for a web service that can be used by users who are not assigned with IDs, etc. for identifying the individual users.

Document <CIT> provides a survey tool in which a unique URL is created for each customer and placed in the email to that customer such that the customer may click on the URL and link to the survey questionnaire on the web server without having to sign on with a password or other authentication. Document <CIT> is directed to a method of receiving and organizing survey answers.

Embodiments and examples not falling under the scope of the independent claims are for illustrational purposes only.

The components in the drawings are not necessarily to scale relative to each other.

An embodiment of the present invention will be described with reference to the accompanying drawings. The present embodiment relates to a web application used in, for example, school education. The web application allows teachers to prepare teaching materials, etc. for classrooms or for homework assignments and to check the homework assignments, and allows students to use the teaching materials and answer the homework assignments and submit the answers. The web application is prepared in a server, and is provided as a web service. A teacher uses the web application by accessing the server using, for example, a first terminal on which the web browser runs. The teacher can edit, through the first terminal, a teaching material as a first content which is stored in the server and to which a first address is assigned. A student uses the web application by accessing the server using, for example, a second terminal on which the web browser runs. The student can edit, through the second terminal, an answer to a homework assignment as a second content which is stored in the server and to which a second address is assigned. Here, a mathematics teaching material will be taken as an example; however, the embodiment is similarly applicable to teaching materials of other subjects of study.

<FIG> is a diagram schematically showing a configuration example of a teaching material system <NUM> including a server <NUM> and a plurality of terminals, according to the embodiment. <FIG> shows a case where the terminals include a first terminal <NUM>, a second terminal <NUM>, and a third terminal <NUM>. The number of the terminals is discretionary. The server <NUM> and the terminals are connected via a network <NUM>, such as the Internet.

Each of the terminals is a device such as a personal computer (PC), a tablet information terminal, a smart phone, etc. A web browser runs on each terminal. Each terminal uses the web browser to access the server <NUM> via the network <NUM>, such as the Internet, and runs a web application.

The first terminal <NUM>, the second terminal <NUM>, and the third terminal <NUM> are equivalent. As an example, a configuration of the first terminal <NUM> will be described. As shown in <FIG>, the first terminal <NUM> includes a central processing unit (CPU) <NUM>, a read-only memory (ROM) <NUM>, a random-access memory (RAM) <NUM>, a storage <NUM>, an input device <NUM>, a display <NUM>, and a communication device <NUM>, which are connected to each other via a bus line <NUM>. The CPU <NUM> performs, for example, various types of signal processing. Instead of or together with the CPU, various types of integrated circuits, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and a graphics processing unit (GPU), may be used. That is, various types of processors may be used in the first terminal <NUM>. The ROM <NUM> stores, for example, a start-up program. The RAM <NUM> functions as a main memory of the CPU <NUM>. As the RAM <NUM>, a dynamic RAM (DRAM), a static RAM (SRAM), etc., may be used. As the storage <NUM>, a hard disk drive (HDD), a solid-state drive (SSD), an embedded MultiMediaCard (eMMC), etc., may be used. The storage <NUM> stores various types of information, such as programs and parameters used in the CPU <NUM>. The RAM <NUM> and the storage <NUM> are not limited thereto, and may be replaced with various types of storage devices. The input device <NUM> is, for example, a keyboard, a mouse, a touch panel, etc. The display <NUM> is, for example, a liquid crystal display, an organic EL display, etc. The communication device <NUM> is used for communicating with a device external to the first terminal <NUM>. The communication device <NUM> establishes a connection with, for example, the Internet.

As shown in <FIG>, the server <NUM> is an information processing apparatus comprising a processor <NUM>, a ROM <NUM>, a RAM <NUM>, a storage <NUM>, and a communication device <NUM>, which are connected to each other via a bus line <NUM>. The processor <NUM> performs various types of signal processing. The ROM <NUM> stores information used for operations of the processor <NUM>. The RAM <NUM> functions as a main memory of the processor <NUM>. Various types of storage media may be used as the storage <NUM>. The storage <NUM> stores various types of information, such as programs and parameters used in the processor <NUM>. The storage <NUM> also stores a database <NUM>. The database <NUM> includes, for example, a material data management table <NUM>, a material data table <NUM>, a homework data management table <NUM>, and a homework submission management table <NUM>, which will be described later. The communication device <NUM> establishes a connection with, for example, the Internet.

A description will now be given of operations according to the present embodiment.

First, the operation of the processor <NUM> of the server <NUM> when a teacher operates a terminal to access a teacher's web page will be described, with reference to the flowchart shown in <FIG>. For the sake of simplicity, the terminal operated by the teacher will be referred to as the "teacher's terminal".

In step S101, the processor <NUM> causes the teacher's terminal to display a login screen. Teachers who use the web service of the present embodiment are assigned with unique IDs and corresponding passwords. <FIG> shows an example of a login screen <NUM>. The login screen <NUM> includes an ID entry field <NUM> to enter an ID, and a password entry field <NUM> to enter a password. The login screen <NUM> further includes an OK icon <NUM>, which is operated to transmit the entered ID or password, and a cancel icon <NUM> to cancel the login. A teacher operates the teacher's terminal on which the login screen <NUM> is displayed, enters his or her ID and password, and selects the OK icon. At this time, the teacher's terminal transmits the ID and password to the server <NUM>.

In step S102, the processor <NUM> determines whether or not the teacher's terminal is to be logged in, namely, whether or not a valid combination of ID and password has been received from the teacher's terminal. If it is determined that the teacher's terminal is not to be logged in, the processing flow returns to step S101, and waits for login. If it is determined that the teacher's terminal is to be logged in, the processing flow advances to step S103.

In step S103, the processor <NUM> causes the teacher's terminal to display a management screen. <FIG> shows an example of the management screen <NUM>. The management screen <NUM> includes a thumbnail image group <NUM>. The thumbnail image group <NUM> includes a plurality of thumbnail images <NUM>. Each of the thumbnail images <NUM> shows a material created by a teacher. Each thumbnail image <NUM> may include, for example, a material title indication <NUM>, a creator indication <NUM>, and an update time indication <NUM>, etc. If the material is specified as "homework", as will be described later, the thumbnail image <NUM> may include an indication <NUM> indicating the number of days left until the deadline for the homework assignment and the number of answers that have been submitted. The management screen <NUM> includes a create icon <NUM> for creating a new material.

The teacher performs various types of operations on the management screen <NUM> displayed on the teacher's terminal. For example, to create a new material, the teacher selects a create icon <NUM>. To edit a material that has already been created, the teacher selects a thumbnail image <NUM> of the material to be edited. The web application of the present embodiment has a function of confirming the homework submission status, etc. regarding the material assigned as homework. By selecting "SUBMISSION STATUS DETAILS" of a particular material, the teacher can confirm the submission status, etc. regarding the material. The submission status details can be selected from a menu that appears upon, for example, a right-click mouse operation while the pointer is over the thumbnail image <NUM> of the material.

In step S104, the processor <NUM> determines whether or not creation of a new material has been selected. If creation of a new material has not been selected, the processing flow advances to step S107. If creation of a new material has been selected, the processing flow advances to step S105. In step S105, the processor <NUM> creates new material data. In step S106, the processor <NUM> performs a material edit process, in which the created material is edited. Details of the material edit process will be described later. After the material edit process, the processing flow advances to step S107.

In step S107, the processor <NUM> determines whether or not edition of a material has been selected. If edition of a material has not been selected, the processing flow advances to step S109. If edition of a material has been selected, the processing flow advances to step S108. In step S108, the processor <NUM> performs a material edit process. Subsequently, the processing flow advances to step S109.

In step S109, the processor <NUM> determines whether or not confirmation of the homework submission status has been selected. If confirmation of the homework submission status has not been selected, the processing flow advances to step S111. If confirmation of the homework submission status has been selected, the processing flow advances to step S110. In step S110, the processor <NUM> performs a submission status confirmation process. Details of the submission status confirmation process will be described later. After the submission status confirmation process, the processing flow advances to step S111.

In step S111, the processor <NUM> determines whether or not a logout operation has been performed by the teacher. If a logout operation has not been performed, the processing flow returns to step S103. That is, while the login is in effect, the processing from step S103 to step S111 is repeated. If it is determined that a logout operation has been performed, a logout process is performed, and the processing flow returns to step <NUM>. That is, the teacher's terminal is caused to display a login screen until login is performed again.

<FIG> respectively show examples of the material data management table <NUM>, the homework data management table <NUM>, the homework submission management table <NUM>, and the material data table <NUM>.

The material data management table <NUM> shown in <FIG> is a table containing, for each teaching material, information such as a data ID, a teacher ID, a material ID, a state of the material, and a URL for publication. When material data is created in step S105, for example, a new row of material data is added to the material data management table <NUM>. The contents of the material data are separately stored in the material data table <NUM> shown in <FIG>, as will be described later.

The data ID is an ID uniquely assigned to each item of material data. The teacher ID is an ID assigned to a teacher who has created the material data. As an example, <FIG> shows three items of material data created by the teacher assigned with the ID "T0001". The material ID is an ID assigned to each material. The material ID may be an ID associated with the teacher ID, as in the example shown in <FIG>.

In the web application of the present embodiment, a material may be set to one of the three states: "unpublished", "homework", and "published". The "unpublished" is a state in which the material cannot be viewed by anyone except the teacher who has created the material, since the material is in the process of being created by the teacher, or has been completed but should not be published to students in view of the progress of the class, for example. The "homework" is a state in which the material can be viewed by students, and the students can create answers, etc. thereto, and submit the answers, etc. to the teacher. The material in the "published" state is given unique address information, such as the URL for publication. The "published" is a state in which the material can be viewed only by users who know the address. A password may be set to view a material in the "published" state.

The information forming the contents of materials is stored in the material data table <NUM> shown in <FIG>. This information is changed in the material edit process in step S106 or S108. <FIG> shows a material screen <NUM>, which is a display example of the material edited in the material edit process. In the present embodiment, the materials are managed as sticky notes, and the material screen <NUM> includes a plurality of sticky notes. The sticky notes are categorized into, for example, memo notes, graph notes, geometry notes, and equation notes. A teacher and a student can create a desired object by creating a note corresponding to an object to be created, and then performing an operation on the created note. The memo note is a note on which a text such as a comment is shown. In the example of <FIG>, a memo note <NUM> containing the text "teacher T0001's material" is included in the material. The graph note and the geometry note are notes equipped with a user interface that allows objects such as graphs and geometric shapes to be easily created. In the example of <FIG>, the material includes a graph note <NUM> including a graph indication area in which the graph "y = x<NUM> + x" is shown. The geometry note (not shown in the drawings) is equipped with a user interface that allows basic shapes such as a triangle, a circle, and a cone to be created through a simple operation. The equation note is a note created in association with the graph note and is equipped with a user interface that allows a graph and a geometric shape to be created based on the equation. In the example of <FIG>, the material includes an equation note <NUM> including the equation "y = x<NUM> + x".

These items of information on the notes are stored in the material data table <NUM>. The material data table <NUM> contains, for each note, information such as a note ID, a material ID/submission ID, a data type, data contents, and a homework editability flag. The note ID is an ID uniquely assigned to each note. The material ID/submission ID is a material ID or a submission ID. The material ID corresponds to the material ID managed by the material data management table shown in <FIG>. The submission ID is an ID uniquely assigned to a submission created by a student for a material set as "homework".

The data type represents one of "memo" corresponding to the memo note, "equation" corresponding to the equation note, and "graph" corresponding to the graph note. The data contents represent the contents of the note.

The data corresponding to the memo note <NUM> is the data assigned with the note ID "S0001". The data assigned with the note ID "S0001" contains the character string "teacher T0001's material" as the data contents. Based on this character string, the material screen <NUM> displays the text "teacher T0001's material" on the memo note <NUM>.

The data corresponding to the equation note <NUM> is the data assigned with the note ID "S0002". The data assigned with the note ID "S0002" contains the equation "y = x ^ <NUM> + x" as the data contents. Based on this equation, the material screen <NUM> displays the equation "y = x<NUM> + x" on the equation note <NUM>.

The data corresponding to the graph note <NUM> is the data assigned with the note ID "S0003". The data assigned with the note ID "S0003" contains the equation "y = x ^ <NUM> + x" as the data contents. Based on this equation, the material screen <NUM> displays a graph corresponding to "y = x<NUM> + x" on the graph note <NUM>.

As will be described later, a material set as "homework" may include data that should not be edited by students, such as contents of a memo note prepared by a teacher. The homework editability flag is set as "non-editable" for data that should not be edited by students. The data for which the homework editability flag is set as "non-editable" is prohibited from being altered by students, etc..

The material edit process will be described with reference to the flowchart shown in <FIG>.

In step S201, the processor <NUM> determines whether or not a note creation operation has been performed on the teacher's terminal. The note creation operation can be performed by selecting a corresponding note creation icon from a menu that appears upon, for example, a right-click mouse operation while the pointer is in the material screen <NUM>. If the note creation operation has not been performed, the processing flow advances to step S204. If the note creation operation has been performed, the processing flow advances to step S202.

In step S202, the processor <NUM> performs a note creation process. At this time, one row of data is added to the material data table <NUM> shown in <FIG>. If the memo note create icon has been selected, the data type of the data is specified as "memo". If the graph note create icon has been selected, the data type of the data is specified as "graph". If the geometry note create icon has been selected, the data type of the data is specified as "geometry". If the equation note create icon has been selected, the data type of the data is specified as "equation".

In step S203, the processor <NUM> performs an edit process of the created note. The processor <NUM> sets a text, a graph, a shape, and an equation respectively entered into a memo note, a graph note, a geometry note, and an equation note on the teacher's terminal as the data contents of the note.

The equation note edit process may include creation of a graph note. If graph note creation has been selected from a menu that appears upon, for example, a right-click mouse operation while the pointer is over the equation note <NUM>, a graph note is created. On this graph note, a graph corresponding to the data on the equation note is plotted. Subsequently, the processing flow advances to step S204.

In step S204, the processor <NUM> determines whether or not a note edit operation has been performed on the teacher's terminal. The note edit operation can be performed by selecting one of the memo note, the graph note, the geometry note, and the equation note, e.g., an equation note <NUM> by, for example, a double-click mouse operation on the material screen <NUM>. If the note edit operation has not been performed, the processing flow advances to step S206. If the note edit operation has been performed, the processing flow advances to step S205.

In step S205, the processor <NUM> performs an edit process of the selected note. The processor <NUM> sets a text, a graph, a shape, and an equation respectively entered into a memo note, a graph note, a geometry note, and an equation note on the teacher's terminal as the data contents of the note. Subsequently, the processing flow advances to step S206.

In step S206, the processor <NUM> determines whether or not a state change operation has been performed on the teacher's terminal. The state change operation can be performed by selecting "CHANGE STATE" from a menu that appears upon, for example, a right-click mouse operation while the pointer is in the material screen <NUM>. If the state change operation has not been performed, the processing flow advances to step S208. If the state change operation has been performed, the processing flow advances to step S207.

In step S207, the processor <NUM> performs a state change process. For example, the processor <NUM> shows three states, i.e., "unpublished", "homework", and "published" on the teacher's terminal, and determines the state after the change in accordance with an entry on the teacher's terminal. In accordance with the determined state, the processor <NUM> changes the state information contained in the material data management table <NUM>. If the state is set as "published", the processor <NUM> assigns a URL for publication, and stores it as "publication URL" information in the material data management table.

If the state is set as "homework", the processor <NUM> adds a row of data to the homework data management table <NUM> shown in <FIG>. As shown in <FIG>, the homework data management table <NUM> contains, for each item of homework data, information such as a homework ID, a material ID, a deadline, a URL, and a password. The homework ID is an ID uniquely assigned to each material set as "homework". The material ID corresponds to the material ID contained in the material data management table <NUM>. By this material ID, the material contained in the material data management table <NUM> and the material contained in the homework data management table <NUM> are associated with each other. The deadline is information on the deadline for submission of the homework assignment. If "homework" is selected in the state change process, the processor <NUM> causes the material screen <NUM> to display a deadline entry screen, prompting an entry of the deadline on the teacher's terminal. If a deadline is entered on the teacher's terminal, the processor <NUM> sets the deadline as deadline information in the homework data management table <NUM>. If "homework" is selected in the state change process, the processor <NUM> assigns, to the homework data, a URL, which is a unique address given to the homework assignment, and a password, and stores the deadline in the homework data management table <NUM>. In this manner, according to the web application of the present embodiment, it is possible to manage the deadline for submission of the homework.

The setting may be configured to prohibit students from creating an answer to a homework assignment for which the deadline has passed. Moreover, the setting may be configured to prohibit students from viewing a homework assignment for which the deadline has passed. Furthermore, the setting may be configured to prohibit teachers from editing a homework assignment for which the deadline has passed.

After the state change process, the processing flow advances to step S208. In step S208, the processor <NUM> determines whether or not an address display operation has been performed on the teacher's terminal. The address display operation can be performed by selecting "DISPLAY ADDRESS" from a menu that appears upon, for example, a right-click mouse operation while the pointer is in the material screen <NUM>. If the address display operation has not been performed, the processing flow advances to step S210. If the address display operation has been performed, the processing flow advances to step S209. In step S209, the processor <NUM> causes the teacher's terminal to display an address. Here, the address to be displayed is the URL stored as "publication URL" in the material data management table <NUM> when the material is in the "published" state. If the material is in the "homework" state, the address is the URL stored in the "URL" of the homework data management table <NUM>. If the material is in the "unpublished" state, the address is not displayed. After the address display process, the processing flow advances to step S210.

In step S210, the processor <NUM> determines whether or not end of the material edit process has been entered on the teacher's terminal. If end of the material edit process has not been entered, the processing flow returns to step S201. At this time, the processing from step S201 to step S210 is repeated. If end of the material edit process has been entered, the material edit process is ended, and the processing flow returns to the process described with reference to <FIG>.

As an example, a case will be described where a homework assignment as in the homework screen <NUM> shown in <FIG> is created. Let us assume that the material ID of the homework assignment is "T0001-<NUM>". On the teacher's terminal, creation of a memo note, which appears upon a right-click operation on the homework screen <NUM>, is selected. At this time, the processor <NUM> creates data on the memo note in step S202, and allows the memo note <NUM> to be displayed on the homework screen <NUM>. In step S203, the contents corresponding to the operation on the teacher's terminal are set as the data contents of the memo note <NUM>. Thereby, data is created for which the note ID is "S0004", the material ID is "T0001-<NUM>", the data type is "memo", and the data contents are "Homework: Draw a graph of a cubic function that has only one real root", as shown in the material data table <NUM> shown in <FIG>. If "non-editable" is selected from a menu that appears upon a right-click operation over the memo note <NUM>, the processor <NUM> sets the homework editability flag of the data assigned with the note ID "S0004" as "non-editable". If this material is set as "homework" in step S207, the data on the material is added to the homework data management table <NUM> shown in <FIG>, and the deadline, the URL, and the password are set.

The teacher informs the students of the URL and the password of the homework assignment in a classroom. The students bring home the information on the URL and the password, and access the URL informed by the teacher on the student's terminal.

The operation of the processor <NUM> of the server <NUM> will be described with reference to the flowcharts shown in <FIG> and <FIG>, when a student has operated the terminal to access the homework data (URL of the homework assignment) in the server <NUM>. For the sake of simplicity, the terminal operated by the student will be referred to as "student's terminal".

In step S301, the processor <NUM> causes the student's terminal to display an authentication screen. <FIG> shows an example of an authentication screen <NUM> displayed on the student's terminal. The authentication screen <NUM> includes a password entry field <NUM> and an OK icon <NUM>. A student operates the student's terminal, enters a password informed by the teacher in the password entry field <NUM>, and selects the OK icon <NUM>. At this time, the student's terminal transmits the password to the server <NUM>.

In step S302, the processor <NUM> determines whether or not to permit access from the student's terminal to the homework data in the server <NUM>. That is, the processor <NUM> determines whether or not the correct password associated with the URL has been received from the student's terminal. If the correct password has not been received, the processing flow returns to step S301 and stands by. If the correct password has been received, the processing flow advances to step S303.

In step S303, the processor <NUM> reads, from the material data table <NUM>, the data associated with the material ID of the homework assignment. In step S304, the processor <NUM> creates a homework screen based on the read data, and causes the student's terminal to display the homework screen.

<FIG> shows an example of the homework screen <NUM>. The homework screen <NUM> includes a memo note <NUM>. The memo note <NUM> is a note related to the homework assignment created by the teacher, and is created based on the material data table <NUM>. Accordingly, it corresponds to the material created by the teacher shown in <FIG>. The homework screen <NUM> includes a save icon <NUM>, a submit icon <NUM>, and a deadline indication <NUM>. The save icon <NUM> is an icon that is selected by a student to temporarily save the data while creating an answer to a homework assignment. The submit icon <NUM> is an icon selected by a student to submit data to the teacher after completing an answer to the homework assignment. The deadline indication <NUM> is an indication showing the deadline for submission of the homework assignment when the state of the material data is set as "homework" by the teacher.

In step S305, the processor <NUM> determines whether or not a note creation operation has been performed on the student's terminal. The note creation operation can be performed by selecting a corresponding note creation icon from a menu that appears upon, for example, a right-click mouse operation while the pointer is in the homework screen <NUM>. If the note creation operation has not been performed, the processing flow advances to step S308. If the note creation operation has been performed, the processing flow advances to step S306.

In step S306, the processor <NUM> performs a note creation process. In step S307, the processor <NUM> performs an edit process of the created note. The processor <NUM> sets a text, a graph, a shape, and an equation respectively entered into a memo note, a graph note, a geometry note, and an equation note on the student's terminal as the data contents of the note. Subsequently, the processing flow advances to step S308.

The equation note edit process may include creation of a graph note. If creation of a graph note is selected from a menu that appears upon, for example, a right-click mouse operation while the pointer is over the equation note <NUM>, a graph note <NUM> is created. On this graph note <NUM>, a graph corresponding to the data on the equation note <NUM> is plotted. Subsequently, the processing flow advances to step S308.

In step S308, the processor <NUM> determines whether or not a note edit operation has been performed on the student's terminal. The note edit operation can be performed by selecting one of the memo note, the graph note, the geometry note, and the equation note by, for example, a double-click mouse operation on the homework screen <NUM>. If the note edit operation has not been performed, the processing flow advances to step S310. If a memo note edit operation has been performed, the processing flow advances to step S309.

In step S309, the processor <NUM> performs an edit process of the selected note. The processor <NUM> sets a text, a graph, a shape, and an equation respectively entered into a memo note, a graph note, a geometry note, and an equation note on the student's terminal as the data contents of the note. Subsequently, the processing flow advances to step S310.

In the example shown in <FIG>, the students are not permitted to edit the memo note <NUM> created by the teacher, since the homework editability flag is set as "non-editable" by the teacher. The equation note edit process includes a graph note creation process. Subsequently, the processing flow advances to step S310.

In step S310, the processor <NUM> determines whether or not the save icon <NUM> has been selected on the student's terminal. If the save icon <NUM> has not been selected, the processing flow advances to step S317. If the save icon <NUM> has been selected, the processing flow advances to step S311.

In step S311, the processor <NUM> determines whether or not the answer to the homework assignment being edited by the student is new and saved for the first time. If the save operation is performed for the first time, the processing flow advances to step S312.

In step S312, the processor <NUM> creates new homework submission data. The homework submission data is managed by the homework submission management table <NUM> shown in <FIG>. If the homework submission data is created in step S312, a new row of homework submission data is added to the homework submission management table <NUM> shown in <FIG>. At this time, new data indicating the contents of a note corresponding to the homework submission data and indicating the contents of the answer to the homework assignment is added to the material data table <NUM> shown in <FIG>.

The homework submission management table <NUM> manages, for each answer to the homework assignment created by the students, items such as a submission ID, a homework ID, a status, a URL, a name, and a homework management password. The submission ID is an ID uniquely assigned to an answer created by a student. The homework ID is an ID assigned to indicate which of the homework assignments the answer is made to, and corresponds to the homework ID managed by the homework data management table <NUM> shown in <FIG>. The status indicates either "saved" or "submitted" status. The "saved" status indicates that the student is in the process of creating the answer and has not submitted the answer. The "submitted" status indicates that the student has completed creating the answer and has submitted the answer. The URL is a unique address assigned to each submission ID. The "name" is information on the student's name registered at the time of submission of the homework assignment, and is entered by the student himself or herself. The homework management password is a password requested when the data is accessed using the "URL", and is a password individually assigned to each submission ID.

The information forming the contents of the answers to the homework assignments is stored in the material data table <NUM> shown in <FIG>. As shown by the data assigned with the note IDs "S0005", "S0006", "S0007" and "S0008" in the material data table <NUM> shown in <FIG>, the data on the answers to the homework assignments created by students is managed in association with the submission IDs of the homework submission data. The data format is the same as that of the material created by the teacher. The homework editability flag set by the teacher is continuously set for the answers to the homework assignments created by students.

In step S313, the processor <NUM> assigns an address, such as a URL, and a password to the homework submission data created in step S312. The address is unique to each pair of the submission ID and the homework ID, and is automatically created and assigned. These items of data are stored in the homework submission management table <NUM>. In step S314, the processor <NUM> causes the student's terminal to display the assigned URL and password. Subsequently, the processing advances to step S317.

The student memorizes the URL and the password displayed on the student's terminal in a desired manner, e.g., by making a note of it. Through the web application of the present embodiment, a student can access the data edited by the himself or herself any time by accessing the URL. That is, when the student's terminal has accessed the URL, the authentication screen as shown in <FIG> is displayed in step S301. When the student's terminal has transmitted the password corresponding to the URL to the server <NUM>, access to the homework data in the server <NUM> is permitted. The data corresponding to the submission ID managed by the homework submission management table <NUM> is read from the material data table <NUM> in step S303, and is displayed on the student's terminal in step S304. Through the steps S305 to S309, the student can edit an answer to the homework assignment. The edited data can be saved in a process that will be described below. The URL and the password are displayed when a save operation is performed. Accordingly, the URL and the password will not be known to other people, thus preventing unauthorized access to the answer data from a third party.

If it is determined in step S311 that the save operation is performed not for the first time, the processing flow advances to step S315. The save operation being performed not for the first time means that data is already present in the homework submission management table <NUM>. In step S315, the processor <NUM> overwrites the homework submission data stored in the homework submission management table <NUM> by updating necessary information. Also, the processor <NUM> updates the data associated with the homework submission data stored in the material data table <NUM>, and adds new data associated with the homework submission data to the material data table <NUM>. In step S316, the processor <NUM> causes the student's terminal to display the URL and password. Here, the URL and the password to be displayed are the same as the URL and the password displayed when the student has made a save operation in the past. Subsequently, the processing advances to step S317.

In step S317, the processor <NUM> determines whether or not the submit icon <NUM> has been selected on the student's terminal. If the submit icon <NUM> has not been selected, the processing flow advances to step S321. If the submit icon <NUM> has been selected, the processing flow advances to step S318.

In step S318, the processor <NUM> performs a name entry process. The processor <NUM> causes the student's terminal to display a name entry field. <FIG> is an enlarged view of a part of a screen example of the student's terminal, on which a name entry field <NUM> is displayed as an example. A student enters his or her name into the name entry field <NUM>. The student's terminal transmits the entered name data to the server <NUM>.

In step S319, the processor <NUM> stores the name obtained from the student's terminal in association with the submission ID. That is, the processor <NUM> causes the homework submission management table <NUM> to store the name in the name field, and overwrites the data. In step S320, the processor <NUM> changes the status of the data that has been submitted to "submitted". Thereby, the data is set as "non-editable". By thus making the submitted data non-editable, it is possible to prevent unauthorized alteration by a third party after the student has submitted an answer to the homework assignment. By thus selecting the submit icon <NUM>, the data is set to a state indicating completion of editing. Subsequently, the processing flow advances to step S321.

In step S321, the processor <NUM> determines whether or not a logout process has been performed on the student's terminal. If a logout process has not been performed, the processing flow returns to step S305. That is, editing of the answer to the homework assignment is continued. If a logout process has been performed, the processing flow returns to step S301. That is, the processing flow stands by until access is made to the authentication screen.

A process of checking, by a teacher, an answer to a homework assignment submitted by a student will be described. This process is performed in the submission status confirmation process performed in step S110. The submission status confirmation process is performed by selecting "SUBMISSION STATE DETAILS" from a menu that appears upon a right-click mouse operation while the pointer is over the thumbnail image of the material set by the teacher as a homework assignment, on the management screen <NUM> shown as an example in <FIG>. <FIG> shows an example of a submission status confirmation process.

In step S401, the processor <NUM> causes the teacher's terminal to display details of the submission status. <FIG> shows an example of a submission status detail screen <NUM> displayed on the teacher's terminal. The submission status detail screen <NUM> includes a homework URL indication <NUM>, a submission status indication <NUM>, a submission status list <NUM>, and a close icon <NUM>.

The homework URL indication <NUM> indicates a URL of the selected homework assignment. The submission status indication <NUM> indicates the number of students who have submitted answers to the homework assignment. The submission status list <NUM> indicates a list of answers submitted by students. The submission status list <NUM> includes a submitter name list <NUM> indicating the names of students who have submitted answers to the homework assignment, and a URL field <NUM>. That is, the submission status list <NUM> shows a list of students' names who have submitted answers to the homework assignment and URLs of the respective answers. The close icon <NUM> is the icon selected by the teacher to close the submission status detail screen <NUM>.

By referring to the homework data management table <NUM>, the processor <NUM> displays, as a homework URL indication <NUM>, a URL corresponding to a homework ID that identifies a homework assignment of which submission state details are being displayed on the submission status detail screen <NUM>. Also, by referring to the homework submission management table <NUM>, the processor <NUM> displays, on the submission status detail screen <NUM>, the number of items of "submitted" data for a homework ID that identifies a homework assignment of which submission state details are being displayed, as a submission status indication <NUM>, and displays, on the submission status detail screen <NUM>, a "submitter name" and a "URL" of each item of "submitted" data for the homework ID, as a submitter name field <NUM> and a URL field <NUM> of a submission status list <NUM>.

In step S402, the processor <NUM> determines whether or not one of the URLs shown in the URL field <NUM> has been selected on the teacher's terminal. If it is determined that no URL has been selected, the processing flow advances to step S405. If a URL has been selected, the processing flow advances to step S403.

In step S403, the processor <NUM> causes the teacher's terminal to display a submitted answer to the homework assignment. For example, an answer created by a student, including the memo note <NUM>, the equation note <NUM>, the graph note <NUM>, etc., as shown in <FIG>, is displayed on the teacher's terminal. In step S404, the processor <NUM> determines whether or not an operation to close the answer displayed on the teacher's terminal has been performed on the teacher's terminal. The processing flow stands by, until a close operation is performed. If a close operation has been performed, the processor <NUM> causes the teacher's terminal to stop displaying the answer to the homework assignment displayed thereon, and the processing flow advances to step S405.

In step S405, the processor <NUM> determines whether or not the close icon <NUM> on the submission status detail screen <NUM> has been selected. If it is determined that the close icon <NUM> has not been selected, the processing flow returns to step S401, and repeats the above-described steps. If the close icon <NUM> has been selected, the submission status confirmation process is ended.

The change of contents of the database <NUM> when an answer to a homework assignment is created will be described with reference to <FIG> and <FIG>. The contents of the database <NUM> when a homework assignment is created by a teacher assigned with the teacher ID "T0001" are shown in <FIG>. The material data management table <NUM> contains one item of homework data crated by the teacher "T0001". The homework assignment is assigned with the material ID "T0001-<NUM>", and is set as "homework" state. The contents of the homework assignment are stored in the material data table <NUM> in association with the material ID. That is, the text forming the contents of the homework assignment is stored, with the data type set as "memo". Since it is not preferable that this data is altered by students, the homework editability flag is set as "non-editable".

The management information of the homework assignment is stored in the homework data management table <NUM> in association with the material ID. That is, the information on the submission deadline, the URL, and the password of the homework assignment is stored in the homework data management table <NUM>. The information on the submission deadline, the URL, and the password are informed by a teacher to students verbally in classrooms, or on a message board, by electronic mail, or through other learning-support applications.

If the students have not created answers to the homework assignment, the homework submission management table <NUM> remains empty.

The contents of the database <NUM> when a student has created an answer to a homework assignment are shown in <FIG>. When a student has created an answer to a homework assignment, and selected the save icon for the first time, answer data associated with the homework ID is created in the homework submission management table <NUM>. When the answer is in the "saved" status, each data is assigned with a submission ID, a unique URL, and a homework password. The homework submission management table <NUM> contains these items of information.

The contents of the answer are stored in the material data table <NUM> in association with the submission ID. For example, the contents of the "saved" answer assigned with the submission ID "S-<NUM>" are stored as data assigned with the note IDs "S0004" and "S0005". The data "S0004" is data created by the teacher and is set non-editable. The data "S0005" is data created by a student and is set editable.

With respect to the data on the "submitted" answer assigned with the submission ID "S-<NUM>", information on the name of the submitter is added to the homework submission management table <NUM>. The contents of the answer assigned with the submission ID "S-<NUM>" are stored as data assigned with the note IDs "S0002" and "S0003". The data "S0002" is data created by a teacher and is set non-editable. The data "S0003" is data created by a student; however, it has been submitted and is therefore set non-editable.

By these items of data, the above-described operations of the teacher's terminal and the student's terminal can be implemented.

The web application of the present embodiment may be configured in such a manner that a teacher can create a material without having an account. In this case, when access is made to a predetermined URL, a menu screen <NUM> as shown in <FIG> is displayed on the teacher's terminal. When create new <NUM> is selected, the processor <NUM> of the server <NUM> creates material data, and assigns, in association with the created material data, a guest ID, as well as a URL and a password unique to the created material. These items of information are shown to the guest teacher on, for example, the information presentation screen <NUM> shown in <FIG>. The information presentation screen <NUM> includes an indication <NUM> of the URL assigned to the material, an indication <NUM> of the guest ID, an indication <NUM> of the password, and an OK icon <NUM> to close the information presentation screen <NUM>. To edit a material, the guest teacher accesses the material data using the combination of URL and password shown thereon.

The data created at this time is shown in <FIG>. This is the same as the above-described case except that the guest ID is assigned as the teacher ID.

A website for allowing the guest teacher assigned with the guest ID to confirm the homework submission status is also prepared. When the homework submission status <NUM> is selected on the menu screen <NUM> shown in <FIG>, a login screen <NUM> as shown in <FIG> is displayed on the teacher's terminal. The guest teacher can log in from the login screen <NUM>. The login screen <NUM> includes a guest ID entry field <NUM>, a password entry field <NUM>, an OK icon <NUM>, and a cancel icon <NUM>. Using this screen, the server <NUM> requests a guest ID and a password to the guest teacher. If a login is made using the guest ID from this screen, the status of the homework data associated with the guest ID is presented, as in the screen shown in <FIG>.

When a teacher logs in using a guest ID in the above-described manner, the service of collectively managing a plurality of materials, as is provided by, for example, the management screen <NUM> shown in <FIG> when the registered teacher ID is used to log in, is not provided. On the other hand, similar services such as creation of materials or homework assignments and management of the submission status of the answers to the homework assignments are provided for individual materials. As in the above-described embodiment, by referring to the homework data management table <NUM>, it is possible to obtain a URL corresponding to a homework ID that identifies a homework assignment for which submission state details are requested to be displayed. By referring to the homework submission management table <NUM>, it is possible to obtain the number of items of "submitted" data for the homework ID, the "submitter name", and the "URL".

The web application of the present embodiment may be configured in such a manner that a teacher can create a material without having an account, including a guest ID. In this case, when access is made to a predetermined URL, a menu screen <NUM> as shown in <FIG> is displayed on the teacher's terminal. When create new <NUM> is selected, the processor <NUM> of the server <NUM> creates material data, and assigns, in association with the created material data, a URL and a password unique to the created material. These items of information are shown to the guest teacher on, for example, the information presentation screen <NUM> shown in <FIG>. The information presentation screen <NUM> includes an indication <NUM> of the URL assigned to the material, an indication <NUM> of the password, and an OK icon <NUM> to close the information presentation screen <NUM>. To edit a material, the guest teacher accesses the material data using the combination of URL and password shown thereon.

The data in the material data management table <NUM> and the homework data management table <NUM> created at this time is shown in <FIG>. This data is the same as the data in the material data management table <NUM> and the homework data management table <NUM> of the case shown in <FIG>, except that the teacher ID is not assigned and the teacher's password is assigned.

A website for allowing the guest teacher to confirm the homework submission status is also prepared. When the homework submission status <NUM> is selected on the menu screen <NUM> shown in <FIG>, an authentication screen <NUM> as shown in <FIG> is displayed on the teacher's terminal. The guest teacher gains access to the homework data from the authentication screen <NUM>. The authentication screen <NUM> includes a homework URL indication field <NUM>, a teacher's password entry field <NUM>, an OK icon <NUM>, and a cancel icon <NUM>. Using this screen, the server <NUM> requests the guest teacher to enter the teacher's password. If access is made to the homework data in the server <NUM> from this screen, the status of the homework data (assigned with the homework ID "H-<NUM>") associated with the material ID "G0001-<NUM>" in the material data management table <NUM> and the homework data management table <NUM> in <FIG> are presented, as in the screen shown in <FIG>.

When authentication is performed by a teacher not having any account including a guest ID in the above-described manner, the service of collectively managing a plurality of materials, as is provided by, for example, the management screen <NUM> shown in <FIG> when the registered teacher ID is used to log in, is not provided. On the other hand, similar services such as creation of materials and homework assignments and management of the submission statuses of the answers to the homework assignments are provided for individual materials. As in the above-described embodiment, by referring to the homework data management table <NUM>, it is possible to obtain a URL corresponding to a homework ID that identifies a homework assignment for which submission state details are requested to be displayed. By referring to the homework submission management table <NUM>, it is possible to obtain the number of items of "submitted" data for the homework ID, the "submitter name", and the "URL".

According to the present embodiment, it is possible to provide a web service that allows teachers to create materials or homework assignments, allows students to create and submit answers to homework assignments, and allows teachers to manage homework assignments to which answers have been submitted. This service can be used by teachers and students by using a terminal on which a web browser runs. Accordingly, this system can be easily installed.

According to this service, a student can create an answer, for example, by using an address and a password informed by a teacher in a classroom, without the need to have a unique account, etc. for using the service. Since a homework assignment is uniquely identified by the address and the password unique to the homework assignment given by the teacher, a student does not need to log in merely to answer the homework assignment. In other words, a student gains access to the homework assignment on an anonymous second terminal. That is, the web service can be used even on a second terminal that does not perform an authentication process using an ID for identifying a user who uses the web service. Accordingly, a load that would be incurred to manage the students' accounts is not generated. Even without having an account, a student can temporarily save, prior to submission, a homework assignment that is being created, and gains access to and edit the saved data again. By accessing the answer data, it is possible for a student not only to answer the homework assignment crated by a teacher, but also to utilize notes created by himself or herself for learning, for example. Issuing unique accounts to a number of students and having the accounts managed by the students or teachers are not feasible, taking into account the problems of leakage and loss of the accounts and/or the passwords, or may increase the time or cost for management. It is possible to provide a service that can be easily used by both teachers and students, while overcoming such disadvantages.

The data on materials and answers, for example, is protected by passwords. This prevents unauthorized access. In addition, since non-editable setting is suitably adopted, unauthorized alternation is prevented.

In the above-described embodiment, a case has been described where various processes are performed by the processor <NUM> of the server <NUM>; however, the assignment of processing between the terminals and the server <NUM> may be suitably varied. For example, processing such as operations for the notes and indication may be performed by the terminals in accordance with the programs obtained from the server <NUM> and run on the terminals.

Claim 1:
A method performed by a system comprising at least one first client terminal and a plurality of second client terminals connected to a network, the method comprising:
creating (S105) a first content, in response to an operation on one of the at least one first client terminal;
assigning a unique first address on the network to the first content;
displaying the first content at a display of each of the two second client terminals;
editing (S307, S309) the displayed first content assigned with the unique first address, in response to an operation on each of the two second client terminals;
storing (S312, S315), in a storage, the first contents edited at each of the two second client terminals as two second contents corresponding to the two second client terminals; and
assigning (S313) two unique second addresses on the network to the two second contents;
characterized by
permitting (S302) access to the unique first address from two of the second client terminals among the second client terminals, each of which is anonymous, and on each of which an authentication process without an ID that identifies a user who uses a web service is performed by determining whether a correct password associated with the unique first address has been received from the two second terminals, and
in response to determining that any one of the second client terminals has indicated that any one of the second contents associated with the one second client terminal is in an edit completion state, storing (S319), in the storage, the one second content in a non-editable state in association with any one of the unique second addresses associated with the one second client terminal and in association with information which indicates the edit completion state.