System and method for communication between rich internet applications

Information

  • Patent Grant
  • 10430491
  • Patent Number
    10,430,491
  • Date Filed
    Friday, May 30, 2008
    16 years ago
  • Date Issued
    Tuesday, October 1, 2019
    4 years ago
Abstract
Systems and methods are disclosed for communicating between applications. In one exemplary embodiment, there is provided a system for communicating between applications where the system includes a Rich Internet Application and a control room within a server system The Rich Internet Application broadcasts information to the control room and the control room broadcasts the information to applications connected to the system. Moreover the Rich Internet Application also transmits low priority information to a web application for delayed logging and processing.
Description
FIELD

The invention relates generally to Rich Internet Applications that require custom communications with one another and to management of content used by these applications.


BACKGROUND

Rich Internet Applications are applications that communicate with one another. Part of the management of Rich Internet Applications includes dealing with the demand for constant communication between applications, dealing with any requirements for low latency or real time communications, and content issues. The content issues are especially relevant with client-side content, where the client side content of the Rich Internet Application is updated frequently in response to instructions from a server component.


Current solutions may rely on proprietary server/client frameworks that require licensing or have difficulty scaling. Another current solution relies on a periodic polling mechanism, where each of a set of distributed web-browser based applications must make repeated requests to the server to get the information about the other users, as well as post their own recent actions. These solutions suffer from a number of issues. They tend to lack customizability, in that they offer a limited amount of customization in the amount and type of information that can be passed between the web browser based Rich Internet Applications and the server components of the system. The also tend to have speed limitations, in that they do not provide real-time communication between the server and the web-browser-based UIs. The latency, or delay in sending and receiving information provides lower performance. Most current solutions limit the total number of participants to a relatively small number, and lack any method of scaling to larger numbers of users. Some of the current solutions require the installation of a proprietary server module to integrate the messaging protocol, and the use of this proprietary server can limit interoperability with other proprietary or non-proprietary systems. Finally, some of these prior solutions require expensive server components, introducing cost limitations.


There is therefore a need to solve the problem of coordinating the actions of numerous widely distributed web application users. A system and method is needed that integrates Rich Internet Applications while at the same time solving scalability, performance, customizability, interoperability and cost issues.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a diagram illustrating an example of a Rich Internet Application communication system;



FIG. 2 is a diagram illustrating a Rich Internet Application communication system with multiple applications;



FIG. 3 is an illustration of an implementation of a Rich Internet Application communication system;



FIG. 4 is a diagram illustrating a presentation workflow for a system including a Rich Internet Application communication system;



FIG. 5 illustrates an example of a client that may run a Rich Internet Application within a Rich Internet Application communication system;





DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

Communication is an essential aspect of Rich Internet Applications. The described embodiment of a Rich Internet Application communication system is related to Rich Internet Applications that require custom communications with one another. The described embodiments also relate to management of content used by these applications. The innovations herein integrate Rich Internet Applications and improve scalability, performance, customizability, interoperability and cost issues.



FIG. 1 is a diagram illustrating communication system 10. Rich Internet Application communication system 10 includes server system 12, client application 20, web application 14, web application to server link 18, client application to web application link 22 and client application to server link 16. The use of web application 14 allows the load on server system 12 to be reduced, and saves CPU cycles for the end user facing application.


Client application 20 is an application that communicates with other applications, and is typically referred to as a Rich Internet Application. Client application 20 may run on a home computer, a network enabled phone, a personal data assistant, or another device capable of connecting Rich Internet Applications to each other.


Web application 14 is an application that performs archiving and audit trail maintenance, among other functions. Web application 14 cues messages that are not urgent and that may be delayed without impacting the performance of communication system 10.


Server system 12 contains multiple “rooms” to which web application 14 and client application 20 may register and connect, including a control room to which client application 20 must connect. Server system 12 may be made up of a single server, or may comprise multiple networked servers. Server system 12 may be extendable to allow for improved server system performance by adding additional computing power to the system at any time. In one implementation, server system 12 is comprised of a Jabber server running eJabberD. This provides for flexibility and reduces costs by operation under a GNU General Public License. Web application to server link 18, client application to web application link 22 and client application to server link 16 are communication connections between the different segments of the communication system 10. Typically these will be connections of networked processing components through the internet, but they may operate through local area networks, wide area networks, phone networks, satellite communication links, or any other connection for allowing processing components to share information.



FIG. 2 shows multi-user communication system 30. Multi-user communication system 30 is similar to communication system 10 of FIG. 1. Multi-user communication system 30 includes a scalable number of client applications, shown here as 20a, 20b, and 20xyz. Multi-user communication system 30 also includes server system 12, web application 14, web application to server link 18, client application to web application link 22 and client application to server link 16. Here, server system 12 includes control room 24.


On initial startup of each client application 20, the client application 20 connects to server system 12 and authenticates itself as a valid user or registers as a new user. Each client application must join control room 24 on server system 12. Each client application 20 then broadcasts information to control room 24, allowing all other joined client applications 20 to receive the information. Control room 24 may also be used to push content such as presentation slides, video, or other content to client applications 20.



FIG. 3 illustrates a specific implementation of a communication system 50. This Rich Internet Application communication system 50 includes jabber server system 52, weblogic 54, Rich Internet Application 60, web application to server link 58, client application to web application link 62 and client application to server link 56.


Jabber server system 52 includes multiple hardware servers running Jabber software such as eJabberD. The servers are networked together, and must contain a control room. They may additionally run presence rooms, chat rooms, and registration interfaces. Jabber server system 52 is connected to Rich Internet Application 60 through client application to server link 56.


Rich Internet Application 60 contains software for interacting with jabber server system 52 for initialization and registration on initial startup of the Rich Internet Application 60. On startup, Rich Internet Application 60 connects to the jabber server system 52 and authenticates itself as a valid user or registers as a new user. This operates as an in-band registration system that may add new users only when needed and actively used, and avoids pre-configuration on jabber server system 52 due to user registrations and logins.


Following authentication, Rich Internet Application 60 must join the control room contained on jabber server system 52. Rich Internet Application 60 may transmit essential information to this control room for the jabber server system 52 and all other applications to see. The control room may also be used to push new content, alerts, and pop-up messages to users.


Rich Internet Application 60 may operate as a virtual world, which refers to an immersive user experience, with navigation and visual interaction taken from 3-Dimensional, real world parallels. Rich Internet Application 60 may set up virtual world environments for the use of businesses and their customers such as virtual tradeshows, job fairs, product demonstration, partner pavilions, conferences. and other uses in a wider range of areas that are readily implemented. Rich Internet Application 60 includes virtual show locations such as virtual exhibit halls, auditoriums, and booths, any of which may provide a user with access to video, audio, or text presentations.


In interacting with jabber server system 52, Rich Internet Application 60 may also use XMPP presence messages to provide a flexible and extensible mechanism for developers to integrate application specific logic for custom user tracking in a virtual environment. Rich Internet Application 60 joins a presence room after authenticating or registering with jabber server system 52. Rich Internet Application 60 then broadcasts XML-based information to this room, allowing jabber server system 52 and other Rich Internet Applications to receive this information. This allows features such as location tracking of a user in a virtual environment, location logging and analysis, and location based content delivery.


Rich Internet Application 60 may also connect to other chat rooms located on jabber server system 52. One chat room may be a special purpose multi-user chat room defined by XMPP to push content to Rich Internet Application 60 and any other connected applications. The central controller in jabber server system 52 may then push new content updates related to the room to Rich Internet Application 60 and other connected applications in the form of XMPP messages containing namespaced xml content. Based on the xml schema, Rich Internet Application 60 carries out the required operation.


Communication system 50 also contains weblogic 54. Weblogic 54 performs archiving and audit trail functionality that is not required to be real time or near real time. Separation of weblogic 54 functions from the communication interaction of Rich Internet Application 60 with rooms in jabber server system 52 allows the load on the server to be reduces and saves CPU cycles for critical time sensitive applications. Delayed information may also be cued and passed through weblogic 54 for the purpose of providing logging and storage compatibility with systems outside of communication system 50.


In one implementation, weblogic 54 consists of an erlang logger 64 and an application server queue 66. The erlang logger 64 collects all required logging packets and periodically sends them to an application server. Erlang logger 64 additionally contains an internal queue to which it will add the packets and then post them on a specified timeout. If the queue hits its full capacity before the timeout, the modules post the packets to the application server. Both the queue size and the timeout values may be configurable. In one possible implementation, HTTP POST mechanisms are used to send information to the application server. Application server queue 66 is present for queuing and processing of logging information. The logging module on the application server parses all the packets and adds them to application server queues based on the type of information contained. One possible implementation of these queues are JMS queues. JMS queues allow flexibility to delay processing beyond the initial delay from erlang logger 64. Additionally, use of JMS queues and application server queue 66 allows for easy moving of logging processes to different physical machines for improved efficiency. The queue for each different type of information may contain a corresponding Message Driven Beans for processing the incoming data.



FIG. 4 is a diagram illustrating an event center 90 that may be utilized by one or more users 92 that are presented with a presentation by the Rich Internet Application in a system further incorporating the communication system, and one or more presenters 94 who utilize the virtual system to present presentations to the users 92. The users 92 may interact with a registration and lobby modules 80 that permit the users to register with the system and schedule a presentation to view. In response to a successful registration, the user may be presented with a player page 96, such as a web page provided to a client computer of the user, that provides the audio and visual data for the presentation, slides, polls and URLs for the presentation, chat sessions and question and answers for a particular presentation. The data in the player page 96 is provided by the web server 60, the media server 54 and a chat server 98 that provides the chat functionality for a presentation. The presentation data for a live event presentation is provided to the servers 54, 60 and 98 by the presentation manager module 50c. The presenters 94 may utilize the event manager module 50b to reserve an event and/or configure an event. Once the event is reserve and configured, the presentation data is forwarded to the presentation manager module 50c.



FIG. 5 is a diagram illustrating an example of an online presentation client 100 that may be used in conjunction with the communication system for running a Rich Internet Application. The event client 100 may be implemented as a personal computer, workstation, PDA, cellular phone and the like with sufficient computing power to implement the functions of the client as described below. In the example shown in FIG. 3, the event client may be a typical personal computer that may further comprise a display unit 102, such as a CRT or liquid crystal display or the like, a chassis 104 and one or more input/output devices 106 that permit a user to interact with the client 100, such as, for example, a keyboard 106a and a mouse 106b. The chassis 104 may further include one or more processors 108, a persistent storage device 110, such as a hard disk drive, optical disk drive, tape drive, etc., and a memory 112, such as SRAM, DRAM or flash memory. In a preferred embodiment, the client is implemented as one or more pieces of software stored in the persistent storage device 110 and then loaded into the memory 112 to be executed by the processor(s) 108. The memory may further include an operating system 114, such as Windows, and a typical browser application 116, such as Microsoft Internet Explorer, Mozilla Firefox or Netscape Navigator and an event console module 118 (including a slide, polls, survey, URL, Q&A) that operates within the browser application. The client side of the system/apparatus is implemented as HTML and Javascript code that is downloaded/streamed to the client 100 during/prior a virtual tradeshow so that the synchronization of the assets does not require separate client software downloaded to the client.


While the foregoing has been with reference to a particular embodiment of the invention, it will be appreciated by those skilled in the art that changes in this embodiment may be made without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims.

Claims
  • 1. A system for communicating between applications, comprising: a first computing device coupled to a server system through a first communication link, the first computing device running one or more Rich Internet Applications and a chat application separate from the one or more Rich Internet Applications;a web application coupled to the one or more Rich Internet Applications over a second communication link;wherein the server system comprises a chat room that communicates with a chat application running on the first computing device, at least one presence room that communicates with the one or more Rich Internet Applications, and a control room that receives an authentication from each of the one or more Rich Internet Applications, receives a set of real time data independent of user input from each authenticated Rich Internet Application, communicates with the chat room and the presence room, and broadcasts the set of real time data for each authenticated Rich Internet Application to each of the other one or more Rich Internet Applications;wherein the web application registers with the chat room and the presence room via the control room, and then periodically receives a set of low priority logging data directly from the one or more Rich Internet Applications over the second communication link; andwherein the one or more Rich Internet Applications have a communication interaction with the server system using the first communication link.
  • 2. The system of claim 1 wherein the server system comprises a single processor.
  • 3. The system of claim 1 wherein the server system comprises an eJabberD server network.
  • 4. The system of claim 3 wherein the web application comprises a logger and an application server queue.
  • 5. The system of claim 4 wherein the logger comprises an erlang logger.
  • 6. The system of claim 4 wherein the web application communicates with an application server via an HTTP POST mechanism.
  • 7. The system of claim 5 wherein the application server queue comprises a JMS queue.
  • 8. The system of claim 7 wherein the Rich Internet Application communicates with the presence room using XMPP presence messages.
  • 9. The system of claim 8 wherein the XMPP presence messages define locations within a virtual show.
  • 10. The system of claim 1 wherein the first computing device is personal computer.
  • 11. The system of claim 1 wherein the first computing device is phone.
  • 12. A method of communicating between applications comprising: authenticating a rich internet application operating on a first computer, where the application is authenticated with a server system;authenticating a web application with the server system;broadcasting a first set of priority data from the authenticated rich internet application to a control room within the server system, wherein the broadcasting occurs in real time upon creation of the first set of priority data;communicating a subset of data from the control room with a chat room and a presence room in the server system;broadcasting a second set of priority data from the control room to the rich internet application, wherein the broadcasting the second set of priority data occurs in real time upon receipt of the second set of priority data by the control room;broadcasting a set of chat data, separate from the first and second sets of priority data, from a chat application operating on the first computer to a chat room operating within the server system, wherein the chat application is separate from the rich internet application andtransmitting a set of low priority data from the rich internet application directly to the web application for logging.
  • 13. The method of claim 12 wherein the server system comprises more than one server computer.
  • 14. The method of claim 12 wherein the server system comprises a jabber network.
  • 15. The method of claim 14 further comprising broadcasting a set of presentation data from the control room to the rich internet application.
  • 16. The method of claim 15 further comprising displaying the set of presentation data within a virtual show on a client that is running the rich internet application.
US Referenced Citations (193)
Number Name Date Kind
5220665 Coyle, Jr. Jun 1993 A
5388197 Rayner Feb 1995 A
5420801 Dockter et al. May 1995 A
5557796 Fehskens et al. Sep 1996 A
5642171 Baumgartner et al. Jun 1997 A
5680619 Gudmundson et al. Oct 1997 A
5732216 Logan et al. Mar 1998 A
5748185 Stephan et al. May 1998 A
5801685 Miller et al. Sep 1998 A
5815154 Hirschtick et al. Sep 1998 A
5838973 Carpenter-Smith et al. Nov 1998 A
5861906 Dunn Jan 1999 A
5892915 Duso et al. Apr 1999 A
5929850 Broadwin Jul 1999 A
5996015 Day Nov 1999 A
6008807 Bretschneider et al. Dec 1999 A
6009458 Hawkins et al. Dec 1999 A
6014706 Cannon Jan 2000 A
6058424 Dixon May 2000 A
6097441 Allport Aug 2000 A
6108645 Eichstaedt et al. Aug 2000 A
6141595 Gloudeman et al. Oct 2000 A
6155840 Sallette Dec 2000 A
6157809 Kaqmbayashi Dec 2000 A
6223292 Dean et al. Apr 2001 B1
6253368 Nelin et al. Jun 2001 B1
6324683 Fuh et al. Nov 2001 B1
6396500 Qureshi et al. May 2002 B1
6404978 Abe Jun 2002 B1
6452609 Katinsky et al. Sep 2002 B1
6523022 Hobbs Feb 2003 B1
6535909 Rust Mar 2003 B1
6538665 Crow et al. Mar 2003 B2
6546405 Gupta et al. Apr 2003 B2
6601026 Appelt et al. Jul 2003 B2
6628279 Schell et al. Sep 2003 B1
6629065 Gadh et al. Sep 2003 B1
6636237 Murray et al. Oct 2003 B1
6636888 Bookspan et al. Oct 2003 B1
6657543 Chung Dec 2003 B1
6697805 Choquier et al. Feb 2004 B1
6714909 Gibbon et al. Mar 2004 B1
6715126 Chang et al. Mar 2004 B1
6728753 Parasnis et al. Apr 2004 B1
6745344 Joshi et al. Jun 2004 B1
6801224 Lewallen Oct 2004 B1
6834308 Ikezoye et al. Dec 2004 B1
6842175 Schmalstieg et al. Jan 2005 B1
6859838 Puranik et al. Feb 2005 B1
6920181 Porter Jul 2005 B1
7062722 Carlin et al. Jun 2006 B1
7079990 Haller et al. Jul 2006 B2
7096416 Smith et al. Aug 2006 B1
7103770 Conrath Sep 2006 B2
7146329 Conkwright et al. Dec 2006 B2
7168035 Bell et al. Jan 2007 B1
7290057 Suanders et al. Oct 2007 B2
7296137 Moyer Nov 2007 B2
7313595 Rust Dec 2007 B2
7330875 Parasnis et al. Feb 2008 B1
7349944 Vernon Mar 2008 B2
7350231 Madison et al. Mar 2008 B2
7363372 Potenzone et al. Apr 2008 B2
7370269 Prabhu et al. May 2008 B1
7415529 Saunders et al. Aug 2008 B2
7418431 Nies et al. Aug 2008 B1
7441201 Printezis Oct 2008 B1
7454708 O'Neal et al. Nov 2008 B2
7559055 Yang et al. Jul 2009 B2
7711722 Sahasi et al. May 2010 B1
7712052 Szeliski et al. May 2010 B2
7873638 Young et al. Jan 2011 B2
8392821 DeMarco et al. Mar 2013 B2
8682672 Ha et al. Mar 2014 B1
8682969 Sahasi et al. Mar 2014 B1
8706812 Sahasi et al. Apr 2014 B2
9046995 Garland Jun 2015 B2
9148480 Sahasi et al. Sep 2015 B2
20010027420 Boublik et al. Oct 2001 A1
20010032242 Terahama et al. Oct 2001 A1
20010032305 Barry Oct 2001 A1
20020016788 Burridge Feb 2002 A1
20020026323 Sakaguchi et al. Feb 2002 A1
20020065635 Lei et al. May 2002 A1
20020078150 Thompson et al. Jun 2002 A1
20020085029 Ghani Jul 2002 A1
20020087496 Stirpe et al. Jul 2002 A1
20020107673 Haller et al. Aug 2002 A1
20020112155 Martherus et al. Aug 2002 A1
20020112247 Horner et al. Aug 2002 A1
20020122050 Sandberg Sep 2002 A1
20020133719 Westerdal Sep 2002 A1
20020143901 Lupo et al. Oct 2002 A1
20020152278 Pontenzone et al. Oct 2002 A1
20030004791 Kojima Jan 2003 A1
20030005019 Pabla et al. Jan 2003 A1
20030014521 Elson et al. Jan 2003 A1
20030025650 Uesaki et al. Feb 2003 A1
20030037131 Verma Feb 2003 A1
20030061280 Bulson et al. Mar 2003 A1
20030061330 Frisco et al. Mar 2003 A1
20030071810 Shoov et al. Apr 2003 A1
20030086682 Schofield et al. May 2003 A1
20030115267 Hinton et al. Jun 2003 A1
20030167315 Chowdhry Sep 2003 A1
20030204566 Dhupelia et al. Oct 2003 A1
20040030787 Jandel et al. Feb 2004 A1
20040032424 Florschuetz Feb 2004 A1
20040039834 Saunders et al. Feb 2004 A1
20040054542 Foote et al. Mar 2004 A1
20040059941 Hardman et al. Mar 2004 A1
20040073629 Bazot et al. Apr 2004 A1
20040098754 Vella et al. May 2004 A1
20040103150 Ogdon et al. May 2004 A1
20040125877 Chang et al. Jul 2004 A1
20040143603 Kaufmann et al. Jul 2004 A1
20040148375 Levett et al. Jul 2004 A1
20040162787 Madison et al. Aug 2004 A1
20040167896 Eakin Aug 2004 A1
20040187140 Aigner et al. Sep 2004 A1
20040237120 Lewin et al. Nov 2004 A1
20040243928 Hesmer et al. Dec 2004 A1
20040268224 Balkus et al. Dec 2004 A1
20050093860 Yanagisawa et al. May 2005 A1
20050138560 Lee et al. Jun 2005 A1
20050144258 Burckart et al. Jun 2005 A1
20050183143 Anderholm et al. Aug 2005 A1
20050204148 Mayo et al. Sep 2005 A1
20050212797 Lee et al. Sep 2005 A1
20060005114 Willamson et al. Jan 2006 A1
20060048058 O'Neal et al. Mar 2006 A1
20060129933 Land et al. Jun 2006 A1
20060150149 Chandhoke et al. Jul 2006 A1
20060265495 Butler et al. Nov 2006 A1
20060277553 Henning et al. Dec 2006 A1
20070038931 Allaire et al. Feb 2007 A1
20070055401 Van Bael et al. Mar 2007 A1
20070121850 Klos et al. May 2007 A1
20070174905 Martherus et al. Jul 2007 A1
20070192613 Amoroso et al. Aug 2007 A1
20070192727 Finley et al. Aug 2007 A1
20070211065 Feth et al. Sep 2007 A1
20070245243 Lanza et al. Oct 2007 A1
20070271367 Yardeni et al. Nov 2007 A1
20070282858 Arner et al. Dec 2007 A1
20080005240 Knighton Jan 2008 A1
20080005247 Khoo Jan 2008 A9
20080028341 Szeliski et al. Jan 2008 A1
20080062969 Picard et al. Mar 2008 A1
20080062970 Picard et al. Mar 2008 A1
20080109396 Kacin May 2008 A1
20080189162 Ganong et al. Aug 2008 A1
20080235189 Rayman et al. Sep 2008 A1
20080270151 Mahoney et al. Oct 2008 A1
20090013244 Cudich Jan 2009 A1
20090019367 Cavagnari et al. Jan 2009 A1
20090066366 Solomon Mar 2009 A1
20090083641 Christy Mar 2009 A1
20090100372 Lauridsen Apr 2009 A1
20090133048 Gibbs et al. May 2009 A1
20090138508 Tolle May 2009 A1
20090187825 Sandquist et al. Jul 2009 A1
20090217187 Kendall et al. Aug 2009 A1
20090222842 Narayanan et al. Sep 2009 A1
20090259937 Rohall et al. Oct 2009 A1
20090292768 Franke Nov 2009 A1
20100023849 Hakim et al. Jan 2010 A1
20100037205 Maillot et al. Feb 2010 A1
20100192132 Yuan Jul 2010 A1
20100216443 Jacobstein et al. Aug 2010 A1
20100277696 Huebner Nov 2010 A1
20100325674 Lliu Dec 2010 A1
20110082719 Dutta Apr 2011 A1
20110252094 Sahasi et al. Oct 2011 A1
20120158902 Udtke et al. Jun 2012 A1
20120210247 Khouri et al. Aug 2012 A1
20120226984 Bastide et al. Sep 2012 A1
20120254454 Margush et al. Oct 2012 A1
20120290950 Rapaport et al. Nov 2012 A1
20130132374 Olstad et al. May 2013 A1
20130268872 Yin et al. Oct 2013 A1
20140123014 Keen May 2014 A1
20140126715 Lum et al. May 2014 A1
20140214691 Morris, III Jul 2014 A1
20140237381 Socolof Aug 2014 A1
20140279049 Wiseman Sep 2014 A1
20140289326 McCormack et al. Sep 2014 A1
20140366098 Savage et al. Nov 2014 A1
20150002619 Johnston et al. Jan 2015 A1
20150213145 Baldwin Jul 2015 A1
20150304367 Chan et al. Oct 2015 A1
20150365244 Schmitz Dec 2015 A1
20160011729 Flores et al. Jan 2016 A1
Foreign Referenced Citations (3)
Number Date Country
WO 02082815 Oct 2002 WO
WO 02093352 Nov 2002 WO
WO 02097616 Dec 2002 WO
Non-Patent Literature Citations (13)
Entry
Guthery, S., Kehr, R., and Posegga, J. 2001. How to turn a GSM SIM into a web server. In Proceedings of the Fourth Working Conference on Smart Card Research and Advanced Applications on Smart Card Research and Advanced Applications (Bristol, United Kingdom). J. Domingo-Ferrer, D. Chan, and A. Watson, Norwell, MA.
Saint-Andre, P. 2005. Streaming XML with Jabber/XMPP. IEEE Internet Computing 9, 5 (Sep. 2005).
G. Abla, S.M. Flanagan, Q. Peng, J.R. Burruss, D.P. Schissel, Advanced tools for enhancing control room collaborations, Fusion Engineering and Design, vol. 81, Issues 15-17, 5th IAEA TM on Control, Data Acquisition, and Remote Participation for Fusion Research—5th IAEA TM, Jul. 2006, pp. 2039-2044, ISSN 0920-3796, DOI: 10.1016/j.fusengdes.200.
Holmberg, et al., “Web Real-Time Communication Use Cases and Requirements”; dated Mar. 2015, 29 pages (2015).
Draft—C. Holmberg, et al., “Web Real-Time Communication Use Cases and Requirements”; dated Oct. 14, 2013 (25 pgs.).
Sen, Sandip, An Automated Distributed Meeting Scheduler,PSU, Apr. 2007; http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.6862, 13 pages (2007).
Sinha, et al., Video Conferencing System, Columbia University, http://www.cs.columbia.edu/˜sedwards/classes/2009/4840/reports/RVD-presentation.pdf (11 pgs.) (2009).
Best practices in Webcasting for Publishing; Author: ON24, Publication: 2006.
UoW-EauClaire Microsoft PowerPoint 2003, Sep. 2004, http://web.archive.org/web/20040919191008/http://www.uwec.edu/help/ppoint03.htm, archived: Sep. 19, 2004, printed: Jan. 10, 2008.
UoW-EauClaire Microsoft PowerPoint 2003, Dec. 2004, http://web.archive.org/web/20041221201404/www.uwec.edu/help/PPoint03/webenvir.htm, archived: Dec. 21, 2004, printed: Jan. 10, 2008.
Microsoft Corporation, Oct. 2004, COM: Component Object Model Technologies, http://web.archive.org/web/20041023025124/http://www.microsoft.com/com/default.mspx, archived: Oct. 23, 2004, printed: Jan. 10, 2008.
3D Object Modeling and Recognition Using Local Affine-Invariant Image Descriptors and Multi-View Spatial Constraints—Fred Rothganger and Svetlana Lazebnik; Jean Ponce—Department of Computer Science and Beckman Institute, University of Illinois—Cordelia Schmid Inria, France—International Journal of Computer Vision 66(3), 231-259, 2006.
Efficient 3D shape matching and retrieval using a concrete radialized spherical projection representation—Panagiotis Papadakis, Ioannis Pratikakis, Stavros Perantonis, Theoharis Theoharis—Greece—Pattern Recognition 40 (2007)—ScienceDirect.