Abstract:
Disclosed are methods and apparatus for efficiently storing application data received from clients in a database stored on a server, such as a cloud-based database. The methods include receiving a batch of a plurality of web operations that specify actions to be performed on data objects that represent application data stored in a cloud database, translating the web operations to a batch of data storage operation sets, creating a temporary database having a subset of contents of the cloud database, applying the data storage operation sets to the temporary database, recording database operations generated by the temporary database based on the plurality of data storage operation sets, and applying the plurality of database operations to the cloud database in a transaction. Translating the web operations can include mapping the actions to be performed on the data objects to transactions to be performed on the cloud database.
Abstract:
This application relates to a client-server architecture that enables progress tracking related to assignments generated by an instructor. A hand-out can include attachments that specify placeholders for hand-ins and/or activities to be performed by the student as part of the assignment. Some activities can be performed using third-party applications that implement at least a portion of a software framework that causes the applications to generate progress tracking information provided to a daemon executing in the background of a client device. The daemon and/or a client application interface with one or more network services to enable an instructor to utilize the progress tracking information. The network services can include a hand-out service utilized to generate hand-outs assigned to a group of students. The network services can also include a progress pipeline including a number of services configured to process progress tracking information received from a plurality of client devices.
Abstract:
This application relates to a client-server architecture that enables progress tracking related to assignments generated by an instructor. A hand-out can include attachments that specify placeholders for hand-ins and/or activities to be performed by the student as part of the assignment. Some activities can be performed using third-party applications that implement at least a portion of a software framework that causes the applications to generate progress tracking information provided to a daemon executing in the background of a client device. The daemon and/or a client application interface with one or more network services to enable an instructor to utilize the progress tracking information. The network services can include a hand-out service utilized to generate hand-outs assigned to a group of students. The network services can also include a progress pipeline including a number of services configured to process progress tracking information received from a plurality of client devices.