This invention relates generally to the field of software development, and more particularly to the debugging of webcasting applications.
Currently, it is typical that the inner workings of a software program contains errors inside of a large datapaths, statepaths, or userpaths. To identify these errors, points of interest in the system process must be identified. There are usually many different procedures in the software's source code that perform actions necessary for a single feature to operate, and each of these procedures needs to be inspected when a feature malfunctions. The person attempting to fix the error is frequently faced with a problem of having either too many debugging inspectors exposed, extending the time required to identify the points of interest among the mass of information, or too few debugging inspectors exposed, which does not give enough information to identify the points of interest.
As the complexity of a software program increases, the amount of time that it takes an author to identify a bug increases quickly because there are more combinations of points of interest that the person searching for the error must parse through. This is a common debugging problem generally known as information overload.
There are several common debugging techniques to report software artifacts for the purpose of identifying points of interest in software. Some of those techniques include adding tracers inside the source code that output specific information that they believe can lead to identifying points of interest in the software; setting up a variable watch list that outputs the current value or values of internal data structure instances; setting up break points that causes the code to stop at selected points during the execution, enabling the developer to review the artifacts and choose the next debugging action one step at a time; and viewing a stack trace that shows the current hierarchy of procedures that are executing during a break point. These techniques can be very time consuming, and frequently cause some errors to hide the existence of other errors, adding to the time required to fix errors. They additionally are frequently used in “debug builds” and not in “release builds”. Thus, once the build has gone to production, the developer loses the ability to debug the application.
When software is used to run a live, massively multi-user event such as webcasting and virtual tradeshows, it is a critical to monitor and fix problems immediately, and before the conclusion of the limited time event. This requires that no slowdown is caused by information overload, and no slowdown is caused by a communications bottleneck in gaining useful information about useful software artifacts. It also does not allow for the use of separate release builds, or any of the time intensive methods of the debug systems listed above.
The system and method are is particularly applicable to a multi-user webcast system in which time constraints and large numbers of users make real time or near real time recovery and correction from errors desirable while maintaining as seamless of a user experience as possible, and it is in this context that the system and method will be described.
Device 20 may be anything capable of receiving information from distribution unit 18. Device 20 may be a wired or wireless phone, a personal computer, a server, a virtual device such as a computer emulator, or a handheld computing device.
Monitoring unit 12 may be anything capable of receiving the action log data. This may be a 3 tier server, a workstation computer, a distributed storage network, or a custom computing device.
The action log data for each device 20 will comprise structures or lines of data that include information on an action or code execution performed by a specific code module. The action log data for each action or code execution may include a time stamp; and application ID; a version ID; a user ID; a session ID; a category, class and type of the code module that executed the action; and a description of the code execution. Because each code module will contain this information in a format that allows it to be reported out to the artifact log, this data and information may also serve a double purpose as the commenting or description of the code that makes the program readable.
Log communication link 16 and broadcast link 22 may be the same communication path, or they may be different communication paths. They may include communication over the internet, or via a wired or wireless local area network, or a wide area network. Similarly, monitoring unit 12 and distribution unit 18 may be different servers, or they may be the same server if load conditions allow.
The monitoring unit 12 stores action log data in the artifact log 13. The artifact log 13 can hold data using any method or apparatus capable of being able to organize, sort, and retrieve the data in real time as a multi-user webcast is occurring. For example, the artifact log 13 may be an indexed database. The monitoring unit 12 has a suite of applications that enable different teams to view information from all of the log entries.
Distribution server 18 will preferably be a typical three tier server, but may be any server capable of transmitting information for a webcast/presentation to client systems 20. A detailed example of one embodiment of broadcast server is shown as distribution server 54 in
The event manager module 42b further comprises an asset manager module 50a, an event manager module 50b, a presentation manager module 50c and an encoder controller 50d. The asset manager module 50a, prior to a webcast, imports/exports content/pieces of media into/from a library of media as needed and manages the assets for each webcast presentation. The event manager module 50b may perform actions/function prior to and after a webcast. Prior to a particular webcast, the event manager module may reserve the event in the system (both resources and access points), set-up an event console which a user interacts with to manage the webcast and then send messages to each recipient of the upcoming webcast with the details of how to access/operate the webcast. After a particular webcast, the event manager module 50b may permit a user to import an old webcast presentation into the system in order to re-use one or more pieces of the old webcast presentation. The presentation manager module 50c, during a particular webcast presentation, generates a webcast file with the slides of the webcast presentation, URLs and polls to an encoder controller to distribute the particular webcast presentation to the users. The encoder controller 50d encodes the webcast presentation stream to one or more distribution server 54 that distributes the webcast presentation to the users.
As shown in
During the event window when users 92 are interacting with the registration and lobby modules 80 and player page 96, the systems being used by users 92 to interact are executing code modules which take actions. The actions, according to the present invention, create action log data which is transmitted to monitoring unit 12. During the event window, customer support personnel 93 are on hand to deal with any problems or errors that occur during the web cast event/presentation. Customer support personnel 93 may include customer service representatives, debug engineers, developers, or other people to assist in the repair of errors. During the event window, these people monitor the system by viewing action log data on datagrid display 95. In the event of an emergency application failure during a live multi-user event, Customer support personnel 93 are able to access filtered and organized data. Because the fields contain specific and comprehensive information about every relevant action in the source code, the precise cause of the problem is more likely to be found faster.
In
One embodiment, shown in
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 |
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 | Chang et al. | 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 |
20040153504 | Hutchinson et al. | Aug 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 |
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 | Williamson 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 et al. | Jan 2008 | A1 |
20080005247 | Khoo | Jan 2008 | A9 |
20080062969 | Picard et al. | Mar 2008 | A1 |
20080062970 | Picard et al. | Mar 2008 | A1 |
20080109396 | Kacin | May 2008 | A1 |
20080189162 | Ganong | 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 | 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 |
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 |
20140126714 | Sayko et al. | 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. | Dec 2014 | A1 |
20150002619 | Johnston et al. | Jan 2015 | A1 |
20150213145 | Baldwin | Jul 2015 | A1 |
20150304367 | Chan et al. | Oct 2015 | A1 |
20150365244 | Schmiltz et al. | 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 |
---|
Abla, G. et al, “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.jusengdes.200. |
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. |
Holmberg, et al., “Web Real-Time Communication Use Cases and Requirements”; dated Mar. 2015 (29 pgs.). |
Draft -C. Holmberg, et al., “Web Real-Time Communication Use Cases and Requirements”; dated Oct. 14, 2013 (25 pgs.). |
Saint-Andre, P. 2005. Streaming XML with Jabber/XMPP. IEEE Internet Computing 9, 5 (Sep. 2005). |
Sen, Sandip, An Automated Distributed Meeting Scheduler,PSU, Apr. 2007; http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.6862 (13 pgs.) |
Sinha, et al., Video Conferencing System, Columbia University, http://www.cs.columbia.edu/˜sedwards/classes/2009/4840/reports/RVD-presentation.pdf (11 pgs.). |
Best practices in Webcasting for Publishing; Author: ON24, Publication: 2006. |
NPL#1, UoW-EauClaire Microsoft PowerPoint 2003, Sep. 2004, http://web.archive.org/web/20040919191008/http://www.uwee.edu/help/ppoint03.htm archived: Sep. 19, 2004, Printed: Jan. 10, 2008. |
NPL#la, UoW-EauClaire Microsoft PowerPoint 2003, Dec. 2004, http://web.archive.org/web/20041221201404/www.uwee.edu/help/PPoint03/webenvir.htm archieved: Dec. 21, 2004, printed: Jan. 10, 2008. |
NPL#2, 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. |
Rothgaqnger, Fred—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. |
Papadakis, P. et al 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. |