US20210280084A1 - Systems and methods for providing extensible electronic learning systems - Google Patents

Systems and methods for providing extensible electronic learning systems Download PDF

Info

Publication number
US20210280084A1
US20210280084A1 US17/203,234 US202117203234A US2021280084A1 US 20210280084 A1 US20210280084 A1 US 20210280084A1 US 202117203234 A US202117203234 A US 202117203234A US 2021280084 A1 US2021280084 A1 US 2021280084A1
Authority
US
United States
Prior art keywords
vendor
services
learning management
integration module
learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
US17/203,234
Inventor
John Allan Baker
Jeremy Jason Auger
William Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
D2L Corp
Original Assignee
D2L Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by D2L Corp filed Critical D2L Corp
Priority to US17/203,234 priority Critical patent/US20210280084A1/en
Assigned to D2L CORPORATION reassignment D2L CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: D2L INCORPORATED
Assigned to D2L INCORPORATED reassignment D2L INCORPORATED CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: DESIRE2LEARN INCORPORATED
Assigned to D2L CORPORATION reassignment D2L CORPORATION NUNC PRO TUNC ASSIGNMENT (SEE DOCUMENT FOR DETAILS). Assignors: AUGER, JEREMY JASON, BAKER, JOHN ALLAN, LEE, WILLIAM
Publication of US20210280084A1 publication Critical patent/US20210280084A1/en
Pending legal-status Critical Current

Links

Images

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
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/18Book-keeping or economics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2053Education institution selection, admissions, or financial aid
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service

Definitions

  • the embodiments described herein relate to electronic learning, and more particularly to systems and methods for integrating components of electronic learning systems.
  • Electronic learning generally refers to education or learning where users engage in education related activities using computers and other computer devices.
  • users may enroll or participate in a course or program of study offered by an educational institution or other organizations (e.g. a college, university, grade school, a business or a governmental organization) through a web interface that is accessible over the Internet.
  • users may receive assignments electronically, participate in group work and projects by collaborating online, and be graded based on assignments and examinations that are submitted using an electronic dropbox.
  • An electronic learning system may be used to facilitate electronic learning.
  • the electronic learning system contains a plurality of software and hardware components necessary to implement various features of electronic learning.
  • such features may include: use of electronic learning materials (e.g. handouts, textbooks, etc.), web-casting of live or recorded lectures, interaction through virtual chat-rooms or discussion boards, and performing web-based presentations.
  • the users may access such features through a centralized electronic learning environment.
  • Software components of an electronic learning system may be provided by various vendors, and the software provided by various vendors may not be inherently compatible with each other. Additional effort may be required to integrate various software components in a learning system either by modifying one or both of the incompatible components, or developing a new component or a system that can facilitate integration between the two incompatible components.
  • Each software component of the electronic learning system may also be developed independently without contemplating the features that are being developed in other software components. This may result in these features not being effectively utilized by software components that were developed before or in parallel with the development of the software components implementing these features.
  • New software components may also become available after an existing software component has been deployed. In such cases, additional effort may be required to integrate these new software components in the electronic learning system, and even if the new software components are integrated, certain features of the new software may not be utilized effectively as these features were not contemplated when the existing software component was developed.
  • an extensible electronic learning system comprising at least one learning management system having a learning management processor and a learning management memory operatively coupled thereto, said processor programmed for executing at least one learning management service and providing at least one extensible integration module.
  • Each extensible integration module comprises a predefined vendor services interface comprising at least one vendor services definition, and a vendor configuration upload component for receiving vendor configuration settings about at least one vendor.
  • the at least one vendor having a vendor processor and a vendor memory operatively coupled thereto, said vendor processor programmed for executing a least one vendor service, the at least one of said vendor services implementing the at least one of said vendor service definition, and providing at least one vendor integration module, each vendor integration module comprising the predefined vendor services interface and the vendor configuration settings.
  • the vendor configuration settings are received by the extensible integration module such that the learning management system may request the at least one of said vendor services based on the extensible integration module.
  • the extensible integration module may further comprise a predefined learning management services interface having at least one learning management services definition.
  • the learning management services implements at least one of the said learning management services definitions.
  • the vendor integration module further comprises the at least one predefined learning management service interface.
  • the learning management processor is further programmed for actively requesting the at least one of said vendor services based on the extensible integration module.
  • the vendor processor is further programmed to actively request the at least one of said learning management services based on the vendor integration module.
  • At least one of said learning management services is deeply integrated with at least one of said vendor services based on the at least one vendor services definition.
  • the at least one deeply integrated learning management service may request the at least one deeply integrated vendor service natively.
  • the at least one of said vendor services is deeply integrated with at least one of said learning management services based on the at least one learning management services definition.
  • the at least one deeply integrated vendor service may request the at least one deeply integrated learning management services natively.
  • the learning management processor is further programmed for not requesting vendor services from the at least one vendor if the vendor configuration settings for the at least one vendor are not received in the vendor configuration upload component.
  • the at least one vendor configuration settings comprises vendor information for requesting services from the vendor associated with the vendor configuration settings.
  • the vendor configuration settings comprise at least one of vendor location information, communication security information, and authentication information.
  • the at least one vendor comprises a plurality of vendors.
  • software for programming the learning management processor is developed in view of the predefined vendor services interface.
  • software for programming the vendor processor is developed in view of the predefined learning management services interface.
  • software to program the processor in the learning management and the processor in the vendor are developed independently in view of at least one of the predefined vendor services interface and the predefined learning management services interface.
  • a computer implemented extensible electronic learning method using a processor and a memory operatively coupled thereto comprising the steps of executing at least one learning management service, and providing at least one extensible integration module comprising a predefined vendor services interface having at least one vendor services definition, and a vendor configuration upload component for receiving vendor configuration settings about at least one vendor.
  • the method further comprises receiving the vendor configuration settings for requesting the at least one vendor service based on the extensible integration module.
  • a computer implemented extensible electronic learning method using a processor and a memory operatively coupled thereto comprising the steps of executing at least one vendor service, and providing at least one vendor integration module comprising a predefined learning management services interface having at least one learning management services definition and vendor configuration settings.
  • the method comprises the step of uploading the vendor configuration settings to a vendor configuration upload component on a learning management system for requesting the at least one learning management service based on the vendor integration module.
  • a tangible computer readable medium including computer executable instructions which, when executed on a computing device, cause the computing device to execute at least one learning management service, and provide at least one extensible integration module comprising a predefined vendor services interface having at least one vendor services definition, and a vendor configuration upload component for receiving vendor configuration settings about at least one vendor.
  • the instructions further cause the computing device to receive the vendor configuration settings for requesting the at least one vendor service based on the extensible integration module.
  • the computer readable medium is non-transitory.
  • a tangible computer readable medium including computer executable instructions which, when executed on a computing device, cause the computing device to execute at least one vendor service and provide at least one vendor integration module comprising a predefined learning management services interface having at least one learning management services definition and vendor configuration settings.
  • the instructions further cause the computing device to upload the vendor configuration settings to a vendor configuration upload component on a learning management system for requesting the at least one learning management service based on the vendor integration module.
  • the computer readable medium is non-transitory.
  • FIG. 1 is an electronic learning system according to one embodiment.
  • FIG. 2 is a schematic representation of a learning management system according to one embodiment.
  • FIG. 3 is a schematic representation of a first vendor system V 1 shown in FIG. 2 .
  • FIG. 4 is a schematic representation of a second vendor system V 2 shown in FIG. 2 .
  • FIG. 5 is a schematic representation of a third vendor system V 3 shown in FIG. 2 .
  • FIG. 6 is a schematic representation of a fourth vendor system V 4 shown in FIG. 2 .
  • FIG. 7 is a schematic representation of a fifth vendor systems V 5 , V 6 and middleware system shown in FIG. 2 .
  • the embodiments of the systems and methods described herein may be implemented in hardware or software, or a combination of both. However, preferably, these embodiments are implemented in computer programs executing on programmable computers each comprising at least one processor, a data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device.
  • the programmable computers may be a mainframe computer, server, personal computer, laptop, personal data assistant, or cellular telephone.
  • Program code is applied to input data to perform the functions described herein and generate output information.
  • the output information is applied to one or more output devices, in known fashion.
  • Each program is preferably implemented in a high level procedural or object oriented programming and/or scripting language to communicate with a computer system.
  • the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language.
  • Each such computer program is preferably stored on a storage media or a device (e.g. ROM or magnetic diskette) readable by a general or special purpose programmable computer, for configuring and operating the 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 implemented as 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.
  • FIG. 1 illustrated therein is a system 10 for providing guided instructional design according to one embodiment.
  • one or more users 12 , 14 may communicate with an educational service provider 30 to participate in, create, and consume electronic learning services.
  • the users 12 , 14 may be individuals or user accounts associated with the users.
  • the educational service provider 30 may be part of or associated with a traditional “bricks and mortar” educational institution (e.g. a grade school, university or college), another entity that provides educational services (e.g. a company that specializes in offering training courses, or an organization that has a training department), or may be an independent service provider (e.g. for individual electronic learning).
  • a traditional “bricks and mortar” educational institution e.g. a grade school, university or college
  • another entity that provides educational services e.g. a company that specializes in offering training courses, or an organization that has a training department
  • an independent service provider e.g. for individual electronic learning
  • an educational group can be defined that includes one or more of the users 12 , 14 .
  • the users 12 , 14 may be grouped together in an educational group 16 that represents a particular course (e.g. History 101 , French 254 ).
  • the users 12 , 14 may consume learning services.
  • the users 12 , 14 may not necessarily consume like learning services.
  • the user 12 may consume learning services provided to instructors of a course, while users 14 may consume learning services provided to learners in a course.
  • the users 12 , 14 may be associated with more than one educational group (e.g. the user 12 may have lecturing responsibilities in two or more courses, and also participate in more than one course as a learner).
  • educational sub-groups may also be formed.
  • two of the users 14 are shown as part of educational sub-group 18 , which may be formed in relation to a particular project or assignment (e.g. sub-group 18 may be a lab group or study group).
  • sub-group 18 may be a lab group or study group.
  • the users 14 in a particular sub-group 18 need not physically meet, but may collaborate together using learning services provided by the educational service provider 30 .
  • other groups 16 and sub-groups 18 could include users 14 that share common interests (e.g. interests in a particular sport), that participate in common activities (e.g. users that are members of a choir or a club), and/or have similar attributes (e.g. users that are male, users under twenty-one years of age, etc.).
  • common interests e.g. interests in a particular sport
  • common activities e.g. users that are members of a choir or a club
  • similar attributes e.g. users that are male, users under twenty-one years of age, etc.
  • the communication between the users 12 , 14 and the educational service provider 30 can occur either directly or indirectly using any suitable computing device.
  • the user 12 may use a computing device 20 such as a desktop computer that has at least one input device (e.g. a keyboard and a mouse) and at least one output device (e.g. a display screen and speakers).
  • the computing device 20 can generally be any other suitable device for facilitating communication between the users 12 , 14 and the educational service provider 30 .
  • the computing device 20 could be a laptop 20 a wirelessly coupled to an access point 22 (e.g. a wireless router, a cellular communications tower, etc.), a wirelessly enabled personal data assistant (PDA) 20 b or smart phone, or a terminal 20 c over a wired connection 23 .
  • PDA personal data assistant
  • the computing devices 20 may be connected to the service provider 30 via any suitable communications channel.
  • the computing devices 20 may be communicate to the educational service provider 30 over a local area network (LAN) or intranet, or using an external network (e.g. by using a browser on the computing device 20 to browse to one or more web pages presented over the Internet 28 ).
  • LAN local area network
  • intranet or using an external network (e.g. by using a browser on the computing device 20 to browse to one or more web pages presented over the Internet 28 ).
  • one or more of the users 12 , 14 may be required to authenticate their identities in order to communicate with the educational service provider 30 .
  • the users 12 , 14 may be required to input a login name and/or a password to gain access to the services provided by the educational service provider 30 .
  • the wireless access points 22 may connect to the educational service provider 30 through a data connection 25 established over the LAN or intranet.
  • the wireless access points 22 may be in communication with the educational service provider 30 via the Internet 28 or another external data communications network.
  • one user 14 may use a laptop 20 a to browse to a webpage that displays elements of an electronic learning system.
  • the educational service provider 30 generally includes a number of functional components for facilitating the provision of electronic learning services.
  • the educational service provider 30 generally includes one or more processing devices 32 (e.g. servers), each having one or more processors.
  • the processing devices 32 are configured to send information (e.g. web page content) to be displayed on one or more computing devices 20 in association with the electronic learning system 10 .
  • the processing device 32 may be a computing device 20 (e.g. a laptop or personal computer).
  • the educational service provider 30 also generally includes one or more data storage devices 34 that are in communication with the processing devices 32 (e.g. servers), and could include a relational database, file system, or any other suitable data storage device.
  • the data storage devices 34 are configured to host data 35 such as course content and enrollment information.
  • the data storage devices 34 may also store authorization criteria that define what actions may be taken by the users 12 , 14 .
  • the authorization criteria may also include at least one security profile associated with at least one role. For example, one role could be defined for users who are primarily responsible for teaching or assessing work product from other users. Users with such a role may have a security profile that allows them to post assignments to the electronic portfolios associated with users that are enrolled in a particular course. Learning services may provide for the authenticating process to authenticate users 12 , 14 .
  • some of the authorization criteria may be defined by specific users 40 who may or may not be part of the educational community 16 .
  • users 40 may be permitted to define global configuration profiles for the system 10 , define roles within the system 10 , set security profiles associated with the roles, and assign the roles to particular users 12 , 14 in the system 10 .
  • the assigned role may be related to the users' participation related to certain activity. For example, a user may be assigned a “learner” role in some courses, and assigned an “instructor” role in some other courses.
  • Authorization of a user's action in an activity may be based on the user's role related to the activity.
  • the authorization granted by the roles may be may be predefined.
  • the users 40 may use another computing device 42 (e.g. a desktop computer) to accomplish these tasks. Users 40 may use learning services to define the authorization criteria.
  • the data storage devices 34 may also be configured to store other information, such as personal information about the users 12 , 14 of the system 10 , information about which courses the users 12 , 14 are enrolled in, roles to which the users 12 , 14 are assigned in various contexts, particular interests of the users 12 , 14 and so on.
  • the processing devices 32 and data storage devices 34 may also be configured to provide other electronic learning capabilities (e.g. allowing users to enroll in courses), and/or may be in communication with one or more other service providers that provide such other electronic learning capabilities.
  • other electronic learning capabilities e.g. allowing users to enroll in courses
  • the system 10 may also have one or more backup servers 31 that may duplicate some or all of the data 35 stored on the data storage devices 34 .
  • the backup servers 31 may be desirable to prevent data loss in the event of an accident such as a fire, flooding, hardware failure, or theft.
  • the backup servers 31 may be directly connected to the educational service provider 30 but located within the system 10 at a different physical location.
  • the backup servers 31 could be located at a remote storage location at a distance from the service provider 30 , and the service provider 30 could connect to the backup server 31 using a secure communications protocol to ensure that the confidentiality of the data 35 is maintained.
  • the learning management system 50 may include a learning management processor (not shown) and a learning management memory (not shown) coupled to the learning management processor.
  • the learning management processor is programmed to perform at least one learning management service.
  • the learning management processor may be the processing device 32 (server).
  • the learning management processor may be one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the learning management memory may be memory resident on the processing device 32 and/or one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the first learning management memory may also be one or more of the data storage devices 35 .
  • the learning management processor in the learning management system 50 is programmed for providing a learning management services module 52 for performing learning management services.
  • the learning management services may be at least a part of one or more electronic learning services provided by the system 10 .
  • the electronic learning services may implement at least some of the functionalities and tools provided by the system 10 .
  • the electronic learning services may include electronic live and/or prerecorded lecture webcasts, online presentations, electronic publications, generation of course content, authorization and security services, facilitated group discussions, grade book functions, quizzing, testing and other assessment tools, electronic chat rooms, course management software, online course syllabi, user profiles including learner profiles, instructor profiles, and administrator profiles, and social networking amongst learners and between learners and instructors and/or other roles.
  • the learning management services performed by the learning management system 50 may be for providing a learning environment comprising a web-based suite of teaching and learning tools for course development, delivery, and management. They may also be for providing a platform for collecting, organizing, reflecting, and presenting learning artifacts such as assignments, group projects and learner portfolios. They may also be for providing competency tracking and reporting tools. They may also be for data and knowledge mining and analysis. They may also be for providing modules for storing, tagging, searching and reusing of learning content across multiple programs, courses and sections. They may also be for providing synchronous chat, whiteboard, and presentation modules for facilitating real-time collaboration.
  • the learning management services may also be setting data or getting data from the learning management memory or other data storage devices such as data storage device 34 that it may have access to.
  • Each learning management service performed by the learning management services module 52 may be active, passive or a combination of being active and passive.
  • the service is an active learning management service, then it will request one or more other services.
  • the one or more other services may be requested from vendor systems external to the learning management system 50 , such as first vendor “V 1 ” 110 , a third vendor “V 3 ” 130 , and a fifth vendor “V 5 .
  • the services may also be requested internally within the learning management system 50 (not shown).
  • a service performed by the learning services module 52 is passive, then it will provide the service upon request by one or more other services.
  • the request may be received from one or more vendor systems external to the learning management system 50 , such as the first vendor vendor “V 1 ” 110 , the fourth vendor “V 4 ” 140 and the fifth vendor “V 5 ” 150 .
  • the service request may also be received internally within the learning management system 50 (not shown).
  • a service performed by the learning services module may be neither active nor passive.
  • a service could be self-initiated, without being initiated by any incoming service requests, and may not include any outgoing service requests.
  • a service performed by the learning management services module may be both active and passive. For example, a service initiated by a request from another service, may request yet other services.
  • an active and passive service performed by the learning services module 52 may be a chat room service for providing an electronic chat room for a tutorial.
  • the learning management system 50 may provide a course management service for managing online contents of a course.
  • the course management service may include a web page link to request a chat room. If one or more of the users 12 , 14 request a chat room, that service may request another service (the chat room service) to provide the chat room.
  • the chat room service may prompt and receive chat room parameters from the initiating users 12 , 14 .
  • the chat room parameters may include the number of participants, identity of the moderator, and aliases for participants for that chat room.
  • the chat room service Upon receipt of the chat room parameters, the chat room service will request another service to authenticate and display the chat room on participant users' computing devices 20 .
  • the service to authenticate and display the chat room may be requested from vendors providing the service of displaying chat rooms resident on each computing device 20 .
  • a different vendor may perform this service on a different computing device.
  • the service to display a chat room may be performed using Flash by Adobe Systems one the computing device 20 a , and performed using a text-based html site on the computing device 20 b .
  • the chat room service is both active and passive in that it receives service request from one service (from the service that provides learning management web link) and requests a service from another (vendors to display the chat room).
  • the learning management services module 52 includes a combination of both active and passive services as it sends services requests to vendors, and receives services requests from vendors. Generally, sending a service request to a vendor will require the service request to be in a format compatible with the recipient vendor.
  • the learning management system 50 may include learning management services application programming interface (API) 54 for requesting learning management services.
  • the learning management services API 54 may generally contain information about the services provided by the learning management services module 52 , and acceptable formats to request those services in a compatible form.
  • the acceptable formats may include parameters expected and syntax of the service requests.
  • Systems who are aware of the learning management services API 54 may request services from the learning management services module 52 .
  • Vendor “V 4 ” as indicated by 140 , and middleware 170 send service request using the learning management API module 54 .
  • the learning management system 50 is aware of a third vendor “V 3 ” API 134 for requesting services from the third vendor V 3 and sends services requests to vendor V 3 using the vendor V 3 API.
  • the learning management system 50 is generally not aware of APIs for vendors V 1 , V 5 and V 6 . Conversely, the vendors V 2 , V 5 , and V 6 are also unaware of the learning management services API 54 . This restricts the ability of the learning management system 50 and the vendors V 1 , V 2 , V 5 , and V 6 to request services from each other directly.
  • the learning management system 50 includes an extensible integration module 60 .
  • the extensible integration module 60 includes a predefined vendor services interface 62 , a predefined learning management services interface 64 , and a vendor configuration upload component 70 .
  • the extensible integration module 60 further includes learning management system configuration settings 56 and vendor configuration settings about vendors V 1 and V 2 as indicated by 116 , and 126 respectively.
  • the predefined vendor services interface 62 includes vendor services definitions about vendor services that one or more vendors are expected to provide.
  • the vendor services definitions may also include parameters required for those services. These definitions may be implemented by one or more vendor systems.
  • Exemplary vendor services definitions may be for provision of an electronic chat room.
  • the definitions may include base-level services expectations that any vendor providing electronic chat room services implementing the definitions should meet.
  • the definitions may include services for creation of a new permanent chat room with parameters for the max number of participants, participant email addresses, option to send out invites, room title, and specific room capabilities (for e.g., availability of private chat between the members), ability to change aliases, etc.
  • the definitions may also include services for deletion of rooms, updating room configurations, etc.
  • the vendor services definitions allow the learning management system 50 to be developed in view of the definitions. This may permit learning management system 50 to natively request vendor services, that is the learning management system 50 can request vendor services from vendor systems in a format compatible to the vendor without a need for conversion tool and/or integration of the vendor's API. This may be of particular advantage if there are the learning management system 50 is desirous of requesting services from multiple vendors with multiple vendor APIs.
  • the vendor services definitions also permit deep integration between the learning management system 50 and the vendors in that the learning management system 50 may be designed in view of the services that are expected to be provided by the vendors. Deep integration allows the learning management system 50 to leverage the expected vendor services such that duplication of services may be reduced. Deep integration also permits more effective use of vendor services as the services provided by the learning management system 50 may be designed specifically to maximize the utilization of the features provided by the vendor services. For example, in designing the learning management system 50 , the expected vendor services may be included in workflows, quick-link functionality, scheduled events/tasks, embedded in content, etc. These vendor services may be set to be latent until further information regarding availability to these vendor services is received at the vendor configuration upload component 70 .
  • the vendor services definitions may also reduce scheduling constraints in the development of the learning management system and the vendor systems. That is, each of the systems may be developed independently and yet remain deeply integrated.
  • the predefined learning management services interface 64 includes learning management services definitions about learning management services that at least one learning management system 50 is expected to provide.
  • the learning management services definitions may also include parameters required for those services.
  • the learning management services 52 module may implement one or more of these definitions.
  • Exemplary learning management definitions may include functions that permit access to data such as retrieving and setting grade information, student biographical information, etc.
  • the learning management services definitions allow the vendor systems to be developed in view of the definitions. This may permit vendors to natively request learning management services without requiring any external conversion tool and/or integration of the learning management system's API 54 .
  • the learning management services definitions also permits deep integration between the vendors to the learning management system 50 in that the vendors may be designed in view of the services that are expected to be provided by the learning management system 50 . Deep integration allows the vendors to leverage the learning management system services such that duplication of services may be reduced. Deep integration also permits more effective use of learning management system services as the services provided by the vendor may be designed specifically to maximize utilization of the features provided by the learning management system.
  • the learning management services definitions may also reduce scheduling constraints in the development of the learning management system and the vendor systems. That is, each of the systems may be developed independently and yet remain deeply integrated.
  • the vendor configuration upload component 70 receives vendor configuration settings at the learning management system 50 .
  • Vendor configuration settings may contain information that may be used to communicate with respective vendors.
  • Each vendor configuration setting may contain information such the location of the vendor (e.g. URI/URL), secret keys, passwords, performance settings, display options, encryption settings, etc.
  • the configuration settings for the vendors V 1 and V 2 are indicated by 116 , and 126 respectively.
  • the configuration settings for the learning management system indicated by 56 may be transmitted to one or more vendor systems for similar purposes.
  • the vendor configuration settings may be received from any individual or system with appropriate access. For example, vendor configuration settings may be received from any of the users, educational institution, the learning management system and/or vendor systems.
  • Receiving of vendor configuration settings may also indicate to the learning management system 50 of the availability for request of one or more expected service implementing the vendor services definitions. It may also indicate that one or more vendors are now available to provide vendor services upon request. Upon receipt of the vendor configuration from a particular vendor, the learning management system may start making vendor services requests from that vendor.
  • the learning management system 50 may communicate with vendors V 1 and V 2 using the extensible integration module 60 . As shown, the learning management system 50 receives service requests from the vendor V 2 according to the predefined learning management services interface 64 , and sends services requests to the vendor V 1 according to the predefined vendor interface 62 .
  • the first vendor V 1 may include a first vendor processor (not shown) and a first vendor memory (not shown) coupled to the first processor.
  • the first vendor processor may be programmed to perform at least one vendor service.
  • the at least one vendor service may implement at least one of the vendor services definitions.
  • the first vendor processor may be the processing device 32 .
  • the first vendor processor also may be one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the first vendor memory may also be a memory resident on the processing device 32 and/or one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the first memory may also be one or more of the data storage devices 35 .
  • the first vendor processor in the first vendor V 1 may be programmed to provide a first vendor V 1 services module 112 , a first vendor V 1 API 114 and the vendor integration module 118 .
  • the first vendor V 1 services module 112 may perform vendor services.
  • the vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • all of the services provided by the first vendor V 1 services module 112 are passive. This is only for illustrative purposes as services performed by a vendor will typically be both active and passive.
  • the first vendor V 1 has a first vendor V 1 API 114 for requesting services from the V 1 services module 112 .
  • the learning management system may be unaware of the first vendor V 1 API 114 and may not request services using that API. This may arise in exemplary situations where the V 1 API 114 is developed after, or concurrently with the learning management system 50 .
  • the first vendor V 1 has the vendor integration module 118 .
  • the vendor integration module 118 is similar to the extensible module 60 of the learning management system 50 , and like elements are indicated by like numbers. As shown, the vendor integration module 118 includes the first vendor V 1 configurations settings 118 and the predefined vendor services interface 62 . The vendor V 1 configuration settings are uploaded to the learning management system 50 . The first vendor V 1 may receive service requests from the learning management system 50 in accordance with the predefined vendor services interface 62 as indicated.
  • the first vendor V 1 services module 112 may either implement the predefined vendor services interface 62 directly, through use of the first vendor V 1 API 114 or another conversion module (not shown).
  • the predefined vendor services interface 62 is implemented through a combination of the first vendor V 1 API 114 and the first vendor V 1 services module directly.
  • an additional module interfacing between first vendor V 1 API and predefined vendor services interface may be implemented. The additional module may be used for example in situations wherein the API is developed prior to the predefined vendor services interface.
  • the second vendor V 2 may include a second vendor processor (not shown) and a second vendor memory (not shown) coupled to the second processor.
  • the second vendor processor may be programmed to perform at least one vendor service.
  • the at least one vendor service may implement at least one of the vendor services definitions.
  • the second vendor processor may be the processing device 32 (server).
  • the second vendor processor also may be one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the second vendor memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the second memory may also be one or more of the data storage devices 35 .
  • the second vendor processor in the second vendor V 2 may be programmed to provide a second vendor services module 122 and the vendor integration module 128 .
  • the V 2 services module 122 may perform vendor services.
  • the vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • all of the services provided by the second vendor V 2 services module 122 are active. This is only for illustrative purposes as services performed by a vendor will typically be both active and passive.
  • the second vendor V 2 may request services from the learning management system 50 . However the second vendor V 2 may be unaware of the learning management services API 54 and may not request services using that API. This may arise in exemplary situations where the second vendor V 2 is developed before, or concurrently with the learning management system 50 .
  • the second vendor V 2 also has the vendor integration module 128 .
  • the vendor integration module 128 is similar to the extensible module 60 of the learning management system 50 , and like elements are indicated by like numbers.
  • the vendor integration module 128 includes the second vendor V 2 configurations settings 128 and the predefined learning management services interface 64 .
  • the second vendor V 2 configuration settings are uploaded to the learning management system 50 .
  • the second vendor V 2 may be developed in view of the predefined learning management services interface 64 such that the second vendor may natively request the learning management services through the vendor integration module.
  • the second vendor V 2 may request learning management services from the learning management system 50 in accordance with the predefined learning management service interface 64 as indicated.
  • the third vendor V 3 may include a third vendor processor (not shown) and a third vendor memory (not shown) coupled to the third processor.
  • the third vendor processor may be programmed to perform at least one vendor service.
  • the third vendor processor may be the processing device 32 (server).
  • the third vendor processor also may be one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the third vendor memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the third memory may also be one or more of the data storage devices 35 .
  • the third vendor processor in the third vendor V 3 may be programmed to provide a third vendor services module 132 and the third vendor API 134 .
  • the V 3 services module 132 may perform vendor services.
  • the vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • V 3 services module 132 all of the services provided by the V 3 services module 132 are passive. This is only for illustrative purposes as services performed by a vendor will typically be both active and passive.
  • the third vendor V 3 may receive request services from the learning management system 50 . Since the learning management system 50 is aware of the third vendor API 134 , the learning management system 30 may request third vendor V 3 services according to that API. This may arise in exemplary situations where the learning management system 50 is developed after the third vendor V 3 and has integrated third vendor V 3 API 134 , or has integrated the third vendor API 134 after development.
  • the fourth vendor V 4 may include a fourth vendor processor (not shown) and a fourth vendor memory (not shown) coupled to the fourth processor.
  • the fourth vendor processor may be programmed to perform at least one vendor service.
  • the fourth vendor processor may be the processing device 32 (server).
  • the fourth vendor processor also may be one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the fourth vendor memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the fourth memory may also be one or more of the data storage devices 35 .
  • the fourth vendor processor in the fourth vendor V 4 may be programmed to provide a fourth vendor services module 142 and request for learning management services using the learning management services API 54 .
  • the V 4 services module 142 may perform vendor services.
  • the vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • V 4 services module 142 all of the services provided by the V 4 services module 142 are active. This is only for illustrative purposes as services performed by a vendor will typically be both active and passive.
  • the fourth vendor V 4 may request services from the learning management system 50 . Since the fourth vendor V 4 is aware of the learning management system API 54 , the fourth vendor may request learning management services according to that API. This may arise in exemplary situations where the fourth vendor V 4 is developed before the learning management system 50 and has integrated the learning management API 54 , or has integrated the learning management API 54 after development.
  • each of the vendors V 5 , V 6 may include a fifth/sixth vendor processor (not shown) and a fifth/sixth vendor memory (not shown) coupled to the fifth/sixth processor respectively.
  • the fifth/sixth vendor processor may be programmed to perform at least one vendor service.
  • the fifth/sixth vendor processor may be the processing device 32 (server).
  • the fifth/sixth vendor processor also may be one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the fifth/sixth vendor memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the fifth/sixth memory may also be one or more of the data storage devices 35 .
  • the middle system may include a middle ware processor (not shown) and middle ware memory (not shown) coupled to the middleware processor.
  • the middleware processor may be the processing device 32 (server).
  • the middleware processor also may be one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the middleware memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20 , 20 a , 20 b , 20 c and 42 .
  • the middleware memory may also be one or more of the data storage devices 35 .
  • the fifth vendor processor in the fifth vendor V 3 may be programmed to provide a fifth vendor services module 152 and a fifth vendor V 5 API 154 .
  • the sixth vendor processor in the sixth vendor V 6 may be programmed to provide a sixth vendor services module 162 and a sixth vendor V 6 API 164 .
  • the middleware processor may be programmed to include vendor APIs 154 , 164 and the learning management system API 54 .
  • Each of the vendor services module 152 and 162 may perform vendor services.
  • the vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • all of the services provided by the vendor services module 152 and 162 are both active and passive. This is only for illustrative purposes and in other embodiments the services may only be passive, or active.
  • the vendors V 5 , V 6 may request services to, and receive service requests from the learning management system 50 . Since the vendors V 5 , V 6 are unaware of the learning management system API 54 , they may not request services from the learning management system 50 using that API. Similarly, the learning management system 50 is unaware of the vendors APIs 154 , 164 so it cannot request services from vendors V 5 , V 6 using those APIs.
  • the middleware system 170 may facilitate service requests from the vendors V 4 , V 5 to the learning management system 50 and vice versa.
  • the middleware system 170 includes both the vendor APIs 154 164 and learning management API 54 .
  • the middleware system 170 may be programmed to receive native service requests from vendors V 5 , V 6 and convert them to conform them according to LMS API to request services from the learning management system 50 . Similarly, the middleware system 170 may be programmed to receive native service requests from the learning management system 50 , and covert them according to each of the vendor APIs 154 , 164 prior to forwarding the requests to the vendors 150 , 160 .
  • the middleware system 170 may be employed in exemplary situations where the learning management system 50 and vendors 150 , 160 are developed in isolation without knowledge of each other's APIs, and no effort had been made to integrate each other's APIs.
  • Vendor processors and learning management processors may be implemented by any combination of computing devices 20 and the processing devices 32 .
  • a single processor may implement the learning management processor and one or more vendor processors.
  • vendor memories may be implemented by any combination of computing devices 20 and processing devices 32 , a single memory may implement the learning management memory and one or more vendor memories.
  • the learning management system 50 and or each of the vendors V 1 -V 6 may further include an extensibility layer to facilitate communication with external systems.

Abstract

An extensible electronic learning system having at least one learning management system having a learning management processor and a learning management memory operatively coupled thereto, said processor programmed for executing at least one learning management service and providing at least one extensible integration module. Each extensible integration module includes a predefined vendor services interface comprising at least one vendor services definition, and a vendor configuration upload component for receiving vendor configuration settings about at least one vendor. The at least one vendor having a vendor processor and a vendor memory operatively coupled thereto, said vendor processor programmed for executing a least one vendor services, the at least one of said vendor services implementing the at least one of said vendor service definition, and providing at least one vendor integration module, each vendor integration module comprising the predefined vendor services interface and the vendor configuration settings. The vendor configuration settings are received by the extensible integration module such that the learning management system may request the at least one of said vendor services based on the extensible integration module.

Description

    RELATED APPLICATIONS
  • This application is a continuation U.S. patent application Ser. No. 12/958,263 filed Dec. 1, 2010 which claims the benefit of U.S. Provisional Application No. 61/293,072 filed Jan. 7, 2010 and entitled SYSTEMS AND METHODS FOR PROVIDING EXTENSIBLE ELECTRONIC LEARNING SYSTEMS, the entire contents of which are hereby incorporated by reference herein for all purposes.
  • FIELD
  • The embodiments described herein relate to electronic learning, and more particularly to systems and methods for integrating components of electronic learning systems.
  • INTRODUCTION
  • Electronic learning (also called e-Learning or eLearning) generally refers to education or learning where users engage in education related activities using computers and other computer devices. For example, users may enroll or participate in a course or program of study offered by an educational institution or other organizations (e.g. a college, university, grade school, a business or a governmental organization) through a web interface that is accessible over the Internet. Similarly, users may receive assignments electronically, participate in group work and projects by collaborating online, and be graded based on assignments and examinations that are submitted using an electronic dropbox.
  • An electronic learning system may be used to facilitate electronic learning. The electronic learning system contains a plurality of software and hardware components necessary to implement various features of electronic learning. For example, such features may include: use of electronic learning materials (e.g. handouts, textbooks, etc.), web-casting of live or recorded lectures, interaction through virtual chat-rooms or discussion boards, and performing web-based presentations. The users may access such features through a centralized electronic learning environment.
  • Software components of an electronic learning system may be provided by various vendors, and the software provided by various vendors may not be inherently compatible with each other. Additional effort may be required to integrate various software components in a learning system either by modifying one or both of the incompatible components, or developing a new component or a system that can facilitate integration between the two incompatible components.
  • Each software component of the electronic learning system may also be developed independently without contemplating the features that are being developed in other software components. This may result in these features not being effectively utilized by software components that were developed before or in parallel with the development of the software components implementing these features.
  • New software components may also become available after an existing software component has been deployed. In such cases, additional effort may be required to integrate these new software components in the electronic learning system, and even if the new software components are integrated, certain features of the new software may not be utilized effectively as these features were not contemplated when the existing software component was developed.
  • Accordingly, there is a need for improved electronic learning systems and methods that address at least some of these concerns.
  • SUMMARY
  • According to one embodiment, there is provided an extensible electronic learning system comprising at least one learning management system having a learning management processor and a learning management memory operatively coupled thereto, said processor programmed for executing at least one learning management service and providing at least one extensible integration module.
  • Each extensible integration module comprises a predefined vendor services interface comprising at least one vendor services definition, and a vendor configuration upload component for receiving vendor configuration settings about at least one vendor. The at least one vendor having a vendor processor and a vendor memory operatively coupled thereto, said vendor processor programmed for executing a least one vendor service, the at least one of said vendor services implementing the at least one of said vendor service definition, and providing at least one vendor integration module, each vendor integration module comprising the predefined vendor services interface and the vendor configuration settings.
  • The vendor configuration settings are received by the extensible integration module such that the learning management system may request the at least one of said vendor services based on the extensible integration module.
  • In some embodiments, the extensible integration module may further comprise a predefined learning management services interface having at least one learning management services definition.
  • In some embodiments, the learning management services implements at least one of the said learning management services definitions.
  • In some embodiments, the vendor integration module further comprises the at least one predefined learning management service interface.
  • In some embodiments, the learning management processor is further programmed for actively requesting the at least one of said vendor services based on the extensible integration module.
  • In some embodiments, the vendor processor is further programmed to actively request the at least one of said learning management services based on the vendor integration module.
  • In some embodiments, at least one of said learning management services is deeply integrated with at least one of said vendor services based on the at least one vendor services definition.
  • In some embodiments, the at least one deeply integrated learning management service may request the at least one deeply integrated vendor service natively.
  • In some embodiments, the at least one of said vendor services is deeply integrated with at least one of said learning management services based on the at least one learning management services definition.
  • In some embodiments, the at least one deeply integrated vendor service may request the at least one deeply integrated learning management services natively.
  • In some embodiments, the learning management processor is further programmed for not requesting vendor services from the at least one vendor if the vendor configuration settings for the at least one vendor are not received in the vendor configuration upload component.
  • In some embodiments, the at least one vendor configuration settings comprises vendor information for requesting services from the vendor associated with the vendor configuration settings.
  • In some embodiments, the vendor configuration settings comprise at least one of vendor location information, communication security information, and authentication information.
  • In some embodiments, the at least one vendor comprises a plurality of vendors.
  • In some embodiments, software for programming the learning management processor is developed in view of the predefined vendor services interface.
  • In some embodiments, software for programming the vendor processor is developed in view of the predefined learning management services interface.
  • In some embodiments, software to program the processor in the learning management and the processor in the vendor are developed independently in view of at least one of the predefined vendor services interface and the predefined learning management services interface.
  • According to yet another embodiment, there is provided a computer implemented extensible electronic learning method using a processor and a memory operatively coupled thereto comprising the steps of executing at least one learning management service, and providing at least one extensible integration module comprising a predefined vendor services interface having at least one vendor services definition, and a vendor configuration upload component for receiving vendor configuration settings about at least one vendor.
  • In some embodiments, the method further comprises receiving the vendor configuration settings for requesting the at least one vendor service based on the extensible integration module.
  • According to yet another embodiment, there is provided computer implemented extensible electronic learning method using a processor and a memory operatively coupled thereto comprising the steps of executing at least one vendor service, and providing at least one vendor integration module comprising a predefined learning management services interface having at least one learning management services definition and vendor configuration settings.
  • In some embodiments, the method comprises the step of uploading the vendor configuration settings to a vendor configuration upload component on a learning management system for requesting the at least one learning management service based on the vendor integration module.
  • According to yet another embodiment, there is provided a tangible computer readable medium including computer executable instructions which, when executed on a computing device, cause the computing device to execute at least one learning management service, and provide at least one extensible integration module comprising a predefined vendor services interface having at least one vendor services definition, and a vendor configuration upload component for receiving vendor configuration settings about at least one vendor.
  • In some embodiments, the instructions further cause the computing device to receive the vendor configuration settings for requesting the at least one vendor service based on the extensible integration module.
  • In some embodiments, the computer readable medium is non-transitory.
  • According to yet another embodiment, there is provided a tangible computer readable medium including computer executable instructions which, when executed on a computing device, cause the computing device to execute at least one vendor service and provide at least one vendor integration module comprising a predefined learning management services interface having at least one learning management services definition and vendor configuration settings.
  • In some embodiments, the instructions further cause the computing device to upload the vendor configuration settings to a vendor configuration upload component on a learning management system for requesting the at least one learning management service based on the vendor integration module.
  • In some embodiments, the computer readable medium is non-transitory.
  • DRAWINGS
  • For a better understanding of the embodiments described herein and to show more clearly how they may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings which show at least one exemplary embodiment, and in which:
  • FIG. 1 is an electronic learning system according to one embodiment.
  • FIG. 2 is a schematic representation of a learning management system according to one embodiment.
  • FIG. 3 is a schematic representation of a first vendor system V1 shown in FIG. 2.
  • FIG. 4 is a schematic representation of a second vendor system V2 shown in FIG. 2.
  • FIG. 5 is a schematic representation of a third vendor system V3 shown in FIG. 2.
  • FIG. 6 is a schematic representation of a fourth vendor system V4 shown in FIG. 2.
  • FIG. 7 is a schematic representation of a fifth vendor systems V5, V6 and middleware system shown in FIG. 2.
  • DESCRIPTION OF VARIOUS EMBODIMENTS
  • It will be appreciated that numerous specific details are set forth in order to provide a thorough understanding of the exemplary embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Furthermore, this description is not to be considered as limiting the scope of the embodiments described herein in any way, but rather as merely describing the implementation of the various embodiments described herein.
  • The embodiments of the systems and methods described herein may be implemented in hardware or software, or a combination of both. However, preferably, these embodiments are implemented in computer programs executing on programmable computers each comprising at least one processor, a data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. For example and without limitation, the programmable computers may be a mainframe computer, server, personal computer, laptop, personal data assistant, or cellular telephone. Program code is applied to input data to perform the functions described herein and generate output information. The output information is applied to one or more output devices, in known fashion.
  • Each program is preferably implemented in a high level procedural or object oriented programming and/or scripting language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program is preferably stored on a storage media or a device (e.g. ROM or magnetic diskette) readable by a general or special purpose programmable computer, for configuring and operating the 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 implemented as 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.
  • Turning now to FIG. 1, illustrated therein is a system 10 for providing guided instructional design according to one embodiment.
  • Using the system 10, one or more users 12, 14 may communicate with an educational service provider 30 to participate in, create, and consume electronic learning services. The users 12, 14 may be individuals or user accounts associated with the users.
  • In some cases, the educational service provider 30 may be part of or associated with a traditional “bricks and mortar” educational institution (e.g. a grade school, university or college), another entity that provides educational services (e.g. a company that specializes in offering training courses, or an organization that has a training department), or may be an independent service provider (e.g. for individual electronic learning).
  • In some embodiments, an educational group can be defined that includes one or more of the users 12, 14. For example, as shown in FIG. 1, the users 12, 14 may be grouped together in an educational group 16 that represents a particular course (e.g. History 101, French 254). The users 12, 14 may consume learning services. The users 12, 14 may not necessarily consume like learning services. For example, the user 12 may consume learning services provided to instructors of a course, while users 14 may consume learning services provided to learners in a course.
  • In some examples, the users 12, 14 may be associated with more than one educational group (e.g. the user 12 may have lecturing responsibilities in two or more courses, and also participate in more than one course as a learner).
  • In some cases, educational sub-groups may also be formed. For example, two of the users 14 are shown as part of educational sub-group 18, which may be formed in relation to a particular project or assignment (e.g. sub-group 18 may be a lab group or study group). In some embodiments, due to the nature of the electronic learning, the users 14 in a particular sub-group 18 need not physically meet, but may collaborate together using learning services provided by the educational service provider 30.
  • In some embodiments, other groups 16 and sub-groups 18 could include users 14 that share common interests (e.g. interests in a particular sport), that participate in common activities (e.g. users that are members of a choir or a club), and/or have similar attributes (e.g. users that are male, users under twenty-one years of age, etc.).
  • The communication between the users 12, 14 and the educational service provider 30 can occur either directly or indirectly using any suitable computing device. For example, the user 12 may use a computing device 20 such as a desktop computer that has at least one input device (e.g. a keyboard and a mouse) and at least one output device (e.g. a display screen and speakers). The computing device 20 can generally be any other suitable device for facilitating communication between the users 12, 14 and the educational service provider 30. For example, the computing device 20 could be a laptop 20 a wirelessly coupled to an access point 22 (e.g. a wireless router, a cellular communications tower, etc.), a wirelessly enabled personal data assistant (PDA) 20 b or smart phone, or a terminal 20 c over a wired connection 23.
  • The computing devices 20 may be connected to the service provider 30 via any suitable communications channel. For example, the computing devices 20 may be communicate to the educational service provider 30 over a local area network (LAN) or intranet, or using an external network (e.g. by using a browser on the computing device 20 to browse to one or more web pages presented over the Internet 28).
  • In some examples, one or more of the users 12, 14 may be required to authenticate their identities in order to communicate with the educational service provider 30. For example, the users 12, 14 may be required to input a login name and/or a password to gain access to the services provided by the educational service provider 30.
  • In some embodiments, the wireless access points 22 may connect to the educational service provider 30 through a data connection 25 established over the LAN or intranet. Alternatively, the wireless access points 22 may be in communication with the educational service provider 30 via the Internet 28 or another external data communications network. For example, one user 14 may use a laptop 20 a to browse to a webpage that displays elements of an electronic learning system.
  • The educational service provider 30 generally includes a number of functional components for facilitating the provision of electronic learning services. For example, the educational service provider 30 generally includes one or more processing devices 32 (e.g. servers), each having one or more processors. The processing devices 32 are configured to send information (e.g. web page content) to be displayed on one or more computing devices 20 in association with the electronic learning system 10. In some embodiments, the processing device 32 may be a computing device 20 (e.g. a laptop or personal computer).
  • The educational service provider 30 also generally includes one or more data storage devices 34 that are in communication with the processing devices 32 (e.g. servers), and could include a relational database, file system, or any other suitable data storage device. The data storage devices 34 are configured to host data 35 such as course content and enrollment information.
  • The data storage devices 34 may also store authorization criteria that define what actions may be taken by the users 12, 14. The authorization criteria may also include at least one security profile associated with at least one role. For example, one role could be defined for users who are primarily responsible for teaching or assessing work product from other users. Users with such a role may have a security profile that allows them to post assignments to the electronic portfolios associated with users that are enrolled in a particular course. Learning services may provide for the authenticating process to authenticate users 12, 14.
  • In some embodiments, some of the authorization criteria may be defined by specific users 40 who may or may not be part of the educational community 16. For example, users 40 may be permitted to define global configuration profiles for the system 10, define roles within the system 10, set security profiles associated with the roles, and assign the roles to particular users 12, 14 in the system 10. The assigned role may be related to the users' participation related to certain activity. For example, a user may be assigned a “learner” role in some courses, and assigned an “instructor” role in some other courses. Authorization of a user's action in an activity may be based on the user's role related to the activity. The authorization granted by the roles may be may be predefined. In some cases, the users 40 may use another computing device 42 (e.g. a desktop computer) to accomplish these tasks. Users 40 may use learning services to define the authorization criteria.
  • The data storage devices 34 may also be configured to store other information, such as personal information about the users 12, 14 of the system 10, information about which courses the users 12, 14 are enrolled in, roles to which the users 12, 14 are assigned in various contexts, particular interests of the users 12, 14 and so on.
  • The processing devices 32 and data storage devices 34 may also be configured to provide other electronic learning capabilities (e.g. allowing users to enroll in courses), and/or may be in communication with one or more other service providers that provide such other electronic learning capabilities.
  • In some embodiments, the system 10 may also have one or more backup servers 31 that may duplicate some or all of the data 35 stored on the data storage devices 34. The backup servers 31 may be desirable to prevent data loss in the event of an accident such as a fire, flooding, hardware failure, or theft.
  • In some embodiments, the backup servers 31 may be directly connected to the educational service provider 30 but located within the system 10 at a different physical location. For example, the backup servers 31 could be located at a remote storage location at a distance from the service provider 30, and the service provider 30 could connect to the backup server 31 using a secure communications protocol to ensure that the confidentiality of the data 35 is maintained.
  • Referring to FIG. 2, provided therein is a learning management system 50 according to one embodiment. The learning management system 50 may include a learning management processor (not shown) and a learning management memory (not shown) coupled to the learning management processor. The learning management processor is programmed to perform at least one learning management service. The learning management processor may be the processing device 32 (server). The learning management processor may be one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The learning management memory may be memory resident on the processing device 32 and/or one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The first learning management memory may also be one or more of the data storage devices 35.
  • The learning management processor in the learning management system 50 is programmed for providing a learning management services module 52 for performing learning management services. The learning management services may be at least a part of one or more electronic learning services provided by the system 10.
  • The electronic learning services may implement at least some of the functionalities and tools provided by the system 10. For example, the electronic learning services may include electronic live and/or prerecorded lecture webcasts, online presentations, electronic publications, generation of course content, authorization and security services, facilitated group discussions, grade book functions, quizzing, testing and other assessment tools, electronic chat rooms, course management software, online course syllabi, user profiles including learner profiles, instructor profiles, and administrator profiles, and social networking amongst learners and between learners and instructors and/or other roles.
  • The learning management services performed by the learning management system 50 may be for providing a learning environment comprising a web-based suite of teaching and learning tools for course development, delivery, and management. They may also be for providing a platform for collecting, organizing, reflecting, and presenting learning artifacts such as assignments, group projects and learner portfolios. They may also be for providing competency tracking and reporting tools. They may also be for data and knowledge mining and analysis. They may also be for providing modules for storing, tagging, searching and reusing of learning content across multiple programs, courses and sections. They may also be for providing synchronous chat, whiteboard, and presentation modules for facilitating real-time collaboration.
  • The learning management services may also be setting data or getting data from the learning management memory or other data storage devices such as data storage device 34 that it may have access to.
  • Each learning management service performed by the learning management services module 52 may be active, passive or a combination of being active and passive.
  • If the service is an active learning management service, then it will request one or more other services. The one or more other services may be requested from vendor systems external to the learning management system 50, such as first vendor “V1110, a third vendor “V3130, and a fifth vendor “V5. The services may also be requested internally within the learning management system 50 (not shown).
  • If a service performed by the learning services module 52 is passive, then it will provide the service upon request by one or more other services. The request may be received from one or more vendor systems external to the learning management system 50, such as the first vendor vendor “V1110, the fourth vendor “V4140 and the fifth vendor “V5150. The service request may also be received internally within the learning management system 50 (not shown).
  • A service performed by the learning services module may be neither active nor passive. For example, a service could be self-initiated, without being initiated by any incoming service requests, and may not include any outgoing service requests.
  • A service performed by the learning management services module may be both active and passive. For example, a service initiated by a request from another service, may request yet other services.
  • By way of an example, an active and passive service performed by the learning services module 52 may be a chat room service for providing an electronic chat room for a tutorial.
  • The learning management system 50 may provide a course management service for managing online contents of a course. The course management service may include a web page link to request a chat room. If one or more of the users 12, 14 request a chat room, that service may request another service (the chat room service) to provide the chat room.
  • The chat room service may prompt and receive chat room parameters from the initiating users 12, 14. The chat room parameters may include the number of participants, identity of the moderator, and aliases for participants for that chat room. Upon receipt of the chat room parameters, the chat room service will request another service to authenticate and display the chat room on participant users' computing devices 20.
  • The service to authenticate and display the chat room may be requested from vendors providing the service of displaying chat rooms resident on each computing device 20. A different vendor may perform this service on a different computing device. For example, the service to display a chat room may be performed using Flash by Adobe Systems one the computing device 20 a, and performed using a text-based html site on the computing device 20 b. In the foregoing example, the chat room service is both active and passive in that it receives service request from one service (from the service that provides learning management web link) and requests a service from another (vendors to display the chat room).
  • As shown in FIG. 2, the learning management services module 52 includes a combination of both active and passive services as it sends services requests to vendors, and receives services requests from vendors. Generally, sending a service request to a vendor will require the service request to be in a format compatible with the recipient vendor.
  • The learning management system 50 may include learning management services application programming interface (API) 54 for requesting learning management services. The learning management services API 54 may generally contain information about the services provided by the learning management services module 52, and acceptable formats to request those services in a compatible form. The acceptable formats may include parameters expected and syntax of the service requests.
  • Systems who are aware of the learning management services API 54 may request services from the learning management services module 52. As shown, Vendor “V4” as indicated by 140, and middleware 170 send service request using the learning management API module 54. Similarly, the learning management system 50 is aware of a third vendor “V3API 134 for requesting services from the third vendor V3 and sends services requests to vendor V3 using the vendor V3 API.
  • However, the learning management system 50 is generally not aware of APIs for vendors V1, V5 and V6. Conversely, the vendors V2, V5, and V6 are also unaware of the learning management services API 54. This restricts the ability of the learning management system 50 and the vendors V1, V2, V5, and V6 to request services from each other directly.
  • To facilitate communication with vendors V1 and V2, the learning management system 50 includes an extensible integration module 60.
  • The extensible integration module 60 includes a predefined vendor services interface 62, a predefined learning management services interface 64, and a vendor configuration upload component 70. In the embodiment as shown, the extensible integration module 60 further includes learning management system configuration settings 56 and vendor configuration settings about vendors V1 and V2 as indicated by 116, and 126 respectively.
  • The predefined vendor services interface 62 includes vendor services definitions about vendor services that one or more vendors are expected to provide. The vendor services definitions may also include parameters required for those services. These definitions may be implemented by one or more vendor systems.
  • Exemplary vendor services definitions may be for provision of an electronic chat room. The definitions may include base-level services expectations that any vendor providing electronic chat room services implementing the definitions should meet. The definitions may include services for creation of a new permanent chat room with parameters for the max number of participants, participant email addresses, option to send out invites, room title, and specific room capabilities (for e.g., availability of private chat between the members), ability to change aliases, etc. The definitions may also include services for deletion of rooms, updating room configurations, etc.
  • The vendor services definitions allow the learning management system 50 to be developed in view of the definitions. This may permit learning management system 50 to natively request vendor services, that is the learning management system 50 can request vendor services from vendor systems in a format compatible to the vendor without a need for conversion tool and/or integration of the vendor's API. This may be of particular advantage if there are the learning management system 50 is desirous of requesting services from multiple vendors with multiple vendor APIs.
  • The vendor services definitions also permit deep integration between the learning management system 50 and the vendors in that the learning management system 50 may be designed in view of the services that are expected to be provided by the vendors. Deep integration allows the learning management system 50 to leverage the expected vendor services such that duplication of services may be reduced. Deep integration also permits more effective use of vendor services as the services provided by the learning management system 50 may be designed specifically to maximize the utilization of the features provided by the vendor services. For example, in designing the learning management system 50, the expected vendor services may be included in workflows, quick-link functionality, scheduled events/tasks, embedded in content, etc. These vendor services may be set to be latent until further information regarding availability to these vendor services is received at the vendor configuration upload component 70.
  • The vendor services definitions may also reduce scheduling constraints in the development of the learning management system and the vendor systems. That is, each of the systems may be developed independently and yet remain deeply integrated.
  • The predefined learning management services interface 64 includes learning management services definitions about learning management services that at least one learning management system 50 is expected to provide. The learning management services definitions may also include parameters required for those services. The learning management services 52 module may implement one or more of these definitions. Exemplary learning management definitions may include functions that permit access to data such as retrieving and setting grade information, student biographical information, etc.
  • The learning management services definitions allow the vendor systems to be developed in view of the definitions. This may permit vendors to natively request learning management services without requiring any external conversion tool and/or integration of the learning management system's API 54.
  • The learning management services definitions also permits deep integration between the vendors to the learning management system 50 in that the vendors may be designed in view of the services that are expected to be provided by the learning management system 50. Deep integration allows the vendors to leverage the learning management system services such that duplication of services may be reduced. Deep integration also permits more effective use of learning management system services as the services provided by the vendor may be designed specifically to maximize utilization of the features provided by the learning management system.
  • The learning management services definitions may also reduce scheduling constraints in the development of the learning management system and the vendor systems. That is, each of the systems may be developed independently and yet remain deeply integrated.
  • The vendor configuration upload component 70 receives vendor configuration settings at the learning management system 50. Vendor configuration settings may contain information that may be used to communicate with respective vendors. Each vendor configuration setting may contain information such the location of the vendor (e.g. URI/URL), secret keys, passwords, performance settings, display options, encryption settings, etc. As shown, the configuration settings for the vendors V1 and V2 are indicated by 116, and 126 respectively. The configuration settings for the learning management system indicated by 56 may be transmitted to one or more vendor systems for similar purposes. The vendor configuration settings may be received from any individual or system with appropriate access. For example, vendor configuration settings may be received from any of the users, educational institution, the learning management system and/or vendor systems.
  • Receiving of vendor configuration settings may also indicate to the learning management system 50 of the availability for request of one or more expected service implementing the vendor services definitions. It may also indicate that one or more vendors are now available to provide vendor services upon request. Upon receipt of the vendor configuration from a particular vendor, the learning management system may start making vendor services requests from that vendor.
  • The learning management system 50 may communicate with vendors V1 and V2 using the extensible integration module 60. As shown, the learning management system 50 receives service requests from the vendor V2 according to the predefined learning management services interface 64, and sends services requests to the vendor V1 according to the predefined vendor interface 62.
  • Referring to FIG. 3, provided therein is the first vendor V1 as indicated by 110. The first vendor V1 may include a first vendor processor (not shown) and a first vendor memory (not shown) coupled to the first processor. The first vendor processor may be programmed to perform at least one vendor service. The at least one vendor service may implement at least one of the vendor services definitions. The first vendor processor may be the processing device 32. Alternatively, the first vendor processor also may be one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The first vendor memory may also be a memory resident on the processing device 32 and/or one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The first memory may also be one or more of the data storage devices 35.
  • The first vendor processor in the first vendor V1 may be programmed to provide a first vendor V1 services module 112, a first vendor V1 API 114 and the vendor integration module 118.
  • The first vendor V1 services module 112 may perform vendor services. The vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • In the embodiment as shown, all of the services provided by the first vendor V1 services module 112 are passive. This is only for illustrative purposes as services performed by a vendor will typically be both active and passive.
  • The first vendor V1 has a first vendor V1 API 114 for requesting services from the V1 services module 112. However, the learning management system may be unaware of the first vendor V1 API 114 and may not request services using that API. This may arise in exemplary situations where the V1 API 114 is developed after, or concurrently with the learning management system 50.
  • The first vendor V1 has the vendor integration module 118. The vendor integration module 118 is similar to the extensible module 60 of the learning management system 50, and like elements are indicated by like numbers. As shown, the vendor integration module 118 includes the first vendor V1 configurations settings 118 and the predefined vendor services interface 62. The vendor V1 configuration settings are uploaded to the learning management system 50. The first vendor V1 may receive service requests from the learning management system 50 in accordance with the predefined vendor services interface 62 as indicated.
  • The first vendor V1 services module 112 may either implement the predefined vendor services interface 62 directly, through use of the first vendor V1 API 114 or another conversion module (not shown). In the embodiment as shown, the predefined vendor services interface 62 is implemented through a combination of the first vendor V1 API 114 and the first vendor V1 services module directly. In other embodiments (not shown), an additional module interfacing between first vendor V1 API and predefined vendor services interface may be implemented. The additional module may be used for example in situations wherein the API is developed prior to the predefined vendor services interface.
  • Referring to FIG. 4, provided therein is the second vendor V2 as indicated by 120. The second vendor V2 may include a second vendor processor (not shown) and a second vendor memory (not shown) coupled to the second processor.
  • The second vendor processor may be programmed to perform at least one vendor service. The at least one vendor service may implement at least one of the vendor services definitions. The second vendor processor may be the processing device 32 (server). The second vendor processor also may be one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The second vendor memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The second memory may also be one or more of the data storage devices 35.
  • The second vendor processor in the second vendor V2 may be programmed to provide a second vendor services module 122 and the vendor integration module 128.
  • The V2 services module 122 may perform vendor services. The vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • In the embodiment as shown, all of the services provided by the second vendor V2 services module 122 are active. This is only for illustrative purposes as services performed by a vendor will typically be both active and passive.
  • The second vendor V2 may request services from the learning management system 50. However the second vendor V2 may be unaware of the learning management services API 54 and may not request services using that API. This may arise in exemplary situations where the second vendor V2 is developed before, or concurrently with the learning management system 50.
  • The second vendor V2 also has the vendor integration module 128. The vendor integration module 128 is similar to the extensible module 60 of the learning management system 50, and like elements are indicated by like numbers. The vendor integration module 128 includes the second vendor V2 configurations settings 128 and the predefined learning management services interface 64. The second vendor V2 configuration settings are uploaded to the learning management system 50. The second vendor V2 may be developed in view of the predefined learning management services interface 64 such that the second vendor may natively request the learning management services through the vendor integration module.
  • The second vendor V2 may request learning management services from the learning management system 50 in accordance with the predefined learning management service interface 64 as indicated.
  • Referring to FIG. 5, provided therein is the third vendor V3 as indicated by 130. The third vendor V3 may include a third vendor processor (not shown) and a third vendor memory (not shown) coupled to the third processor.
  • The third vendor processor may be programmed to perform at least one vendor service. The third vendor processor may be the processing device 32 (server). The third vendor processor also may be one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The third vendor memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The third memory may also be one or more of the data storage devices 35.
  • The third vendor processor in the third vendor V3 may be programmed to provide a third vendor services module 132 and the third vendor API 134.
  • The V3 services module 132 may perform vendor services. The vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • In the embodiment as shown, all of the services provided by the V3 services module 132 are passive. This is only for illustrative purposes as services performed by a vendor will typically be both active and passive.
  • The third vendor V3 may receive request services from the learning management system 50. Since the learning management system 50 is aware of the third vendor API 134, the learning management system 30 may request third vendor V3 services according to that API. This may arise in exemplary situations where the learning management system 50 is developed after the third vendor V3 and has integrated third vendor V3 API 134, or has integrated the third vendor API 134 after development.
  • Referring to FIG. 6, provided therein is the fourth vendor V4 as indicated by 140. The fourth vendor V4 may include a fourth vendor processor (not shown) and a fourth vendor memory (not shown) coupled to the fourth processor. The fourth vendor processor may be programmed to perform at least one vendor service. The fourth vendor processor may be the processing device 32 (server). The fourth vendor processor also may be one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The fourth vendor memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The fourth memory may also be one or more of the data storage devices 35.
  • The fourth vendor processor in the fourth vendor V4 may be programmed to provide a fourth vendor services module 142 and request for learning management services using the learning management services API 54.
  • The V4 services module 142 may perform vendor services. The vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • In the embodiment as shown, all of the services provided by the V4 services module 142 are active. This is only for illustrative purposes as services performed by a vendor will typically be both active and passive.
  • The fourth vendor V4 may request services from the learning management system 50. Since the fourth vendor V4 is aware of the learning management system API 54, the fourth vendor may request learning management services according to that API. This may arise in exemplary situations where the fourth vendor V4 is developed before the learning management system 50 and has integrated the learning management API 54, or has integrated the learning management API 54 after development.
  • Referring to FIG. 6, provided therein is the fifth vendor V5, a sixth vendor V6, and a middleware system indicated by 150, 160 and 170 respectively. Each of the vendors V5, V6 may include a fifth/sixth vendor processor (not shown) and a fifth/sixth vendor memory (not shown) coupled to the fifth/sixth processor respectively. The fifth/sixth vendor processor may be programmed to perform at least one vendor service. The fifth/sixth vendor processor may be the processing device 32 (server). The fifth/sixth vendor processor also may be one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The fifth/sixth vendor memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The fifth/sixth memory may also be one or more of the data storage devices 35.
  • The middle system may include a middle ware processor (not shown) and middle ware memory (not shown) coupled to the middleware processor. The middleware processor may be the processing device 32 (server).
  • The middleware processor also may be one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The middleware memory may be a memory resident on the processing device 32 and/or one or more of the computing devices 20, 20 a, 20 b, 20 c and 42. The middleware memory may also be one or more of the data storage devices 35.
  • The fifth vendor processor in the fifth vendor V3 may be programmed to provide a fifth vendor services module 152 and a fifth vendor V5 API 154. Similarly, the sixth vendor processor in the sixth vendor V6 may be programmed to provide a sixth vendor services module 162 and a sixth vendor V6 API 164.
  • The middleware processor may be programmed to include vendor APIs 154, 164 and the learning management system API 54.
  • Each of the vendor services module 152 and 162 may perform vendor services. The vendor services may implement at least a part of one or more electronic learning services that provides at least some of the functionalities and tools provided by the system 10 as described herein above.
  • In the embodiment as shown, all of the services provided by the vendor services module 152 and 162 are both active and passive. This is only for illustrative purposes and in other embodiments the services may only be passive, or active.
  • The vendors V5, V6 may request services to, and receive service requests from the learning management system 50. Since the vendors V5, V6 are unaware of the learning management system API 54, they may not request services from the learning management system 50 using that API. Similarly, the learning management system 50 is unaware of the vendors APIs 154, 164 so it cannot request services from vendors V5, V6 using those APIs.
  • The middleware system 170 may facilitate service requests from the vendors V4, V5 to the learning management system 50 and vice versa. The middleware system 170 includes both the vendor APIs 154 164 and learning management API 54.
  • The middleware system 170 may be programmed to receive native service requests from vendors V5, V6 and convert them to conform them according to LMS API to request services from the learning management system 50. Similarly, the middleware system 170 may be programmed to receive native service requests from the learning management system 50, and covert them according to each of the vendor APIs 154, 164 prior to forwarding the requests to the vendors 150, 160.
  • Not all requests may be convertible, and/or some factors may be lost during the conversion. It is also possible that a conversion module may be necessary in the learning management system 50, and the vendors V5 and V6 to convert service requests to middleware understandable format. The middleware system 170 may be employed in exemplary situations where the learning management system 50 and vendors 150, 160 are developed in isolation without knowledge of each other's APIs, and no effort had been made to integrate each other's APIs.
  • Vendor processors and learning management processors may be implemented by any combination of computing devices 20 and the processing devices 32. A single processor may implement the learning management processor and one or more vendor processors. Similarly, vendor memories may be implemented by any combination of computing devices 20 and processing devices 32, a single memory may implement the learning management memory and one or more vendor memories.
  • In other embodiments, the learning management system 50, and or each of the vendors V1-V6 may further include an extensibility layer to facilitate communication with external systems.
  • Configurations of vendors V1-V6 described herein are only for exemplary purposes, and modifications, substitutions, changes, and equivalents may occur to those of ordinary skill in the art without abandoning the essence of the invention.
  • While certain features of the invention has been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

Claims (27)

1. An extensible electronic learning system comprising:
a) at least one learning management system having a learning management processor and a learning management memory operatively coupled thereto, wherein at least one learning management service or at least one extensible integration module are programmatically providable by the learning management processor, each extensible integration module comprising:
i) a predefined vendor services interface configured for requesting vendor services from at least one vendor system, the predefined vendor services interface comprising at least one vendor services definition, and
ii) a vendor configuration upload component configured for receiving vendor configuration settings about the at least one vendor system; and
b) the at least one vendor system having a vendor processor and a vendor memory operatively coupled thereto, said vendor processor programmed for providing a one or more vendor services, at least one of said one or more vendor services providing the at least one of said vendor service definition and at least one vendor integration module, each vendor integration module comprising the predefined vendor services interface and the vendor configuration settings;
c) wherein the extensible integration module is configurable based at least on one or, more settings of the learning management system and one of the vendor configuration settings and wherein the learning management system may request the at least one of said vendor services based on the extensible integration module.
2. The system of claim 1 wherein the extensible integration module further comprises a predefined learning management services interface having at least one learning management services definition.
3. (canceled)
4. The system of claim 2 wherein the vendor integration module further comprises a corresponding at least one predefined learning management service interface.
5. The system of claim 1 wherein the learning management processor is further programmed for actively requesting the at least one of said vendor via the extensible integration module.
6. The system of claim 4 wherein the at least one extensible integration module is configured to receive one or more requests from the at least one vendor system.
7. The system of claim 1 wherein at least one of said learning management services is integrated with at least one of said vendor services based on the at least one vendor services definition.
8. (canceled)
9. The system of claim 2 wherein at least one of said vendor services is deeply integrated with at least one of said learning management services based on the at least one learning management services definition.
10. (canceled)
11. The system of claim 7 wherein the learning management processor is further programmed for not requesting vendor services from the at least one vendor system if the vendor configuration settings for the at least one vendor system are not received in the vendor configuration upload component.
12. The system of claim 1 wherein the at least one vendor configuration settings comprises vendor information for requesting services from the vendor associated with the vendor configuration settings.
13. The system of claim 1 wherein the vendor configuration settings comprises at least one of vendor location information, communication security information, and authentication information.
14. The system of claim 1 wherein the at least one vendor system comprises a plurality of vendors.
15. The system of claim 1 wherein software for programming the learning management processor is developed in view of the predefined vendor services interface.
16. The system of claim 1 wherein software for programming the vendor processor is developed in view of the predefined learning management services interface.
17. The system of claim 1 wherein software to program the processor in the learning management and the processor in the vendor are developed independently in view of at least one of the predefined vendor services interface and the predefined learning management services interface.
18. A computer implemented extensible electronic learning method using a processor and a memory operatively coupled thereto comprising the steps of:
a) providing at least one learning management system and at least one vendor system; and
b) providing at least one extensible integration module comprising a predefined vendor services interface configured for requesting vendor services from the at least one vendor sysytem, the predefined vendor services interface having at least one vendor services definition and a vendor configuration upload component for receiving vendor configuration settings from the at least one vendor system, wherein the extensible integration module is configurable based at least on one or more settings of the learning management system and one of the vendor configuration settings of the vendor system; and
c) requesting, by the learning management system, the at least one of said vendor services from the at least one vendor system based on the extensible integration module.
19. The method of claim 18 further comprising the step of receiving the vendor configuration settings for requesting the at least one vendor service based on the extensible integration module.
20. (canceled)
21. (canceled)
22. A tangible computer readable medium including computer executable instructions which, when executed on a computing device, cause the computing device to:
a) provide at least one learning management service; and
b) provide at least one extensible integration module comprising a predefined vendor services interface configured for requesting vendor services from the at least one vendor system, the predefined vendor services interface the predefined vendor services interface having at least one vendor services definition and a vendor configuration upload component for receiving vendor configuration settings from at least one vendor system.
23. The computer readable medium of claim 22, wherein the instructions further cause the computing device to receive the vendor configuration settings for requesting the at least one vendor service based on the extensible integration module.
24. The computer readable medium of claim 22, wherein the computer readable medium is non-transitory.
25. (canceled)
26. (canceled)
27. (canceled)
US17/203,234 2010-01-07 2021-03-16 Systems and methods for providing extensible electronic learning systems Pending US20210280084A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/203,234 US20210280084A1 (en) 2010-01-07 2021-03-16 Systems and methods for providing extensible electronic learning systems

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US29307210P 2010-01-07 2010-01-07
US12/958,263 US10971032B2 (en) 2010-01-07 2010-12-01 Systems and methods for providing extensible electronic learning systems
US17/203,234 US20210280084A1 (en) 2010-01-07 2021-03-16 Systems and methods for providing extensible electronic learning systems

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/958,263 Continuation US10971032B2 (en) 2010-01-07 2010-12-01 Systems and methods for providing extensible electronic learning systems

Publications (1)

Publication Number Publication Date
US20210280084A1 true US20210280084A1 (en) 2021-09-09

Family

ID=44225312

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/958,263 Active US10971032B2 (en) 2010-01-07 2010-12-01 Systems and methods for providing extensible electronic learning systems
US17/203,234 Pending US20210280084A1 (en) 2010-01-07 2021-03-16 Systems and methods for providing extensible electronic learning systems

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/958,263 Active US10971032B2 (en) 2010-01-07 2010-12-01 Systems and methods for providing extensible electronic learning systems

Country Status (1)

Country Link
US (2) US10971032B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782058B2 (en) * 2011-10-12 2014-07-15 Desire2Learn Incorporated Search index dictionary
US9544257B2 (en) * 2014-04-04 2017-01-10 Blackberry Limited System and method for conducting private messaging

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297249A (en) * 1990-10-31 1994-03-22 International Business Machines Corporation Hypermedia link marker abstract and search services
US8165518B2 (en) * 2000-10-04 2012-04-24 Knowledge Factor, Inc. Method and system for knowledge assessment using confidence-based measurement
US6587668B1 (en) * 2001-04-30 2003-07-01 Cyberu, Inc. Method and apparatus for a corporate education system
US7549153B2 (en) * 2002-07-22 2009-06-16 Amberpoint, Inc. Apparatus and method for content and context processing of web service traffic
US20040076941A1 (en) * 2002-10-16 2004-04-22 Kaplan, Inc. Online curriculum handling system including content assembly from structured storage of reusable components
US8225282B1 (en) * 2003-11-25 2012-07-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
US20060286536A1 (en) * 2005-04-01 2006-12-21 Sherman Mohler System and method for regulating use of content and content styles in a distributed learning system
DE202006021112U1 (en) * 2005-11-02 2012-09-24 Sourcecode Technology Holding, Inc. Device for processing business objects, electronic formats and workflows
US8239226B2 (en) * 2005-11-02 2012-08-07 Sourcecode Technologies Holdings, Inc. Methods and apparatus for combining properties and methods from a plurality of different data sources
US7808975B2 (en) * 2005-12-05 2010-10-05 International Business Machines Corporation System and method for history driven optimization of web services communication
US20070224585A1 (en) * 2006-03-13 2007-09-27 Wolfgang Gerteis User-managed learning strategies
US20070233782A1 (en) * 2006-03-28 2007-10-04 Silentclick, Inc. Method & system for acquiring, storing, & managing software applications via a communications network
US8230448B2 (en) * 2006-05-09 2012-07-24 Netiq Corporation Methods, systems and computer program products for web service interaction with a resource management system
ATE421221T1 (en) * 2006-06-02 2009-01-15 Software Ag SYSTEM AND METHOD FOR MANAGING WEB SERVICES
US20070298403A1 (en) * 2006-06-09 2007-12-27 Lin Zhou System and method for managing educationl courses
WO2008030991A2 (en) * 2006-09-06 2008-03-13 Agilix Labs, Inc. Security methods for preventing access to educational information by third parties
US20090066348A1 (en) * 2006-09-06 2009-03-12 Young Shik Shin Apparatus and method for quantitative determination of target molecules
US8112446B2 (en) * 2006-12-30 2012-02-07 Agilant Learning Services Llc Centralized content repositories for distributed learning management systems
US20080254434A1 (en) * 2007-04-13 2008-10-16 Nathan Calvert Learning management system
US8271420B2 (en) * 2007-07-09 2012-09-18 Blackboard Inc. Systems and methods for integrating educational software systems
US20120301862A1 (en) * 2007-12-13 2012-11-29 Donald Spector Method for providing education and entertainment
US20090197234A1 (en) * 2008-01-31 2009-08-06 Damian Creamer System and method for a virtual school
US20090291426A1 (en) * 2008-05-20 2009-11-26 Laureate Education, Inc. Educational system for presenting one or more learning units to students in different learning environments
CN101296243B (en) * 2008-06-26 2013-02-20 阿里巴巴集团控股有限公司 Service integration platform system and method for providing internet service
US8291490B1 (en) * 2008-06-30 2012-10-16 Emc Corporation Tenant life cycle management for a software as a service platform
US20100120008A1 (en) * 2008-11-12 2010-05-13 Mcdonagh Patrick J System and method for interactive learning on television
US8402055B2 (en) * 2009-03-12 2013-03-19 Desire 2 Learn Incorporated Systems and methods for providing social electronic learning
US8739153B2 (en) * 2009-06-25 2014-05-27 Ricoh Company, Ltd. Centralized utility for automated retrieval, distribution/installation, and licensing management of software updates using peer-to-peer communication
TWI501209B (en) * 2009-07-24 2015-09-21 Cheng Ta Yang Internet interactive learning and managing system
US8838015B2 (en) * 2009-08-14 2014-09-16 K12 Inc. Systems and methods for producing, delivering and managing educational material
US9704129B2 (en) * 2009-08-31 2017-07-11 Thomson Reuters Global Resources Method and system for integrated professional continuing education related services
US20110151426A1 (en) * 2009-12-22 2011-06-23 Oberg Stefan Learning tool
US9659313B2 (en) * 2010-09-27 2017-05-23 Unisys Corporation Systems and methods for managing interactive features associated with multimedia content
US20120288842A1 (en) * 2010-11-11 2012-11-15 Cairns Thomas D Personalized Course Management System
US20120225415A1 (en) * 2011-03-02 2012-09-06 Cengage Learning, Inc. Learning content delivery system
US20120231435A1 (en) * 2011-03-09 2012-09-13 Mcbride Matthew D System and method for education including community-sourced data and community interactions
US20120315616A1 (en) * 2011-06-13 2012-12-13 The Learning Contagion, Llc. E-learning method and system

Also Published As

Publication number Publication date
US10971032B2 (en) 2021-04-06
US20110167026A1 (en) 2011-07-07

Similar Documents

Publication Publication Date Title
US11934770B2 (en) System and methods for context specific annotation of electronic files
Vermaat et al. Discovering computers© 2018: Digital technology, data, and devices
US9524491B2 (en) Master navigation controller for a web-based conference collaboration tool
US8271420B2 (en) Systems and methods for integrating educational software systems
EP2165267A1 (en) Systems and methods for integrating educational software systems
Velev Challenges and opportunities of cloud-based mobile learning
US20210280084A1 (en) Systems and methods for providing extensible electronic learning systems
CN105657024A (en) Online information interaction method
US11450222B2 (en) System and method for sharing content
CA2784362C (en) Systems and methods for monitoring elearning system data and generating recommendations
Franklin et al. The future of BYOD in organizations and higher institution of learning
Matthews et al. C-BRIG: a network architecture for real-time information exchange in smart and connected campuses
ur Rehman et al. Security and Reliability Requirements for a Virtual Classroom
Scott Investigation and development of an e judiciary service for a citizen oriented judiciary system for rural communities
AU2016259426A1 (en) Systems and methods for monitoring eLearning system data and generating recommendations
Logofătu DISTANCE LEARNING-ELECTRONIC PLATFORMS FOR COMMUNICATION AND COLLABORATION
Xue et al. The Design and Implementation of Equipment Academy Educational Management Information System Based on the Web Environment
AU2015202383A1 (en) Systems and Methods for Monitoring eLearning System Data and Generating Recommendations
Schläger et al. Intensive Programme on Information and Communication Security

Legal Events

Date Code Title Description
AS Assignment

Owner name: D2L CORPORATION, CANADA

Free format text: CHANGE OF NAME;ASSIGNOR:D2L INCORPORATED;REEL/FRAME:056225/0074

Effective date: 20140926

Owner name: D2L INCORPORATED, CANADA

Free format text: CHANGE OF NAME;ASSIGNOR:DESIRE2LEARN INCORPORATED;REEL/FRAME:056225/0056

Effective date: 20140910

Owner name: D2L CORPORATION, CANADA

Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNORS:AUGER, JEREMY JASON;BAKER, JOHN ALLAN;LEE, WILLIAM;REEL/FRAME:056219/0619

Effective date: 20210404

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION