System and method for debugging of webcasting applications during live events

Information

  • Patent Grant
  • 9892028
  • Patent Number
    9,892,028
  • Date Filed
    Friday, May 16, 2008
    16 years ago
  • Date Issued
    Tuesday, February 13, 2018
    6 years ago
Abstract
A system and method for debugging of live webcasting applications during live events is disclosed. The debugging system permits a user to quickly locate errors in real time during time sensitive webcasting where it is imperative to find and fix errors before the conclusion of the live event.
Description
FIELD

This invention relates generally to the field of software development, and more particularly to the debugging of webcasting applications.


BACKGROUND

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.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a multi-user broadcast system incorporating a web-casting debugging method;



FIG. 2 describes a webcasting system that includes an embodiment of a webcast debug system;



FIG. 3 is an illustration of a webcast center for use in a multi-user webcasting system;



FIG. 4 is an illustration of a webcast client;



FIG. 5 is a diagram illustrating a single client application in which the executions of the debugging system operate;



FIG. 6 illustrates a client application execution including an embodiment of the debug system; and



FIG. 7 illustrates a library debug apparatus.





DETAILED DESCRIPTION OF ONE OR MORE PREFERRED EMBODIMENTS

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.



FIG. 1 is a diagram illustrating a webcasting system 10 which includes real time debugging. The system includes one or more devices 20 which communicate action log data for the device via a log communication link 16 to a monitoring unit 12. The monitoring unit 12 stores the action log data in an artifact log 13. The system may also include distribution unit 18 which communicates webcast presentation data to the devices 20 via a broadcast link 22. Finally, the system includes a datagrid display 14 which displays artifact log data from the monitoring unit 12 via display communication link 24.


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 FIG. 2.



FIG. 2 is a diagram illustrating a webcasting system 40 that includes the debugging system. The web casting system 40 may comprise an asset acquisition and event management portion 42a, a database portion 44 and a distribution portion 46 wherein a piece of media/content 48 is input into the web casting system 40 in order to distribute that content/piece of media during a web cast. Generally, each element of the web casting system being described is implemented in software wherein each portion may be one or more software modules and each software modules may be a plurality of computer instructions being executed to perform a particular function/operation of the system. Each element of the system may thus be implemented as one or more computer resources, such as typical personal computers, servers or workstations that have one or more processors, persistent storage devices and memory with sufficient computing power in order to store and execute the software modules that form the web casting system in accordance with the invention. The web casting may generate a webcast that is provided to one or more webcast clients 52 wherein each client is a computing resource, such as a personal computer, workstation, cellular phone, personal digital assistant, wireless email device, telephone, etc. with sufficient computing power to execute the web casting client located on the client wherein the client communicates with the web cast system over a wired or wireless connection.


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 FIG. 2, the database 44 may include data about each event/webcast, including the clients to which the web cast is being provided and the media associated with the webcast, one or more event users, the display of the particular event, the assets associated with the event, the metrics for the event and other event data. In combination with this data in the database for a particular event, operations and commands from the event manager module 42b are downloaded to the distribution servers 54 that distribute each event to each client 52 for the particular event over a distribution network 56. As shown, the webcast event/presentation may be distributed to one or more different clients 52 that use one or more different methods to access the event/webcast. During the web cast event/presentation, the clients 52 execute web cast software that incorporates an embodiment of the present invention. During the web cast, for actions executed by on clients 52 by client software, action log data is created and sent to monitoring unit 12.



FIG. 3 is a diagram illustrating a webcast center 90 that may be utilized by one or more users 92 that are presented with a presentation by the system and one or more presenters 94 who utilize the 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 5 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 distribution server 54 and a chat server 98 that provides the chat 10 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.


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.



FIG. 4 is a diagram illustrating an example of a webcast client 100 in accordance with the invention that may incorporate the debug system. The webcast 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. 6, the webcast 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 or Netscape Navigator and a webcast module 118 (including a slide, polls, survey, URL, Q&A and a transcript synchronization module) that operates within the browser application. In a preferred embodiment, the webcast module 118 may further comprise a plurality of computer instructions, such as Java code, that implement the client side of the webcast presentation. In accordance with an embodiment of the invention, the client side of the system/apparatus may be implemented as Java code that is downloaded/streamed to the client 100 during/prior to each presentation so that the synchronization of the assets does not require separate client software downloaded to the client.



FIG. 5 is a diagram illustrating the operation of a single client system 120. Client 120 of FIG. 5 may be equivalent to one of the devices 20 of FIG. 1.


In FIG. 5, client system 120 transmits log data via log communication link 126. The customer system 120 includes one or more code modules 130. The individual code modules 130 communicate with each other via data flow paths 124 and create the action log data that is sent over log communication link 126.



FIG. 6 is a diagram illustrating the operation of a single code module 130. The code module 130 may be part of a client system such as the one shown in FIG. 5. In FIG. 6, each code module performs actions 132. Each action 132 creates log data 134 which is communicated to monitoring station 136 via log communication link 138.


One embodiment, shown in FIG. 7, includes a library debug apparatus 142. In this embodiment, the action log data is created by code modules 146 inside of device 140 and transmitted to a monitoring unit 144 in the following fashion. The device-side application's source code is written such that all classes or code modules 146 use a library debug apparatus 142. Typically the code modules 146 follow a standard Model-View-Controller-Delegate Service (“MVCDS”) model. Every code module 146 in the device 140 registers itself to the library debug apparatus 142 and receives a token identifying its category and class name. Each code module 146 contains reference identifiers that identify the type and description of the class, any actions that can be taken by the class, and other potentially useful debug information. Upon receiving a log dispatch command, the library debug apparatus 142 sends a completed packet to a monitoring unit 144 vial library log communication link 148.


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 web cast debugging system implemented on a computer system, comprising: a computer system having a processor and a memory in which a plurality of code modules are stored in the memory and communicate with each other and are executed by the processor;one of the plurality of code modules configured to create an action data log line following the completion of an action performed by the code module, the action data log line comprising information on one of an action and a code execution performed by the one code module;wherein the code module transmits the action data log line to an artifact log; anda data grid display that receives the action data log line for real time monitoring of errors described in the action data log line during a multi-user web cast.
  • 2. The web cast debugging system of claim 1 wherein the code module transmits the action data log line to the artifact log by sending the action data log line to a library apparatus; and the library apparatus transmits the action data log line to the artifact log.
  • 3. The web cast debugging system of claim 2 wherein the library apparatus transmits the action data log line to the artifact log in response to a log dispatch command received by the library apparatus.
  • 4. The system of claim 3 wherein the debug data stored in the code module includes category data and class data received by the code module from a library debug apparatus upon registration of the code module with the library debug apparatus.
  • 5. The web cast debugging system of claim 1 wherein the action data log line includes data for describing the action by the code module including one or more of an execution time stamp, an application ID; a version ID; a user ID; a session ID, a category, a class, a type of the code module that executed the action; and a description of the code execution.
  • 6. The system of claim 1 wherein the debug data stored in the code module includes category data and class data received by the code module from a library debug apparatus upon registration of the code module with the library debug apparatus.
  • 7. A webcast debugging method implemented on a computer system having a processor and a memory, the method comprising: storing, in the memory, debug data in a code module contained within a processor;transmitting, via the processor, the debug data from the code module to an artifact log when the code module executes an action during a web cast event, artificial log comprising information on one of an action and a code execution performed by the code module; andsorting, via the processor, and viewing the debug data in the artifact log using a datagrid interface during the webcast event.
  • 8. The method of claim 7 wherein the debug data stored in the code module includes category data and class data received by the code module from a library debug apparatus upon registration of the code module with the library debug apparatus.
  • 9. A webcast debugging method implemented on a computer system having a processor and a memory, the method comprising: storing, in the memory, debug data in a code module contained within a processor;transmitting, via the processor, debug data from the code module to a debug library apparatus when the code module executes an action during a web cast event, the debug data comprising information on one of an action and a code execution performed by the one code module;transmitting, via the processor, debug data from the debug library apparatus to an artifact log in response to a log dispatch command received by the debug library apparatus; andsorting and viewing the debug data in the artifact log, stored in a monitoring unit, using a datagrid interface during the webcast event.
  • 10. The method of claim 9 further comprising: transmitting, via the code module, the action data log line to the artifact log by sending the action data log line to a library apparatus; andtransmitting, via the library apparatus, the action data log line to the artifact log.
  • 11. The method of claim 9 further comprising: transmitting, via the library apparatus, the action data log line to the artifact log in response to a log dispatch command received by the library apparatus.
  • 12. The method of claim 9 wherein the debug data stored in the code module includes category data and class data received by the code module from a library debug apparatus upon registration of the code module with the library debug apparatus.
  • 13. The method of claim 12 further comprising: transmitting, via the code module, the action data log line to the artifact log by sending the action data log line to a library apparatus; andtransmitting, via the library apparatus, the action data log line to the artifact log.
  • 14. The method of claim 12 further comprising: transmitting, via the library apparatus, the action data log line to the artifact log in response to a log dispatch command received by the library apparatus.
US Referenced Citations (191)
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
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
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.