IE84408B1 - Client/server distribution of learning content - Google Patents

Client/server distribution of learning content Download PDF

Info

Publication number
IE84408B1
IE84408B1 IE2005/0203A IE20050203A IE84408B1 IE 84408 B1 IE84408 B1 IE 84408B1 IE 2005/0203 A IE2005/0203 A IE 2005/0203A IE 20050203 A IE20050203 A IE 20050203A IE 84408 B1 IE84408 B1 IE 84408B1
Authority
IE
Ireland
Prior art keywords
content
client device
student
platform
activation
Prior art date
Application number
IE2005/0203A
Other versions
IE20050203A1 (en
Inventor
Mckeagney Francis
Brady Robert
Meaney David
Brady Seamus
Perrone Claudio
Reid Dermot
Original Assignee
Innerworkings (Holdings) Limited
Filing date
Publication date
Priority claimed from IE20040248A external-priority patent/IES20040248A2/en
Application filed by Innerworkings (Holdings) Limited filed Critical Innerworkings (Holdings) Limited
Priority to IE2005/0203A priority Critical patent/IE84408B1/en
Publication of IE20050203A1 publication Critical patent/IE20050203A1/en
Publication of IE84408B1 publication Critical patent/IE84408B1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances

Description

‘Client/server distribution of learning content” INTRODUCTION Field of the Invention The invention relates to computer based training wit client/server communication.
Prior Art Discussion At present, distribution of content to students typically involves a learning management system allowing a client device to access content on a server and the client device executing a player program while communicating with the server.
However, much learning content is rich in media and therefore a high bandwidth is required. as is continuity of the link to the server.
The invention is directed towards providing a more versatile mechanism whereby the link with the server is not required at all times, and/or a variety of different client devices may be used, and/or there is improved security.
SUMMARY OF THE INVENTION According to the invention there is provided a computer based learning system comprising: a plurality of student client devices each executing an interface program for transmitting learning content requests and for receiving downloaded content, and a player program for playing received learning content; and a platform comprising: a client device interface for interfacing with the client devices to receive content requests and to download content to the client devices, a content interface for accessing the learning content, a distribution mechanism for receiving the client device requests via the client device interface, and for downloading content and an activation key via the client device interface in response to each request if the request is allowed, said activation key being operable on the client device to activate the content; wherein the distribution mechanism validates a content request from a client device according to verification of a student identifier and client device data embedded in the client device interface program, and included automatically by the client device in the uploaded request; and wherein the distribution mechanism encrypts the content before it is downloaded; and wherein the activation key allows access by the client device through a contaimnent hierarchy of the content to a binary level of content data and instructions; and wherein the distribution mechanism automatically sets the low-level data and instructions which require activation using the activation key, a decision mechanism for deciding on content access in response to the requests according to access control criteria, and a synchronization controller for maintaining synchronization records of client device content usage and for automatically updating different client devices to ensure synchronized tracking of content usage across a plurality of said client devices for each student; and wherein the synchronization controller maintains a platform synchronization table upon download of an activation key, and populates the table with content and student identifiers and activation data, and the client device interface program automatically maintains a client synchronization table with data mirroring that of the platform synchronization table.
In one embodiment, the distribution mechanism encrypts the content using a symmetric key, and the interface program of each client device has a corresponding symmetric key embedded within its code for decrypting and installing downloaded content.
In one embodiment, the interface program of each client device is obfuscated.
In one embodiment, the distribution mechanism automatically sets said deactivated data and instructions according to a stored profile of a student operating the client device.
In another embodiment, each client device verifies the received activation key by independently generating a key locally and comparing it with the received key.
In one embodiment, the key is generated locally using a hashing mechanism operating on student identifiers.
In one embodiment, the hashing mechanism operates on an association of identifiers of the student and of content to be activated.
In one embodiment, the distribution mechanism transmits the activation key via a different delivery channel from that used for download of content, and the client device interface program only verifies the activation key if it receives the key in an interactive input made by the student.
In one embodiment. the distribution mechanism encrypts the activation key and the client device interface program decrypts the activation key using the same key used to decrypt the content.
In one embodiment, the synchronization controller generates a fresh table for each unique association of a student identifier with a content identifier.
In a further embodiment, each client device automatically establishes a session with the platform upon a student input for playing of content, and the platform and the client device synchronize their tables upon links being established.
In one embodiment, the synchronization controller automatically determines from the decision mechanism an activation time period and writes this period to the synchronization table, and the client device interface program uses the received activation period to update the client synchronization table.
In one embodiment, the client device interface program stores a received activation key until a request for activation of content is received at a later time.
In one embodiment, the client device interface program automatically updates its synchronization table by comparing real time with the expiry time and writes a expired status to the table if the real time is later than an expiry time table value.
According to another aspect, there is provided a method of operation of a computer based learning platform and a student client device the method comprising the steps of: the student client device executing an interface program to transmit a learning content request to the platform, a client device interface of the platform interfacing with the client devices to receive the content request, a distribution mechanism of the platform receiving the client device request via the client device interface, a decision mechanism of the platform deciding on content access in response to the request according to access control criteria, the distribution mechanism downloading the content and an activation key via the client device interface in response to the request if the request is allowed by the decision mechanism, the client device using the activation key to activate the content, and a player program of the client device playing the content, and a synchronization controller of the platform maintaining synchronization records of client device content usage and automatically updating different client devices to ensure synchronized tracking of usage of the content across a plurality of different client devices for the student, in which the distribution mechanism validates a content request from a client device according to verification of a student identifier and client device data embedded in the client device interface program, and included automatically by the client device in the uploaded request; and wherein the distribution mechanism encrypts the content before it is downloaded; and wherein the activation key allows access by the client device through a containment hierarchy of the content to a binary level of content data and instructions; and wherein the distribution mechanism automatically sets the low-level data and instructions which require activation using the activation key, and in which the synchronization controller maintains a platform synchronization table upon download of an activation key, and populates the table with content and student identifiers and activation data, and the client device interface program automatically maintains a client synchronization table with data mirroring that of the platform synchronization table.
DETAILED DESCRIPTION OF THE INVENTION Brief Description of the Drawings The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only with reference to the accompanying drawings in which:- Fig. 1 is a block diagram of a content access control platform of the invention; Fig. 2 is a flow diagram illustrating operation of the platform and of a client device communicating with it.
Description of the Embodiments Referring to Fig. l a server or platform 1 comprises an administrator interface 2 for communication with administrator systems 3. A client device interface 5 is for communication with devices operated by students, in this case software students. The client device interface 5 comprises an XML web server 6 for method calls from client devices 7. The platform 1 also comprises a content interface 10 which is linked with a content database 1]. The latter in this embodiment is local; however, it may in an alternative embodiment be distributed.
Between these interfaces the platform 1 comprises a distribution mechanism 25 having a real time clock for controlling distribution of content to client devices 7. The platform 1 also comprises: a decision mechanism 30 for automatically controlling student access to content, and a synchronization controller 32 which manages a group of platform synchronization tables 33.
Referring to Fig. 2 operation of the platform 1 and a client device 7 is described as an overall method 50. Each client device 7 has a platform interface which is programmed with access control settings to allow authorised access to the platform. The interface program is obfuscated so that it may not be easily de—compiled. For initial access to the platform the device transmits a usemame and password provided by the student.
In step 51, upon log-on the student client device uploads a content request with a student identifier which is embedded in the interface program, which request is received by the Web server 6 of the client device interface 5. The distribution mechanism 25 validates that the request is from a valid client device/student combination by verifying the student identifier and device data embedded by the device 7 in the uploaded request.
In step 52 the distribution mechanism 25 accesses the relevant content in the database 11 via the content interface 10, and downloads it, encrypted, to the requesting client device 7.Tl1e encryption is performed using a symmetric encryption key.
In step 53 the client device 7 then uses a symmetric decryption key embedded in the interface program to decrypt the content. It then installs the content. However, the content can not be used as it is not activated. It is in the form of binary data and instructions at the leaf nodes of a containment hierarchy, the upper levels of which prevent access without an activation key.
In step 54 the client device 7 uploads an activation request to the platform 1 and in step 55 the decision mechanism 30 executes to automatically decide on the level of access to be allowed according to access control criteria. The decision mechanism 30 operates in a manner which is independent of the distribution mechanism 25 to the extent that the operation of downloading the content is decoupled from that of controlling the extent of access to it.
If access is to be allowed, the distribution manager 25 downloads an activation key in step 56 via a different route, in this case by email. The activation key includes embedded information associating the student with the relevant content.
In step 57 the controller 32 establishes a synchronization table (within the group of tables 33) for the content/student association. There is one table for each unique content/student association. The synchronization table includes initial values including identifiers for the content and student and current time and date. There is a unique dataset associating the specific content for which access is being allowed and the particular student, and this is stored in the synchronization table 33. Also, the output of the decision mechanism 30 is also stored as an expiry period value in a cell of the synchronization table for student access to the content.
Upon receipt of the activation key, in step 58 the client device 7 activates the content using the key, allowing a player program to have access to all levels through the containment hierarchy to binary data and instructions at lower levels in the hierarchy.
The activation key received from the platform 1 may be held in the client device 7 for a period of time until the student is ready to activate the content. Before activating the content the client device 7 interface program first requests the student to input an identifier. It then uses this identifier and a content identifier to execute a hashing mechanism to locally generate the key independently of what has been received from the platform 1. It then compares the locally-generated key with that received from the platform (via a separate delivery channel). It is only if they match that the interface program of the client device 7 uses the key to activate the content. Also, this program will only have access to the platform-generated key if it has been manually “cut and pasted” into its GUI from the messaging application which received it from the platform.
A further level of security is provided by the fact that the platfonn-generated key is encrypted using the symmetric key used to encrypt the content. The interface program can not operate to compare the locally and platform-generated keys unless it can successfully decrypt the one generated by the platform 1.
The client device 7 then in step 59 establishes a client synchronization table and updates it in step 60 with values including: real time activation time and date, c an expiry time and date calculated from the activation time and date and the use period outputted by the decision mechanism 30, o a content identifier, a student identifier, and a value indicating activated status of the content.
The other possible status values are "deactivated” and “expired”.
Upon establishing the client synchronization table, the interface program automatically transmits an update to the distribution mechanism 25 of the platform 1 to indicate the change of status, upon which the synchronization controller 32 makes a corresponding update to the table 33.
The client device 7 player program then executes the learning content according to the student instructions. As this happens, the synchronization controller 32 receives frequent updates concerning operation of the device 7 and automatically updates the table 33, and the client table is also automatically updated by the client interface program.
As indicated by steps 70 to 73 at a subsequent operation by the client device 7 of the content the interface program of the device 7 automatically logs on to the platform 1 as described above and the platform synchronization controller 32 ensures that the table 33 is updated in step 71 and the interface program on the client in step 72 ensures that the local table is synchronized as long as the content is executed by the player.
An advantageous aspect is that if the student uses a different client device 7 for a subsequent learning session, that device will log on as described above provided it executes a valid copy of the interface program. That interface program automatically requests. receives, and activates the content largely as described above for steps 51 to 52. This client device 7 has a fresh client synchronization table which is automatically updated with the contents of the platform table 33. Also, the table on the client is encrypted. One difference in the process in this case is that the activation key is not downloaded by email. Instead, the distribution mechanism 25 downloads the student/content association from the platform synchronization table 33 and the content status for the client table. The client interface program then synchronizes the client synchronization table with the table 33 and has full access because the content status is “activated”.
Over time, whether using only one or a number of client devices 7 the expiry time of the synchronization tables is reached, as indicated by real time clocks on both the platform 1 and the client devices 7. When this happens, the tables are updated to change the status from “activated” to “expired” and so subsequent requests for access to content must go through the method of steps 51 to 60. Failing this the player executing on the client device 7 will not have access through the upper containment levels of the content hierarchy because the synchronization table does not indicate that the status is “activated”.
When the content is deactivated the player program on the client device 7 is allowed to navigate through the upper contaimnent layers of the content hierarchy to view menus of content which he or she may wish to activate in the future. This is because the deactivation only affects the lower binary data and instruction levels, preventing execution of specific learning functions. The de-activated learning functions are not the subject of the invention, however, they are customizable by the distribution mechanism 25 setting the functions which are to be de-activated when downloading the content initially to the client device. This is in response to the stored profile of the student or the student group/organization to which he or she belongs.
If the status in the platform synchronization table is “expired” in a subsequent content request, then the distribution mechanism 25 will not download the content if the request is for access to learning/content functions in content already downloaded.
Instead, it simply updates the platform table 33 according to the activation period allowed by the decision mechanism and the client device table is automatically synchronized, thus allowing future player access.
Thus, the output of the decision mechanism 30 is implemented on an ongoing basis irrespective of the client device being used or indeed its geographic location.
It will be appreciated that the invention provides a system and method for efficient and dynamic management of access to content. It is particularly advantageous where there are many students and many sets of content and access criteria.
The invention is not limited to the embodiments described but may be varied in construction and detail.

Claims (15)

1. A computer based learning system comprising: a plurality of student client devices (7) each executing an interface program for transmitting leaming content requests and for receiving downloaded content, and a player program for playing received learning content; and a platform (1) comprising: a client device interface (15) for interfacing with the client devices to receive content requests and to download content to the client devices, a content interface (10) for accessing the learning content, a distribution mechanism (25) for receiving the client device (7) requests via the client device interface (5), and for downloading content and an activation key via the client device interface (5) in response to each request if the request is allowed, said activation key being operable on the client device to activate the content; wherein the distribution mechanism (25) validates a content request from a client device (7) according to verification of a student identifier and client device data embedded in the client device interface program, and included automatically by the client device (7) in the uploaded request; and wherein the distribution mechanism (25) encrypts the content before it is downloaded; and wherein the activation key allows access by the client device (7) through a containment hierarchy of the content to a binary level of content data and instructions; and wherein the distribution mechanism (25) automatically sets the low-levcl data and instructions which require activation using the activation key, a decision mechanism (30) for deciding on content access in response to the requests according to access control criteria, and a synchronization controller (32) for maintaining synchronization records (33) of client device content usage and for automatically updating different client devices (7) to ensure synchronized tracking of content usage across a plurality of said client devices for each student; and wherein the synchronization controller (32) maintains a platform synchronization table (33) upon download of an activation key, and populates the table with content and student identifiers and activation data, and the client device interface program automatically maintains a client synchronization table with data mirroring that of the platform synchronization table.
2. A system as claimed in claim 1, wherein the distribution mechanism (25) encrypts the content using a symmetric key, and the interface program of each client device (7) has a corresponding symmetric key embedded within its code for decrypting and installing downloaded content.
3. A system as claimed in claims 1 or 2, wherein the interface program of each client device is obfuscated.
4. A system as claimed in claim 3, wherein the distribution mechanism automatically sets said deactivated data and instructions according to a stored profile of a student operating the client device.
5. A system as claimed in any preceding claim, wherein each client device (7) verifies the received activation key by independently generating a key locally and comparing it with the received key.
6. A system as claimed in claim 5, wherein the key is generated locally using a hashing mechanism operating on student identifiers.
7. A system as claimed in claim 6, wherein the hashing mechanism operates on an association of identifiers of the student and of content to be activated.
8. A system as claimed in any preceding claim, wherein the distribution mechanism (25) transmits the activation key via a different delivery channel from that used for download of content, and the client device interface program only verifies the activation key if it receives the key in an interactive input made by the student.
9. A system as claimed in any preceding claim, wherein the distribution mechanism (25) encrypts the activation key and the client device (7) interface program decrypts the activation key using the same key used to decrypt the COIIICHI.
10. A system as claimed in claim 9, wherein the synchronization controller (32) generates a fresh table (33) for each unique association of a student identifier with a content identifier.
11. A system as claimed in claims 9 or 10, wherein each client device (,7) automatically establishes a session with the platform (1) upon a student input for playing of content, and the platform (1) and the client device (7) synchronize their tables upon links being established.
12. A system as claimed in any preceding claim wherein the synchronization controller (32) automatically determines from the decision mechanism (30) an activation time period and writes this period to the synchronization table (33), and the client device interface program uses the received activation period to update the client synchronization table.
13. A system as claimed in any preceding claim, wherein the client device interface program stores a received activation key until a request for activation of content is received at a later time.
14. A system as claimed in any preceding claim, wherein the client device interface program automatically updates its synchronization table by
15. comparing real time with the expiry time and writes a expired status to the table if the real time is later than an expiry time table value. A method of operation of a computer based learning platform (1) and a student client device (7), the method comprising the steps of: the student client device (7) executing an interface program to transmit a learning content request to the platform (1), a client device interface (15) of the platform (1) interfacing with the client devices (7) to receive the content request, a distribution mechanism (25) of the platform (1) receiving the client device (7) request via the client device interface (5), a decision mechanism (30) of the platform (1) deciding on content access in response to the request according to access control criteria, the distribution mechanism (25) downloading the content and an activation key via the client device interface (5) in response to the request if the request is allowed by the decision mechanism (30), the client device using the activation key to activate the content, and a player program of the client device playing the content. and a synchronization controller (32) of the platform (1) maintaining synchronization records (33) of client device content usage and automatically updating different client devices (7) to ensure synchronized tracking of usage of the content across a plurality of different client devices for the student, in which the distribution mechanism (25) validates a content request from a client device (7) according to verification of a student identifier and client device data embedded in the client device interface program, and included automatically by the client device (7) in the uploaded request; and wherein the distribution mechanism (25) encrypts the content before it is downloaded; and wherein the activation key allows access by the client device (7) through a containment hierarchy of the content to a binary level of content data and instructions; and wherein the distribution mechanism (25) automatically sets the low-level data and instructions which require activation using the activation key, and in which the synchronization controller (32) maintains a platform synchronization table (33) upon download of an activation key, and populates the table with content and student identifiers and activation data, and the client device interface program automatically maintains a client synchronization table with data mirroring that of the platform synchronization table. A computer program product comprising software code for performing the platform operations of a method of claim 15 when executing on a digital pI‘OCt3SSOI'. A computer program product comprising software code for performing the client device operations of a method of claim 15 when executing on a digital
IE2005/0203A 2005-04-07 Client/server distribution of learning content IE84408B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IE2005/0203A IE84408B1 (en) 2005-04-07 Client/server distribution of learning content

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IEIRELAND07/04/2004S2004/0248
IE20040248A IES20040248A2 (en) 2004-04-07 2004-04-07 Management of learning content
IE2005/0203A IE84408B1 (en) 2005-04-07 Client/server distribution of learning content

Publications (2)

Publication Number Publication Date
IE20050203A1 IE20050203A1 (en) 2005-12-14
IE84408B1 true IE84408B1 (en) 2006-11-01

Family

ID=

Similar Documents

Publication Publication Date Title
US11301575B2 (en) Secure data synchronization
US8171560B2 (en) Secure content pre-distribution to designated systems
US7890997B2 (en) Remote feature activation authentication file system
EP2008220B1 (en) Service management framework
US20050239034A1 (en) Client/server distribution of learning content
RU2365983C2 (en) System and method for software distribution service
JP4863777B2 (en) Communication processing method and computer system
US7302570B2 (en) Apparatus, system, and method for authorized remote access to a target system
CA2464098A1 (en) Method and apparatus for managing a peer-to-peer collaboration system
US20120090034A1 (en) Method and apparatus for downloading drm module
CN109241705A (en) A kind of software authorization method and system
US20190182293A1 (en) System and method for sharing information in a private ecosystem
RU2005120664A (en) PROTECTED MULTIMEDIA ROUTE AND FAILURE RESPONSE UNIT
US9594605B2 (en) Client-server version control system for software applications
US8607226B2 (en) Solution for locally staged electronic software distribution using secure removable media
JP2024501401A (en) Decentralized broadcast encryption and key generation facility
US11874916B2 (en) User device authentication gateway module
US11743124B2 (en) Deploying data-loss-prevention policies to user devices
IE84408B1 (en) Client/server distribution of learning content
IES84497Y1 (en) Client/server distribution of learning content
WO2005098783A2 (en) Client/server distribution of learning content
WO2013044304A1 (en) System and method for servicing a request
Meyler et al. System Center 2012 R2 Configuration Manager Unleashed: Supplement to System Center 2012 Configuration Manager (SCCM) Unleashed
CN114095248A (en) Software resource warehousing method and device
CN114430343A (en) Data synchronization method and device, electronic equipment and readable storage medium