The invention relates generally to Rich Internet Applications that require custom communications with one another and to management of content used by these applications.
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.
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.
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.
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.
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.
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.
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 |
Number | Date | Country |
---|---|---|
WO 02082815 | Oct 2002 | WO |
WO 02093352 | Nov 2002 | WO |
WO 02097616 | Dec 2002 | WO |
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. |