SYSTEM AND METHOD FOR BROWSER-BASED MULTIMEDIA COLLABORATION REPORTING

Abstract: A multimedia collaboration reporting system and method [figures 1-2] for use in at least one underlying multimedia collaboration system network [figure 4] provided. The system includes an event monitoring module for monitoring any of internal network system events (201), external network system events (202) and service events (203), a database module (205) for recording the monitored events and a reporting module (207) for receiving query parameter information (226) and for generating a report (206) in accordance with the query parameter information. The method includes monitoring any of internal network systems events, external network system events and service events and recording the events to a database (205), querying the database with a set of query parameter information to generate an analysis report and generating the analysis report (209) in accordance with the query parameter information.

Description: SYSTEM AND METHOD FOR BROWSER-BASED MULTIMEDIA COLLABORATION REPORTING The present invention relates to multimedia collaboration systems, and in particular to a multimedia collaboration event and status reporting system. BACKGROUND OF THE INVENTION Multimedia collaboration systems facilitate the exchange of audio, video, text, graphics, application commands and/or other types of information between users in real, near-real, or non-real time communication. Interpersonal communication involves a large number of subtle and complex visual cues, such as eye contact and body language, which provide additional information beyond spoken words and explicit gestures. These cues are, for the most part, processed subconsciously by the participants and often control the course of a conversation. Multimedia collaboration systems advantageously allow users to detect these cues and thereby enhance the communication between users. In addition to spoken words, demonstrative gestures and behavioral cues, collaboration often involves the sharing of visual information, such as printed material (i.e., articles), drawings, photographs, charts and graphs, as well as videotapes and computer-based animations, visualizations and other displays, in such a way that participants can collectively and interactively examine, discuss, annotate and revise the information. This combination of spoken words, gestures, visual cues and interactive data sharing significantly enhances the effectiveness of collaboration in a variety of contexts, such as "brainstorming" sessions among professionals in a particular field, consultations between one or more experts and one or more clients, sensitive business or political negotiations, and the like. In a traditional collaboration system, such as one in which the participants cannot be in the same place at the same time, the beneficial effects of face-to-face collaboration are realized only to the extent that each of the remotely located participants can be "recreated" at each site. Conventional desktop videoconferencing systems do not address the challenges of collaboration in real-time, primarily because of their lack of high-quality video (for capturing the visual cues of the participants) and their limited data sharing capabilities. Similarly, telephone answering machines, voice mail, fax machines and conventional electronic mail systems provide incomplete solutions to the problems presented by asynchronous collaboration because they are incapable of communicating visual cues, gestures, etc., and like conventional video conferencing systems, are generally limited in the richness of the data that can be exchanged. Moreover, the suggestion of extending traditional videoconferencing capabilities from conference centers, where groups of participants are assembled in the same room, to the desktop, where individual participants may remain in their office or home, does not facilitate the interactive sharing of data in the form of text, images, charts, graphs, recorded video, screen displays and the like. Such systems attempt to add computing capabilities to a videoconferencing system, rather than adding multimedia and collaborative capabilities to the user's existing computer system. The same disadvantages apply to augmented video conferencing systems with limited "video mail" capabilities. While useful in limited contexts, these systems do not provide the capabilities for maximally effective collaboration. Conversely, audio and video capture and processing capabilities have been integrated into desktop and portable personal computers and workstations. These capabilities have been used primarily in desktop multimedia authoring systems for producing CD-ROM and DVD-ROM based works. While such systems are capable of processing, combining and recording audio, video and data locally, i.e. at the desktop, they do not adequately support networked collaborative environments, principally due to the substantial bandwidth requirements for realtime transmission of high-quality, digitized audio and full-motion video which preclude conventional local area networks (LANs) from supporting more than a few workstations or personal computers. These systems do not adequately address the problems inherent in a practical implementation of a scalable collaboration system. Examples of high-quality video multimedia collaboration systems are described in U.S. Patent No. 5,617,539 and Patent Cooperation Treaty Application Numbers PCT/US99/01789 and PCT/US98/23596. As the use of these video-oriented multimedia collaboration systems becomes more common, and as multimedia collaboration systems support ever-greater numbers of users, users and/or system administrators will require system usage, diagnostic, performance, and cost monitoring capabilities. Such capabilities may include, for example, the ability to determine the source of system errors, the generation of statistics detailing manners in which particular system resources are utilized and the generation of usage statistics for one or more users relative to a given time period. To date, however, multimedia collaboration systems have provided limited and generally inflexible system monitoring and reporting capabilities. A system is needed that provides an expansive and flexible monitoring and reporting capability to facilitate the management of multimedia collaboration systems. It is to this end that the present invention is directed. 1. SUMMARY OF THE INVENTION The present invention provides a scalable, evolvable, flexible, and architecturally accommodating system and method for a wide range of potential reporting functions of value in multimedia collaboration systems or other complex networked systems. The system and method herein are particularly advantageous in that they can be applied to a wide variety of systems of arbitrary levels of scale and decentralization and provide a wide range of information on usage, operations, costs, and failures in a wide variety of standard or custom report or query formats servicing the wide ranging needs of usage monitoring, planning, billing and accounting, maintenance, diagnostics, reconfiguration study and design. In an aspect of the invention, a multimedia collaboration reporting system for use in at least one underlying multimedia collaboration system network is provided. The system includes an event monitoring module for monitoring any of internal network system events, external network system events and service events, a database module for recording the monitored events and a reporting module for receiving query parameter information and for generating a report in accordance with the query parameter information. The system architecture is such that any of the event monitoring module, the database module and the reporting module may be centralized to the underlying multimedia collaboration system network. Alternatively, any of the event monitoring module, the database module and the reporting module are decentralized from the underlying multimedia collaboration system network. In such case, the decentralization of any of the modules may result in a system architecture that reflects an architecture of the underlying multimedia collaboration system network. Advantageously, the database may comprise a plurality of localized databases, each configured to store monitored event information from a predetermined multimedia collaboration system network and a centralized database configured to centrally maintain the stored information from each of the plurality of localized databases. Alternatively, the database may comprise only a centrally located database configured to maintain the monitored event information. The reporting module is configured to generate either standard or customizable reports about the multimedia collaboration system network in response to database query parameter information and may include a web-based interface providing for web-based query and response interactivity such that a database query can be formulated and provided via the Internet. In another aspect of the invention, a multimedia collaboration system for conducting a conference among a plurality of participants is provided. The system includes a multimedia collaboration system network having a plurality of workstations each having a monitor for displaying visual images and A/V capture and reproduction capabilities for capturing and reproducing video images and spoken audio of the participants, a data network providing a data path along which data can be shared among the plurality of the workstations a data conference manager for managing the sharing of data between the plurality of workstations. Additionally, the system includes an independent reporting system connected with the multimedia collaboration system network and configured to provide reporting analysis of the multimedia collaboration system network. The independent reporting system includes a network control system configured to monitor any of internal, external or service event information affecting the multimedia collaboration system network, a database configured to store the monitored event information, a database query system configured to format a database query according to query parameter information and to query the database in accordance with the database query parameter information and a report generation system configured to generate an analysis report from the monitored event information stored in the database in accordance with the database query parameter information. In another aspect of the invention, a method for generating reports identifying multimedia collaboration system events includes monitoring any of internal network system events, external network system events and service events and recording the events to a database, querying the database with a set of query parameter information to generate an analysis report and generating the analysis report in accordance with the query parameter information. In still another aspect of the invention, a reporting system is provided including a network control system configured to monitor any of internal, external or service event information of a multimedia collaboration system network, a database configured to store the monitored event information, a database query system configured to format a database query according to query parameter information and to query the database in accordance with the database query parameter information and a report generation system configured to generate an analysis report from the monitored event information stored in the database in accordance with the database query parameter information. (B) BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of an exemplary multimedia collaboration system; Fig. 2 is an illustration showing an exemplary networked organization of multimedia collaboration systems; Fig. 3 illustrates some example general high-level call events that can be captured from within multimedia network environments; Fig. 4 is a block diagram showing an exemplary implementation for a reporting environment in a multimedia network environment, such as that shown in Fig. 1; Figs. 5A-C are respective block diagrams illustrating exemplary implementations for handling the inherent decentralization of reporting environments in multimedia network environments in accordance with the invention; Fig. 6 is a block diagram illustrating an example of the operational interactions between various hardware, software, and database component in accordance with an embodiment of the present invention; Figs. 7A and 7B are respective exemplary database structures showing record and field definitions for use in event logging in accordance with the invention; Fig. 8 depicts a general connection environment useful for defining various call types and database fields that are associated with records for such call types; Figs. 9A1-9C2 illustrate alternatives and evolutions of user interface implementation environments that can be utilized by the reporting system in accordance with the present invention; Fig. 10 is an example of a user interface for importing database records to the multimedia collaboration system in accordance with the invention; Fig. 11 is an example of a user interface for deleting database records from the multimedia collaboration system in accordance with the invention; Fig. 12 is an example of a menu of report choices selectable by a user for generating standard reports from the multimedia collaboration system in accordance with the invention; Fig. 13A is an example of a set-up interface for determining report generation parameters for generating a calls between users report in accordance with the invention; Fig. 13B depicts an exemplary report of calls among all or specified users in accordance with a set of reporting parameters established in the set-up interface of Fig. 13 A according to the invention; Fig. 14A is an example of a set-up interface for determining report generation parameters for generating a user call detail report in accordance with the invention; Fig. 14B depicts an exemplary report of user calls in accordance with a set of reporting parameters established in the set-up interface of Fig. 14A according to the invention; Fig. 15A is an example of a set-up interface for determining report generation parameters for generating a number of calls completed by user report in accordance with the invention; Fig. 15B depicts an exemplary report of the number of calls completed by a user in accordance with a set of reporting parameters established in the set-up interface of Fig. 15A according to the invention; Fig. 16A is an example of a set-up interface for determining report generation parameters for generating a number of calls completed by time period report in accordance with the invention; Fig. 16B depicts an exemplary report of the number of calls completed by time period in accordance with a set of reporting parameters established in the set-up interface of Fig. 16A according to the invention; Fig. 17A is an example of a set-up interface for determining report generation parameters for generating a call duration report in accordance with the invention; Figs. 17B-17D depict respective exemplary reports of call duration in accordance with a set of reporting parameters established in the set-up interface of Fig. 17A according to the invention; Fig. 18A is an example of a user call total by time period report in accordance with a set of established reporting parameters according to the invention; Fig. 18B is an example of a network availability by number of calls report in accordance with a set of established reporting parameters according to the invention; Fig. 18C is an example of a network availability by percentages of calls report in accordance with a set of established reporting parameters according to the invention; Fig. 19A is an example of a set-up interface for determining report generation parameters for generating a total device usage by number of calls report in accordance with the invention; Fig. 19B is an example of a device usage by number of calls report in accordance with a set of reporting parameters established by the set-up interface of Fig. 19A according to the invention; Fig. 20A is an example of a set-up interface for determining report generation parameters for generating a total device usage by duration report in accordance with the invention; Fig. 20B depicts an exemplary device usage by duration report in accordance with a set of reporting parameters established by the set-up interface of Fig. 20A according to the invention; Fig. 21 A is an example of a set-up interface for determining report generation parameters for generating a total device usage by time period report in accordance with the invention; Fig. 21B depicts an exemplary total device usage by time period report in accordance with a set of reporting parameters established by the set-up interface of Fig. 21 A according to the invention; Fig. 22A depicts an exemplary conference center usage by numbers of uses report according to the invention; Fig. 22B depicts an exemplary conference center usage by cumulative time used report according to the invention; Fig. 22C depicts an exemplary conference center busy by percentage of attempted uses report according to the invention; Fig. 22D depicts an exemplary conference call availability report according to the invention; Fig. 22E depicts an exemplary trunk busy report according to the invention; Fig. 23 is an example of a menu from which a user may select a variety of user-defined custom reports in accordance with the invention; Fig. 24 is an example of a custom report interface for saving custom reports in accordance with the invention; and Fig. 25 is an example of a custom report save notification interface for indicating the success or failure of a saved report request in accordance with the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT The present invention provides a scalable, evolvable, flexible, and architecturally accommodating system and method for a wide range of potential reporting functions of value in multimedia collaboration systems or other complex networked systems. The system and method herein are particularly advantageous in that they can be applied to a wide variety of systems of arbitrary levels of scale and decentralization and provide a wide range of information on usage, operations, costs, and failures in a wide variety of standard or custom report or query formats servicing the wide ranging needs of usage monitoring, planning, billing and accounting, maintenance, diagnostics, reconfiguration study and design. An aspect of the present system and method is to provide a powerful framework for arbitrary degrees of standard and customized report generation and access, including web-based access, for networked systems spanning a wide range of network configurations, architectural variations, evolving technologies, evolving services, and entities attached to the networks. Fig. 1 is a block diagram illustrating a conventional video-oriented multimedia collaboration system 99 such as is shown and described in U.S. Patent No. 5,617,539, entitled "Multimedia Collaboration System with Separate Data Network and A/V Network Controlled by Information Transmitting on the Data Network," and issued to Ludwig et al., on April 1, 1997, which is incoφorated herein by reference. While a video-oriented multimedia collaboration system 99 is shown in Fig. 1 , it should be noted that the present invention is applicable to any multimedia collaboration system or other networked system and the above Figure is merely exemplary and is not intended to be limiting. As shown in Fig. 1 , the multimedia collaboration system 99 includes a number of component entities, including a plurality of user workstations 40, a multimedia local area network (MLAN) 10, a conference bridge or center 36 (a hardware device for audibly and visually connecting multiple parties to a conference), an A V storage server 100, a LAN 20 coupled to a gateway 25 and a first wide area network (WAN) 29, and an A V codec 38 coupled to a second WAN 39. These component entities will be described in more detail herein. The MLAN 10 comprises an A/V switch 32 and an A/V network manage r (AVNM) 34 or similar managing system or other call/connection control entity whose function will be described in detail herein. The user workstations 40 are connected with the system 99 via the A/V switch 32 resident in the MLAN 10. The A V switch 32 also couples the MLAN 10 to the A V storage server 100, as well as coupling the second WAN 39 to the MLAN 10 via codec 38 (an integrated circuit for performing data conversion). The first WAN 29 is connected to the LAN 20 via the gateway 25. The LAN 20 is in communication with the AVNM 34 thereby affording network management to the LAN 20. The LAN 20 also functions to couple additional enteφrise computers 60 and e-mail/voice-mail application functionality 50 to the system entities connected therewith. The A/V storage server 100 may be coupled to or otherwise in communication with the network, such as via the switch 32. Such embodiments are described in Patent Cooperation Treaty Application Numbers PCT US99/01789 and PCT/US98/23596 and are hereby incoφorated herein by reference. Briefly, the A/V storage server 100 includes an A/V storage manager 160 for coordinating requests for the storing and playing back of video data and the like, and one or more A/V storage cells 120 configured to store video data and other supplemental information. These cells 120 may be either directly connected to the storage manager 160 (represented as reference numeral 112) or connected with the storage manager 160 via a data LAN 110 that also serves to couple external systems to the network. In the conventional system shown in Fig. 1 , the A/V switch 32 facilitates selective coupling between user workstations 40, the LAN 20, and the codec 38. The A/V switch 32 may also facilitate direct coupling to one or more other multimedia collaboration systems 99. Therefore, workstation users can communicate with each other via multimedia conferencing, such as is described in U.S. Patent No. 5,617,539. Other similar network configurations are also possible and provided for by the invention. In operation, the AVNM 34 generates event or reporting records in response to a variety of system events. Exemplary types of events for which reporting records are generated, and information included in such reporting records, will be described in detail herein. The following exemplary events that are monitored by the system are largely oriented towards internal and external networks, but in general may also apply to connected service entities. Such events may include server startup and shutdown events. For example, each startup and shutdown record may include startup time, shutdown time, any applicable error code and any associated error string as well as other additional information. Another event that may be monitored by the system includes user login and logout events. For example, each user login and logout record may include a user ID, a login or logout time as appropriate, and possibly client platform, client type, client operating system version, client collaboration system software version, and other supplemental information. Additionally, aliases are provided for so that a user can associate a different login ID when desired. Call events may also be monitored by the system. For example, each call record may include a caller or calling party ID, a call session ID, a caller terminal port ID, a caller mode description, a caller codec ID, a caller trunk port number, a callee ID, a callee terminal port ID, a callee mode description, a callee terminal ID, a callee codec ID, a callee trunk port ID, a starting time stamp, and a completion time stamp. In addition, call error events may be monitored by the system. For example, each call error record may include information detailing call failures for reasons such as trunk unavailability, gateway failures, etc., and typically may include a session and or call ID and timestamp information. Another event that may be monitored by the system includes service events. For example, each service record may include details specifying service resources and typically may include a session ID and timestamp information. Service error events may also be monitored by the system. For example, each service error record may include details specifying service resource problems, operational errors and typically may include a session ID and timestamp information. In accordance with the invention, call records affiliated with multi-party calls and multi-point broadcasts may be associated through the utilization of a common session ID. Similarly, service records for sessions and events pertaining to services outside the scope of the network itself, such as video storage services, may also be associated with corresponding calls and call events through the use of a common session ID. For example, in an embodiment of the invention, a session may be defined as a time interval that begins when system or conference center resources are allocated for a new call that is not associated with a call currently in progress. Accordingly, the session is defined to end when the resources that are allocated in association with the call are freed for others to use. It should be noted that the addition of new callers to an existing two-party call to form a multi-party call falls within the context of an already-existing session. In accordance with the invention, the AVNM 34 creates a new session ID each time resources are allocated for a new call that is not associated with a call currently in progress. For example, in an embodiment of the invention, the AVNM 34 transfers or propagates session IDs to other AVNMs 34 and remote clients 40, 45. Thus, when a new party is added to an existing call, the AVNM 34 associated with the calling party transfers the existing session ID to the AVNM 34 associated with the callee. The session ID stored within each call record associates multi-step calls and/or calls made on different collaboration systems, such as when a third party is added to a two-party call. The present invention is equally applicable to a networked environment of multimedia collaboration systems 99, either provided locally or in a wide-area sense. Fig. 2 is an illustration of an exemplary networked organization 199 of multimedia collaboration systems 99, such as that shown in Fig. 1. As the scope of such systems expand and as costs are incurred for equipment and telecommunications services, a number of needs emerge for reporting functions that provide information on the usage, operations, costs, and failures of the associated networked organization of multimedia collaboration systems 199 , the individual multimedia collaboration systems 99 and their components. These reporting functions can be utilized for usage monitoring, planning, billing and accounting, maintenance, diagnostics, reconfiguration study and design, as well for other diagnostic and application-specific puφoses. Because of the resulting wide range of potential reports which could prove beneficial, the present invention provides a framework for arbitrary degrees of standard and customized report generation and access. These reports can be generated by gathering information from throughout the network 199 and from the entities connected to it. As such, the reporting system framework of the invention can accommodate the wide range of network configurations, architectural variations, evolving technologies, evolving services, and entities attached to the networks 199. Architecturally, the reporting function of the present invention can be treated as a general form of service supported and provided by a server. In accordance with the invention, an implementation of the reporting server 210 may be centralized or decentralized and take on a variety of forms that will be explained in detail herein. For example, a report server 210 working in conjunction with a report database 200 may be provided for managing the reporting functions of these systems. In accordance with the invention, the report server 210 and the report database 200 may be added to an individual multimedia communications system 99 or also to a networked organization 199 of individual multimedia communications systems 99 so as to provide reporting services to administrative computers or user workstations 40 within one or more multimedia collaboration systems 99. The reporting server 210 may be coupled to one or more multimedia collaboration systems 99 directly, and/or via an intranet or even the Internet 80, such as is shown in Figs. 1 and 2. Those skilled in the art will understand that a reporting server 210 and a reporting database 200 may be implemented on a single computer system or in any number of decentralized fashions without departing from the invention. Fig. 3 illustrates some examples of high-level call events that can be captured from within multimedia network environments 199, 99 and which may be monitored by the multimedia collaboration system environments 199, 99 so that diagnostic and other informative reports may be generated. To best illustrate these examples of high-level call events, a two-party point-to-point WAN 281 call between two users 262, 272 each on separate local (or "internal") networks 261, 271 that are connected by the WAN 281 by means of gateways 263, 273 is illustrated in Fig. 3. As shown in Fig. 3, network control entities, such as AVNMs 260, 270 govern the exchange of exemplary system control messages. Examples of such control messages may include connection request messages, remote network manager server requests, callee requests, acknowledgement messages, and connection establishment messages. Of course other control messages may be provided and the above are merely exemplary. It should be noted that no single entity of the users 262, 272 and network control entities 260, 270 provide for full accounting of all the message transactions between the entities involved in a communication link. Thus, in accordance with the invention, a report server 210 can be provided (such as shown in Fig. 2) to retrieve the information from the multiple entities. Additional system services may be added to the architecture shown in Fig. 3. For example, such additional services may include network-oriented services, such as multipoint conferencing or event video broadcast, or be provided by attached entities such networked video storage servers, such as that described in Patent Cooperation Treaty Application Numbers PCT/US99/01789 and PCT/US98/23596. In these expanded situations, the number of decentralized entities, control messages, and potential points of failure and billing increase, making reporting more valuable while at the same time making the event logging tasks more complex. Fig. 4 is a block diagram showing an exemplary implementation for a reporting environment in a multimedia network environment, such as that shown in Fig. 1. In general, such multimedia network environments include not only a "focus" or "internal" network 201 but also one or more external networks 202. These external networks 202 may include networks similar to the internal network 201 or they may include networks which are completely dissimilar (such as a public WAN). In addition, the multiple networks 201, 202 are typically used directly or indirectly to provide various services to users. In some cases the services (such as transport) may be provided directly by the network(s), while in other cases the services may be provided in whole or in part by external service-providing entities 203 (such as stand-alone video-on-demand systems). In accordance with the invention, in a call-reporting environment, each of the networks and service entities 201, 202, 203 provides some information either directly (such as event logs) or indirectly (such as WAN call progress signals) which can be accessed as used for reporting purposes. This information can be provided in real-time and/or through later bulk information transfers (such as a monthly WAN report file). The information is then formatted by a system 204 configured to format the data into a format usable within the reporting system. The formatting step(s) may be performed in a centralized or a decentralized fashion. The resultant information formatting may be automatic, manual, or a combination of the two. The formatted information may then be loaded into a database 200. The database 200 may be centralized or decentralized, and the information loading may be automatic, manual, or a combination of the two. In accordance with the invention, the information in the database 200 can then be queried, processed and reported in a number of ways. For example, in accordance with the invention, one way the information in the database 200 can then be queried, processed and reported is through use of standard report generation. To implement standard report generation, a standard report filter/formatter 206 may be provided. As utilized herein, a standard report filter/formatter 206 refers to one or more fixed, conditional, or parameterized report templates 207. A report template 207 (and any conditional or parameterized choices therein) may be selected according to the report or reports desired by a user of the reporting system. The selection and subsequent generation of reports may be driven by report request events 220. For example, these requests may be generated by users directly or automatically as part of a script and/or a calendar-driven automated procedure. Based on the information requested by the report template 207, queries can be made from the standard report filter/formatter 206 to the database 200. In some cases, the data from the database 200 can be placed directly into fields in the template or some equivalent implementation of this action. In other cases, calculations such as sums, averages, ratios, etc., and/or conditional tests (such as <, >, =, etc.) may be performed. In accordance with the invention, these calculations may be done within the standard report filter/formatter 206 or by an external calculation module 208. The calculations may include billing operations, which involve additional information such as billing rates, billing algorithms, etc., which in turn may be part of the standard report filter/formatter 206, may be provided by the calculation module 208, by a separate repository entity 240, or explicitly provided as part of the report request event 220. In the case where a separate repository entity 240 may provide the calculations, the separate repository entity 240 may communicate directly with a calculation module 208 and/or directly with the standard report filter/formatter 206. In any case, in accordance with the invention, the standard report filter/formatter 206 may use the queried, calculated, and conditionally-tested information to create one or more reports 209a -209n. It should be noted that a single report request 220 and/or single report template 207 could result in the generation of more than one report 209. In accordance with the invention, the reports generated in this manner may be presented to a user via a user interface (which will be described in detail herein) and/or printed (i.e., for direct human consumption) or in the form of machine-readable files (that can be subsequently processed or stored in the database 200). Further, in accordance with the invention, to the extent that aspects of the standard reports can be enabled/disabled by any parameters provided by the report requests 220, the standard report filter/formatter 206 can also be used to customize reports to various degrees. For example, as shown in Fig. 4, flexible general templates 212 (for machine readable report files or human-readable reports) may be submitted to a general filter/formatter 216. These templates 212 are often more parameterized and/or conditionally structured than the standard report templates 207 but need not be so structured. In accordance with the invention, the general templates 212 may consist of strings of a combination of query, conditional, calculation, and formatting instructions. It should be noted that the general filter/formatter 216 could also be provided with additional support entities such as calculation module 208, separate repository entities 240, etc., without departing from the invention. The general filter/formatter 216 could also be further controlled by report request events 220 akin to those utilized by the standard report filter/formatter 206 and described above. In accordance with the invention, an SQL interface module 226 may be provided for accepting and processing general SQL queries 215 from an external system and for providing reports 216 to an external system. It should be noted that the SQL module 226 could also be provided with additional support entities such as calculation module 208, separate repository entities 240, etc., without departing from the invention. Those skilled in the art will recognize that aspects of the standard report filter/formatter 206, general filter/formatter 216 and/or SQL module 226 may be integrated as may prove advantageous for an implementation. Therefore, in accordance with the invention, the reporting functionality of the system may be customizable depending on the needs of a user. It should be further understood that additional support entities and functions, such as calculation modules 208 or separate information processing algorithm repositories 240 may be shared across any combination of the standard report filter/formatter 206 function, the general filter/formatter 216 function, and/or the SQL interface module 226 function as may prove advantageous for an implementation without departing from the invention. Figs. 5A-C are respective block diagrams illustrating exemplary implementations for handling the inherent decentralization of reporting environments in multimedia network environments in accordance with the invention. In general, multimedia network environments include a number of decentralized entities acting as event sources (shown in Figs. 5A-C as reference numerals 282a - 282k ). Figs. 5A and 5B illustrate exemplary implementations in which each event source may be served directly or indirectly by individual "local" databases 285a - 285k. These databases may be geographically local, or may be individual for functional reasons. In Fig. 5A, the individual "local" databases 285a - 285k may pass on their updated information by pull or push models, polled or event driven, to a centralized database 295 which in turn may be queried by a query/filter/format module 286 that may be designed to work with the centralized database 295. In Fig. 5B, the individual "local" databases 285a - 285k may be queried directly by a query/filter/format module 286 that may be designed to work with multiple databases 285a - 285k. In Fig. 5C, each event source 282a - 282k may directly provide their updated information to a centralized database 295 which in turn may be queried by a query/filter/format functions 286 that may be designed to work with the centralized database 295 . Those skilled in the art will recognize that a combination of the above implementations may be utilized to customize the reporting system to reflect functional and architectural advantages without departing from the invention. The interaction between components of the reporting system of the invention will now be described with reference to Fig. 6. Fig. 6 is a block diagram illustrating an example of the operational interactions between various hardware, software, and database components in accordance with an embodiment of the present invention in which a web-based interface implementation is utilized. As shown in Fig. 6, in accordance with the invention, the AVNM 34 and or the A/V Conference Center Manager (ACCM) 35 may be configured to generate and write reporting or event records into a log file 510 that is managed by a database 200. The database 200 may be implemented using small-scale database products such as Microsoft Access, or in larger-scale applications or where decentralization dictates, other database technologies may be utilized without departing from the invention. A log file export unit 520 may be configured to retrieve these stored event records from the log file 510 under the direction of one or more objects instantiated from a log class file 530. In turn, the log class file 530 may be configured to write records into the database 200 and may perform some preprocessing and/or initial parsing upon event record data prior to performing a database write operation. The log class file 530 may also control or direct periodic import operations in conjunction with a configuration file (not shown), such that event records stored in the database 200 can be retrieved and the database 200 can be updated on a regular basis. In accordance with the invention, the web-based interface implementation depicted in Fig. 6 includes a request class file 550 having an HTML page processing unit 560, a report display unit 570, and a custom report unit 580. The request class file 550 pro vides HTML page templates for performing database management operations, and for generating and saving a wide variety of reports. The page processing unit 560 performs database management and/or database query operations in response to user requests. For example, the page processing unit 560 may retrieve database information in response to a user request including a set of report parameters. As will be described in more detail herein, users accessing the reporting system may specify report parameters via a set-up interface. The page processing unit 560 may filter the results of the database query operation in accordance with one or more such report parameters. The report display unit 570 generates a report in accordance with the user- specified report parameters. The custom report unit 580 facilitates the saving of user-defined reports to the database 200. It should be noted that the present invention accommodates the creation of user groups. User groups are simply aggregates of real users, aliases and other user groups. Thus, when choosing query criteria, a user can select a combination of user groups, users and/or aliases to report against. The remaining components shown in Fig. 6 include a manager class file 590 that is a parent of the log class file 530 and the request class file 550, and which provides an interface between request class file elements 560, 570, 580 and an intranet and/or the Internet 80 so that a user may access the system. In accordance with the invention, user requests and commands to the system may include data management commands, standard report generation requests, and custom report generation requests. Figs. 7 A and 7B are respective exemplary database structures (referred to generally as reference numerals 300a (Fig. 7A) and 300b (Fig. 7B)) showing record and field definitions for use in event logging in accordance with the invention. Certain fields in the database schema are composed of data types. Those skilled in the art will recognize that other types of record structures may be used without departing from the invention and that the structures shown in Figs. 7 A and 7B are merely exemplary. One such exemplary field type may include a Call ID character field that uniquely identifies a call record and any hop (i.e., tandem trunk connections through additional switches) records that are associated with that call record. Another example of a field type may be a URL field, a character string having a general URL format (i.e.. <protocol>://<arguments>) describing a system connection (e.g., video) address. Other field type examples include a Caller field identifying a user at the end point of a call chain from which a call is initiated, a Callee field identifying a user at the end point of a call chain to whom a call is placed and a Caller/Callee Name field. The Caller/Callee Name field identifies a service name associated with each party involved in the call. In some architectures, this aspect could exclude connections placed to specialized entities such as multi-point conference bridges and externally connected servers (such as video storage servers). Calls involving such entities may advantageously use alternate naming conventions in the service name. In some implementations of the system of the invention, the callee name may need to be extracted from the URL, such as in the case of calling H.320 addresses. Another field type example is a Callee vs. Received Call field. This field is utilized for managing multi-party calls. For example, the callee designated in this field may not necessarily be the user that received the call. In some cases the user specified by the caller field is actually the user who received the call. For example, in call forwarding situations where party A calls party B and party A forwards the call to party C, the records for the forwarded call may indicate party C as the caller and party B as the callee. Fig. 8 depicts a general connection environment useful for defining various call types and database fields that are associated with records for such call types. Fig. 8 illustrates at least six functionally different types of supported calls in a multimedia environment. One such call type involves a direct call between User A 800 and User B 802 on the same switch AVNM1 804 (Call Type 1). Another call type involves a switched call between User A 800 on switch AVNM1 804a and User C 806 on a different switch AVNM2 804b through one or more trunks 808 (Call Type 2). A third call type involves a call from User A 800 to Outside Caller D 810 using a gateway on the same switch AVNM1 804a (Call Type 3). Another call type involves a call to User A 800 from Outside Caller D 810 using a gateway on the same switch AVNM1 804a (Call Type 4). Yet another call type involves a call from User A 800 to Outside Caller E 812 using a gateway on a different switch AVNM2 804b (Call Type 5). Finally, a sixth call type involves a call to User A 800 from Outside Caller E 812 using a gateway on a different switch AVNM2 804b (Call Type 6). It should be noted that call types can be extended to include other types of connections, such as broadcast and multiple service interconnection (as in conference recording of a multi-party call which in turn includes as one of its "participants" another video service such as video-on-demand or video-mail) as may be supported by the network without departing from the invention. Such call type classification schemes can advantageously be used to differentiate the structure call records in accordance with the invention. For example, the number of fields necessary to characterize a call of Type 1 are far fewer than that needed to characterize a call of Types 5 or 6. Some information may be recorded similarly for all call types. For example, in all cases a global unique ID is created for each call (such as by the originating AVNM). Some exemplary structural variations depending on call type may include a CALL record for maintaining Caller info, Callee info, End-reason information, trunk/gateway information, and next-hop information (if the AVNM is not a destination). If a call involves more than one AVNM, then non-originating AVNMs may log a HOP record to the database 200 that may include a global unique ID, trunk/gateway information and next-hop information (if the AVNM is not a destination). For multi-point calls, a CONFERENCE record may be logged to the database 200 that may include a Conference Session Unique ID, Conference name information, Start time information, End time information and an AVNM ID. A PARTICIPANT record may also be logged to the database 200 that may include a Conference Session ID, a Call ID, Slot number information and Reason information. The following represent examples of database entry tables that may be utilized by the system for organizing reporting information in accordance with the invention. Some database entry tables may include call tables and the hops involved in placing calls, multi-point conference bridges and the associated conference participants, arbitrary services, arbitrary servers, sessions and logins. Of course different structures, additional tables, and additional or alternate types of information may be gathered in a variety of ways as is understood by one skilled in the art without departing from the invention. The following table illustrates an example of a call table described above. The following table illustrates an example of an associated hop table described above. The following table illustrates an example of a multi-point conference bridge table described above. The following table illustrates an example of an associated conference participant table described above. The following table illustrates an example of an arbitrary services table described above. The following table illustrates an example of an arbitrary servers table as described above. The following table illustrates an example of a session table as described above. The following table illustrates an example of a login table described above. Appendix A to this specification lists a series of reporting and billing algorithms that may be utilized by the present invention. Of course, those skilled in the art will understand that other implementations of the appended algorithms, as well as additional algorithmic functions relating to information processing for reporting may be utilized without departing from the invention. In reviewing Appendix A, reference to the following description may be beneficial in order to fully contemplate the scope of the appended algorithms. With regard to calls, Call Records and Hop Records, there is a one-to-one correspondence between calls and Call Records. All data related to a call is defined in one Call Record and zero or more Hop Records. All Call ID values in the Call Record table are unique. All Hop Records associated with a Call Record have the same Call ID as in the Call Record. With regard to call duration, the duration of a (two-party) call is the Call Record End Time minus the Call Record Accept Time. The duration of a conference call is the Conference Record End Time minus the Conference Record Start Time. The duration of a call into a Conference Center is calculated from the Participant record (i.e., the Participant Record End Time minus the Participant Record Accept Time). It should also be noted that the handling of geographic time zones are provided by the system of the invention. For example, the use of globally implemented "absolute time" (Greenwich Mean Time), or the use of context-specific local time that may be an extension of GMT, may be provided to generate a desired report and to maintain information about the MCS. With regard to call classification, calls generally fall into three classes: LAN, WAN Dial, and WAN Dedicated. A call is classified as a LAN call when the call has no associated hop records and both the In Gateway Type and Out Gateway Type fields are NULL or when its Out Gateway Type field is UTP, its Out Gateway Class is Dedicated, and all its subsequent hop records have In Gateway Type and Out Gateway Type values that are NULL or UTP. If neither of these conditions are true, then the call is classified as a WAN call. WAN calls are further partitioned into Dedicated and Dial calls based on the contents of the In Gateway Class and Out Gateway Class fields in the Call and Hop records. If the value of either of these fields in the Call Record or in any Hop Record is DIAL, then the call is classified as a WAN Dial call. Otherwise the call is classified as a WAN Dedicated call. Callers and callees can be designated as actual users or they can be designated as services, meaning that they do not represent an actual user. This designation is determined by the Caller Service and Callee Service fields. Only "User" and "Outside User" are actual users. All other values indicate services. Services can be the originator of a call only if both the caller and callee of the call are services. Regarding originate vs. receive designation, the caller in a Call Record is designated as the Receiver of the call when the caller is an Actual User and the Received Call field is TRUE, the caller and callee are services and the Received Call field is TRUE or when the callee is a service. The callee in a Call Record is designated as the Receiver of the call when the Callee Class is User or Outside User and the Received Call field is FALSE, the caller and callee are services and the Received Call field is FALSE or when the Caller Name is neither User nor Outside User. The caller in a Call Record is designated as the Originator of the call when the callee is the Receiver. The callee in a Call Record is designated as the Originator of the call when the caller is the Receiver. Call Record and Hop Record completion status can be one of three possible values: not completed due to no allocated resources; not completed due to failure; and available for completion. Several situations result in a Call Record or Hop Record not being completed due to no allocated resources. For example, a Call Record or Hop Record is not completed due to no allocated resources if Local Error Type is "Out" and Local Error is PVW_TRUNK_NO_REMOTE (-54), PVW_TRUNK_NOT_REACHABLE (-59), PVW_NO_TRUNK (-29), PVW_TRUNK_IN_USE (-55), PVW_TRUNK_GATEWAY_RESETTING (-73), PVW_TRUNK_DOWN (-53), PVW_TRUNK_ISDN_DOWN (-63), PVW_DEDICATED_LINES_ARE_DOWN (-109), PVW_SYNC_F AILED (-110) or if Local Error Type is "Switch" and Local Error is PVW_XBAR_BUSY (-76). A Call Record or Hop Record is available for completion if Local Error Type is "In" or if Local Error Type is "Out" and Local Error is PVW_OK (0), PVW_REFUSED (-8) or PVW RTNG TIMEOUT (-47). A Call Record or Hop Record is not completed due to failure in all other cases. Call Record and Hop Record have busy status classifications of local, remote, or none. Call Record and Hop Record busy status is classified as local if Local Error Type is "Out" and Local Error is PVW_TRUNK_NOT_REACHABLE (-59), PVW_NO_TRUNK (-29), PWV TRUNK NJ SE (-55), PVW_TRUNK_GATEWAY_RESETTING (-73), PVW_TRUNK_DOWN (-53), PVW_TRUNK_ISDN_DOWN (-63), PVW_DEDICATED_LINES_ARE_DOWN (-109) or PVW_SYNC_F AILED (-110). Call Record and Hop Record busy status is classified as remote if Local Error Type is "Out" and Local Error is PVW_TRUNK_NO_REMOTE (-54). In any other case, the busy status is classified as none. Returning now to the specification, users of the reporting system, which may include system administrators, information-privileged users, or general users, may generate requests and commands that are directed to the reporting server 210 via a user interface in accordance with the invention. The reports in turn may be delivered by the same or related user interface. In general, the user interface may be essentially any type of text-based, Graphical User Interface- (GUI) based, networked GUI-based (as with the X Windows system, for example), or web- based interface employing conventional browser-based software such as Netscape Navigator or Microsoft Internet Explorer. For example, in an embodiment of the invention, web-based communication between a reporting server 210 and a set of user workstations 40 can be implemented or facilitated through the use of a conventional Java Servlet engine, conventional web server and web browser software, conventional database driver software, and data export/transfer software. Conventional GUIs often involve one or more user interface implementation environments. Before the establishment of the browser-based World Wide Web, stand-alone custom interactive graphical displays were utilized by systems whose software operated directly in the native window system environment of the desktop computer. These implementations are still those of choice today for applications where performance, non-web usage, or architectural factors motivate or dictate this approach. However, the conventional approach has a number of liabilities including dependence on specific details of window systems, operating systems, and other platform aspects as well as administrative complications in versioning, maintenance, upgrading, etc. In many situations, particularly where any one or more of networked applications, location independence, platform independence, frequent version upgrades, or access to shared databases are involved, GUIs are increasingly implemented as interactive web-based displays accessed by and operating within the environment of a web-based browser. In these situations, the GUI application software operates within the browser environment and relies on the browser environment to interface in surrogate with the native window system environment of the specific platform. Figs. 9A1-9C2 illustrate alternatives of user interface implementation environments that can be utilized by the present invention. In each of the Figs. 9A1-9C2, a dotted box 601 is used to denote the window system environment of the desktop computer. Figs. 9A1 and 9A2 show respective implementations of application GUIs 602, 603, 604 which operate within the window system environment 601. In Fig. 9A1, the user interface may be provided by a single comprehensive GUI 602. Fig. 9A2 illustrates an alternative case in which one GUI 603 may serve as a principle user interface and launch secondary feature-specific GUIs 604 as needed. Figs. 9B1 and 9B2 illustrate hybrid interface implementations which combine windows-based GUIs (reference numbers 622 (Fig. 9B1) and 632 (Fig. 9B2)) and web-based GUIs (reference numbers 625, 626 (Fig. 9B 1) and 635, 636 (Fig. 9B2)). The web-based application GUIs 626, 636 shown in Figs. 9B1 and 9B2 operate in the browser environment 625, 635, respectively. Depending on the implementation, either the windows-based GUI 622 or the browser based GUI 635 may serve as a principle user interface and launch secondary feature specific GUIs as needed. As shown in Fig. 9C1, with the addition of a browser 605 to the window system environment 601, it is possible to include "web-based" application GUIs 606 which operate in the browser environment 605 as described above. The addition of web-based GUIs 606 permits a number of additional implementation options. For example, the implementation depicted in Fig. 9A1 can be modified to utilize web-based GUIs 606 as shown in Fig. 9C1. Alternatively, when the launch of secondary feature-specific GUIs are involved, such as is shown in Fig. 9C2, window-system GUIs 645, 655 and web-based GUIs 646, 656 can be used in combination with each other. As mentioned above, the application user interface implementation methods of Figs. 9A1 and 9A2 have been used exclusively in the past, while the implementation methods of Figs. 9C1 and 9C2 are seen as the way of the not-too-distant future. In the interim, combination methods involving arrangements such as depicted in Figs. 9B1 and 9B2 have value in that they deliver or are perceived to deliver higher degrees of performance and security. The present invention can be implemented using any of the interface methods depicted in Figs. 9A1-9C2, as well as in variations clear to those familiar with the art. Fig. 10 is an example of a browser-based data management interface 1000 for importing records into the database 200 in accordance with the invention. The data management interface 1000 may be configured to execute on a user workstation 40, and is responsive to user-specified input for controlling conditions (indicated as reference numeral 1001) determining how the report server 210 (shown in Fig. 2) updates its associated report database 200. Fig. 11 is another example of a browser-based data management interface 1100 for deleting records from the database 200 in accordance with the invention. The data management interface 1100 is responsive to, and permits execution of, user input that specifies conditions (indicated as reference numeral 1101) under which all or some reporting records may be deleted from the database 200. In an embodiment of the invention, only a system administrator or information-privileged user can provide valid input to the data management interfaces 1000 (Fig. 10) and 1100 (Fig. 11), respectively. However, other permission schemes and/or hierarchies may be provided without departing from the invention. Fig. 12 is an exemplary menu 1200 from which a user may select a variety of standard reports in accordance with the invention. For example, reports such as calls between users, user call detail, number of calls completed by a user, call duration, total device usage by the number of calls, total device usage by duration, and total device usage by time period may be generated by the reporting system. Examples of these reports will be described in detail herein. Fig. 13A is an example of a set-up interface 1300 for determining report generation parameters for generating a calls between users report 1350 (shown in Fig. 13B). The set-up interface 1300 provides a user with descriptive report information 1301, and facilitates user selection of user groups 1302, time ranges 1303, sort order 1304, and report display format 1305. Fig. 13B depicts an exemplary report 1350 of calls among all or specified users. As shown, the report 1350 indicates an account of calls made between users for a given time period using a sort order that consists of sorting at a first level by user and at a second level by time. For each call represented, the report 1350 identifies a call originator, a LAN call recipient and/or recipients or a WAN call recipient or recipients, a starting time, and a duration. Fig. 14A is an example of a set-up interface 1400 for determining report generation parameters for generating a user call detail report 1450 (shown in Fig. 14B). The set-up interface 1400 provides a user with descriptive report information 1401 and facilitates user input for the selection of a user group 1402, a call type 1403, a time range 1404, a sort order 1405, and a report display format 1406. Fig. 14B depicts an exemplary user call detail report 1450, which indicates details of calls among a group of users for originating and receiving calls spanning a particular time period. For each call, the report 1450 identifies a call originator, a LAN call recipient or recipients or a WAN call recipient or recipients, a starting time, and a duration. Fig. 15A is an example of a set-up interface 1500 for determining report generation parameters for generating a number of calls completed by user report 1550 (shown in Fig. 15B). The setup interface 1500 provides a user with descriptive report information 1501, and facilitates user input of a user group 1502, a call type 1503, a time range 1504, a sort order 1505 , and a report display format 1506. Fig. 15B depicts an exemplary number of calls completed by user report 1550, which graphically indicates a number of LAN calls and/or WAN calls originated and/or received by a specified user or users and/or group or groups of users within a specified time interval. Fig. 16A is an example of a set-up interface 1600 for determining report generation parameters for generating a number of calls completed by time period report 1650 (shown in Fig. 16B). The set-up interface 1600 provides a user with descriptive report information 1601 and facilitates user selection of a user group 1602, a call typ e 1603, a time range 1604, a time period 1605, a sort order 1606 and a report display format 1607. Fig. 16B depicts an example of a number of calls completed by time period report 1650, which indicates a number of calls using an indicated type of network connection that were originated and/or received by a specified group of users during a specified time period. Fig. 17A is an example of a set-up interface 1700 for determining report generation parameters for generating a call duration report 1750 (shown in Fig. 17B). The set-up interface 1700 provides descriptive report information 1701 and facilitates user input of a user group 1702, a call type 1703, a time range 1704, a sort order 1705 and a report display format 1706. Figs. 17B-17D depict respective examples of call duration reports 1750, which depict cumulative call durations for LAN calls and/or WAN calls associated with one or more specified groups of users and a specified time interval. Examples of three additional reports that may be generated according to specified parameters as described above are shown in Figs. 18A-18C. Fig. 18A is an example of a user call total by time period report 1800 that includes a bar chart representing the cumulative minutes of use for LAN calls, WAN calls made using a dial-up connection and/or WAN calls made using a dedicated connection during a specified time range broken down by month. Fig. 18B is an example of a network availability by number of calls report 1825 that includes a bar chart representing the results of calls using the specified networks during a specified time period. As shown in Fig. 18B, possible report indicators include available for completion, not completed due to unavailable resources, and/or not completed due to network or other system error. Fig. 18C is an example of a network availability by percentages of calls report 1850 that includes a bar chart representing the percentages, rather than numbers, of calls available for completion, not completed due to unavailable resources, and/or not completed due to error during a specified time period. Fig. 19A is an example of a set-up interface 1900 for determining report generation parameters for generating a total device usage by number of calls report 1950 (shown in Fig. 19B). The set-up interface 1900 provides descriptive report information 1901 and facilitates user specification of a device or devices 1902, a time range 1903, a sort order 1904 and a report display format 1905. Fig. 19B is an exemplary device usage by number of calls report 1950 that indicates a total number of inbound and/or outbound calls for a set of specified devices during a specified time interval. Fig. 20A is an example of a set-up interface 2000 for determining report generation parameters for generating a total device usage by duration report 2050 (shown in Fig. 20B). The interface 2000 provides descriptive report information 2001, and facilitates user specification of a set of devices 2002, a time period 2003, a sort order 2004 and a report display format 2005. Fig. 20B depicts an exemplary device usage by duration report 2050, which indicates a cumulative inbound and outbound use time for a specified set of devices during a specified time period. Figure 21 A is an example of a set-up interface 2100 for determining report generation parameters for generating a total device usage by time period report 2150 (shown in Fig. 21B). The set-up interface 2100 provides descriptive report information 2101, and facilitates user input to specify a device set 2102, a time range 2103, a time period 2104, a sort order 2105 and a report display format 2106. Fig. 21B depicts an exemplary total device usage by time period report 2150, indicating a cumulative inbound and outbound usage time for a specified set of devices during a specified time period. Examples of four additional reports that may be generated according to specified parameters as described above are shown in Figs. 22A-22D. Fig. 22A depicts an exemplary conference center usage by numbers of uses report 2200 that includes a bar chart representing the number of uses of conference centers in the specified MCSs. Fig. 22B depicts an exemplary conference center usage by cumulative time used report 2225 that includes a bar chart representing the cumulative time of use of conference centers in the specified MCSs during the specified time interval. Fig. 22C depicts an exemplary conference center busy by percentage of attempted uses report 2250 that includes a bar chart representing the percentage of times that a conference center was busy on the specified MCS when it was called during the specified time period. It should be noted that similar reports (with corresponding set-up interfaces) can readily be provided for other network devices. For instance, reports of usage by number of uses and usage by cumulative time used can be provided for switches 32 and AVSSs 100, and reports of being in use can be provided for AVSSs 100. Fig. 22D depicts an exemplary conference call availability report 2275 that includes a bar chart representing, for specified networks during a specified time period, the number of conference calls available for completion, the number of conference calls not completed due to unavailable resources and the number of calls not completed due to network error. Unlike the reports shown in Figs. 22A-22C which concern a network device conference center 36, the report 2275 shown in Fig. 22D concerns a service conference call report. Accordingly, the representations in the bar chart of calls not completed due to insufficient resources represent not only cases in which conference centers 36 are unavailable, but also cases in which other network resources are unavailable, such as AVSSs 100, if those resources are utilized for the call. Similarly, the representations in Fig. 22D of calls not completed due to system error represent not only cases in which there are errors in conference centers 36, but also cases in which there are errors in other network resources. Likewise; the representations of calls available for completion represent cases in which not only conference centers 36 are available and working, but all other necessary network resources are as well. It should be noted that reports like that depicted in Fig. 22D depicting conference call availability can be provided for other multimedia or collaborative services as well. For example, reports may be provided for two-party videoconferences, video-on-demand, video recording, and videoconference recording, such as are disclosed in U.S. Patents No. 5,617,539 and in Patent Cooperation Treaty Application Numbers PCT/US99/01789 and PCT US98/23596. Fig. 22E depicts an exemplary trunk busy report 2290 that includes a detailed listing for networks over a specified time period, a summary of the number of busy trunks during the specified time period. Although conference centers and trunks are specifically illustrated in the above reports, those skilled in the art will recognize that any service or shared hardware resources could be designated by the reporting features of the present invention and the above illustrations are merely exemplary. Fig. 23 is an example of a menu 2300 from which a user may select a variety of user-defined custom reports in accordance with the invention. Custom reports may be derived from standard reports, such as those shown in Figs. 13A-22D, and may be defined and saved in the database 200 in accordance with specified settings or parameters. Alternatively, a user may select from a list of variables and/or parameter choices and define particular conditions to create a unique custom report. Fig. 24 is an example of a custom report interface 2400 for saving custom reports to the database 200 in accordance with the invention. Fig. 25 is an example of a custom report save notification interface 2500 in accordance with the invention for indicating the success or failure of a saved report to the database 200. While the reports described herein were illustrated according to specific embodiments, those skilled in the art will recognize that the information contained in the reports can be presented according to any presentation implementation. Moreover, the reports can be printed or otherwise output using a vast number of different kinds of media without departing from the invention. Additionally, machine readable report files can be provided in commonly read file formats, such as "comma separated values" or any other similar file format scheme. While the foregoing has been described with reference to particular embodiments of the invention, such as the implementation of a multimedia collaboration reporting system, the invention is not limited to such embodiments described herein. It will be appreciated by those skilled in the art that changes in these embodiments may be made without departing from the principles and spirit of the invention. For example, in an alternative web-based embodiment of the invention, the database 200 may store a plurality of system events and database query and calculation commands may actually be embedded in the web page code such that the database queries may be carried out without use of network accessed report query filter format servers 206, 216 and the like. Additionally, the utilization of a database 200 may be also eliminated by in some embodiments of the invention.

Claims: WHAT IS CLAIMED IS: 1. A multimedia collaboration reporting system for use in at least one underlying multimedia collaboration system network, comprising: an event monitoring module for monitoring any one or more of internal network system events, external network system events and service events; a database module for recording the monitored events therein and for classifying the monitored events according to predetermined characteristics and attributes; and a reporting module for receiving query parameter information from a user and for generating a report in accordance with the query parameter information. 2. The multimedia collaboration reporting system of Claim 1, wherein there are a plurality of multimedia collaboration system networks and wherein one of the modules is centralized to a particular one of the plurality of multimedia collaboration system networks. 3. The multimedia collaboration reporting system of Claim 1, wherein there are a plurality of multimedia collaboration system networks and wherein any of the modules are decentralized by being distributed among the plurality of multimedia collaboration system networks. 4. The multimedia collaboration reporting system of Claim 3, wherein the decentralization of any of the modules results in a first system architecture that mirrors a network architecture which is common to a selected one of the multimedia collaboration system networks. 5. The multimedia collaboration reporting system of Claim 1, wherein the events include one or more of server startup events, server shutdown events, user login events, user logout events, call events, call error events, service events and service error events. 6. The multimedia collaboration reporting system of Claim 5, wherein the server startup events are maintained in a startup record stored in the database. 7. The multimedia collaboration reporting system of Claim 6, wherein the startup record includes any of startup time information, error code information, error string information and supplemental information. 8. The multimedia collaboration reporting system of Claim 5, wherein the server shutdown events are maintained in a shutdown record stored in the database. 9. The multimedia collaboration reporting system of Claim 8, wherein the shutdown record includes any of shutdown time information, error code information, error string information and supplemental information. 10. The multimedia collaboration reporting system of Claim 5, wherein the user login events are maintained in a user login record stored in the database. 11. The multimedia collaboration reporting system of Claim 10, wherein the user login record includes any of user ID information, login time information, client information and supplemental information. 12. The multimedia collaboration reporting system of Claim 5, wherein the user logout events are maintained in a user logout record stored in the database. 13. The multimedia collaboration reporting system of Claim 12, wherein the user logout record includes any of user ID information, logout time information, client information and supplemental information. 14. The multimedia collaboration reporting system of Claim 5, wherein the call events are maintained in a call record stored in the database. 15. The multimedia collaboration reporting system of Claim 14, wherein the call record includes any of caller information, call session information, callee information and timing information. 16. The multimedia collaboration reporting system of Claim 5, wherein the call error events are maintained in a call error record stored in the database. 17. The multimedia collaboration reporting system of Claim 16, wherein the call error record includes any of call failure information, session information, call information and timing information. 18. The multimedia collaboration reporting system of Claim 5, wherein the service events are maintained in a service record stored in the database. 19. The multimedia collaboration reporting system of Claim 18, wherein the service record includes any of service resource information, session information and timing information. 20. The multimedia collaboration reporting system of Claim 5, wherein the service error events are maintained in a service error record stored in the database. 21. The multimedia collaboration reporting system of Claim 20, wherein the service error record includes any of service resource problem information, operational error information, session information and timing information. 22. The multimedia collaboration reporting system of Claim 1, wherein the database comprises a plurality of localized databases, each database configured to store the monitored event information from a particular multimedia collaboration system network and a centralized database configured to centrally maintain the stored information from each of the plurality of localized databases. 23. The multimedia collaboration reporting system of Claim 1, wherein the database comprises a centrally located database configured to maintain the monitored event information. 24. The multimedia collaboration reporting system of Claim 1, wherein the database comprises a plurality of localized databases, each database configured to store the monitored event information from a particular multimedia collaboration system network. 25. The multimedia collaboration reporting system of Claim 1, wherein the reporting module is configured to generate either standard or customizable reports relating to the operation of the multimedia collaboration system network in response to the database query parameter information. 26. The multimedia collaboration reporting system of Claim 1, wherein the reporting module includes a web-based interface for providing either of a web-based query or response interactivity to the reporting such that a database query can be formulated and provided via the Internet. 27. The multimedia collaboration reporting system of Claim 1, wherein in response to the query parameter information, the reporting module performs either of predetermined calculations or conditional tests on the event information stored in the database in order to generate a report. 28. The multimedia collaboration reporting system of Claim 1, wherein the report is formulated as a machine readable report file. 29. The multimedia collaboration reporting system of Claim 28, wherein the report is formulated as a comma separated value report file. 30. The multimedia collaboration reporting system of Claim 1 , wherein the report is formulated as a combination of textual and graphical data. 31. A multimedia collaboration system for conducting a conference among a plurality of participants comprising: a multimedia collaboration system network, including a plurality of workstations each having a monitor for displaying visual images and A/V capture and reproduction capabilities for capturing and reproducing video images and spoken audio of the participants; a data network providing a data path along which data can be shared among the plurality of the workstations; and a data conference manager for managing the sharing of data between the plurality of workstations; and an independent reporting system connected with the multimedia collaboration system network and configured to provide reporting analysis of the multimedia collaboration system network, the independent reporting system including a network control system configured to monitor one or more of internal, external or service event information affecting the multimedia collaboration system network; a database configured to store the monitored event information; a database query system configured to format a database query according to query parameter information and to query the database in accordance with the database query parameter information; and a report generation system configured to generate an analysis report from the monitored event information stored in the database in accordance with the database query parameter information. 32. The multimedia collaboration system of Claim 31 , wherein the database comprises a plurality of localized databases, each database configured to store the monitored event information from a particular multimedia collaboration system network and a centralized database configured to centrally maintain the stored information from each of the plurality of localized databases. 33. The multimedia collaboration system of Claim 31 , wherein the database comprises a centrally located database configured to maintain the monitored event information. 34. The multimedia collaboration system of Claim 31, wherein the database comprises a plurality of localized databases, each database configured to store the monitored event information from a particular multimedia collaboration system network. 35. The multimedia collaboration system of Claim 31, wherein the database query system includes any of a standard filter formatter, a general filter formatter and an SQL interface formatter. 36. The multimedia collaboration system of Claim 31, wherein the report generation system is configured to generate either standard or customizable reports about the multimedia collaboration system network in response to the database query parameter information. 37. The multimedia collaboration system of Claim 31, wherein the reporting module includes a web-based interface for providing either of a web-based query or response interactivity such that a database query can be formulated and provided via the Internet. 38. The multimedia collaboration system of Claim 31, wherein in response to the query parameter information, the reporting module performs either of predetermined calculations or conditional tests on the event information stored in the database in order to generate a report. 39. The multimedia collaboration system of Claim 31 , wherein the report is formulated as a machine readable report file. 40. The multimedia collaboration system of Claim 39, wherein the report is formulated as a comma separated value report file. 41. The multimedia collaboration system of Claim 31 , wherein the report is formulated as a combination of textual and graphical data. 42. A multimedia collaboration system for conducting a conference among a plurality of participants comprising: a multimedia collaboration system network, including a plurality of workstations each having a monitor for displaying visual images and A/V capture and reproduction capabilities for capturing and reproducing video images and spoken audio of the participants; a data network providing a data path along which data can be shared among the plurality of the workstations; and a data conference manager for managing the sharing of data between the plurality of workstations; and an independent reporting system connected with the multimedia collaboration system network and configured to provide reporting analysis of the multimedia collaboration system network, the independent reporting system including a network control system configured to monitor one or more of internal, external or service event information affecting the multimedia collaboration system network; a database configured to store the monitored event information; a web-based database query system configured to format a database query according to query parameter information and to query the database in accordance with the database query parameter information; and a report generation system configured to generate an analysis report from the monitored event information stored in the database in accordance with the database query parameter information. 43. A method for generating reports identifying multimedia collaboration system events, comprising the steps of: monitoring one or more of internal network system events, external network system events and service events and recording the monitored events to a database, the stored events being classified in the database according to a predetermined set of characteristics and attributes; querying the database with a set of query parameter information to generate an analysis report; and generating the analysis report in accordance with the query parameter information. 44. A reporting system, comprising: a network control system configured to monitor one or more of internal, external or service event information of a multimedia collaboration system network; a database configured to store the monitored event information; a database query system configured to format a database query according to query parameter information and to query the database in accordance with the database query parameter information; and a report generation system configured to generate an analysis report from the monitored event information stored in the database in accordance with the database query parameter information. 45. The reporting system of Claim 44, wherein the database query system includes any of a standard filter formatter, a general filter formatter and an SQL interface formatter. 46. The reporting system of Claim 44, wherein the report generation system is configured to generate either standard or customizable reports relating to the operation of the multimedia collaboration system network in response to database query parameter information. 47. The reporting system of Claim 44, wherein the reporting module includes a web-based interface for providing either of a web-based query or response interactivity such that a database query can be formulated and provided via the Internet. 48. The reporting system of Claim 44, wherein in response to the query parameter information, the reporting module performs either of predetermined calculations or conditional tests on the event information stored in the database in order to generate a report. 49. The reporting system of Claim 44, wherein the report is formulated as a machine readable report file. 50. The reporting system of Claim 49, wherein the report is formulated as a comma separated value report file. 51. The reporting system of Claim 44, wherein the report is formulated as a combination of textual and graphical data. 52. A reporting system, comprising: a network control system configured to monitor one or more of internal, external or service event information of a multimedia collaboration system network; a database configured to store the monitored event information; a web-based database query system configured to format a database query according to query parameter information and to query the database in accordance with the database query parameter information; and a report generation system configured to generate an analysis report from the monitored event information stored in the database in accordance with the database query parameter information. APPENDIX A The following appendix lists some example high-level descriptions of various reporting algorithms that may be implemented by the present invention. Reference should be made to the specification to determine the scope of each of the following algorithms. The algorithms included in this appendix are User Call Total (A.l), User Call Summary (A.2), User Call Detail (A.3), User Call Total by Time Period (A.4), Network Availability (A.5), System Usage Between Switches (A.6), Trunk Busy (A.7), Conference Center Usage (A.8), and Conference Center Busy (A.9). Of course, those skilled in the art will recognize that other implementations of these algorithms, as well as additional algorithmic functions relating to information processing can be utilized without departing from the invention and the foregoing is provided merely as exemplary algorithms. A.l - User Call Total Switch Originate: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name and caller is originator, or Callee Name matches selected name and callee is originator. Receive: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name and caller is receiver, or Callee Name matches selected name and callee is receiver. Originate and Receive: Find all records with Accept Time and End Time in selected time range in which Caller Name or Callee Name matches selected name For each Call Record List by user and call class, rounding class and user totals to nearest minute. A.2 - User Call Summary For each user in the first group of selected users Switch Originate: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name, caller is originator, and Callee Name is in the second group of selected users, or Callee Name matches selected name, callee is originator, and Caller Name is in the second group of selected users. Receive: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name, caller is receiver, and Callee Name is in the second group of selected users, or Callee Name matches selected name, callee is receiver, and Caller Name is in the second group of selected users. Originate and Receive: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name and Callee Name is in the second group of selected users, or Callee Name matches selected name and Caller Name is in the second group of selected users. Create Service_List containing fields for Service (Media Server, Conference Center, Presentation, Broadcast, Device) and for each call class, Total and Minutes For each Call Record If callee is an Actual User and caller is an Actual User, then List by user and call class, rounding class and user totals to nearest minute. Else Update Service_List by Call Service and call class Total and Minutes For each entry in Service_List List by call service and call class, rounding class and user totals to nearest minute. A.3 - User Call Detail For each selected user Switch Originate: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name and caller is originator, or Callee Name matches selected name and callee is originator. Receive: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name and caller is receiver, or Callee Name matches selected name and callee is receiver. Originate and Receive: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name or Callee Name matches selected name. For each Call Record found If Caller Service or Callee Service is Conference Center then Find Participant record with same Call ID Find all Participant Records with same Conf Session ID as this Participant Records Create new ordered list Action_List of Action Records (like Participant Record with two new field called Action Time and Action Type) Insert each Participant Record into Action_List twice using the following process For each Participant Record If Slot Number is -1, then ignore Insert in ascending order by comparing Accept Time to Action Time, set Action Time to Accept Time and Action Type to Join For each Participant Record If Slot Number is -1 , then ignore Insert in ascending order by comparing End Time to Action Time, set Action Time to End Time and Action Type to Leave Set Active_Participant_List initially NULL Set Previous_Action_Time to NULL Loop through Action_List If selected name is in Active_Participant_List, then List call with originator column containing selected name, participants column containing Active_Participant_List, Start Time column containing Previous_Action_Time, Duration column containing difference between Action Time and Previous_Action_Time If Action Type is Join, then Add Participant Name to Active_Participant_List Else if Action Type is Leave, then If Call Record CalllD is Participant CalllD, then List call with originator column containing selected name, participants column containing Active_Participant_List, Start Time column containing Action Time, Duration column containing difference between Action Time and Previous_Action_Time Remove Participant Name from Active_Participant_List Exit Loop through Action List Set Previous_Action_Time to Action Time Else If call is to a service List call by originator and service name Else List call by originator and recipient A.4 - User Call Total by Time Period For each selected user Switch Originate: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name and caller is originator, or Callee Name matches selected name and callee is originator. Receive: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name and caller is receiver, or Callee Name matches selected name and callee is receiver. Originate and Receive: Find all records with Accept Time and End Time in selected time range in which Caller Name matches selected name or Callee Name matches selected name. List by selected time period and call class, rounding class and time period totals to nearest minute. A.5 - Network Availability For each selected switch Find all Call Records and Hop Records with Server Name equal to the switch and Accept Time and End Time in selected time range For all Call Records Determine completion status Increment call count by completion status List by call completion status A.6 - System Usage Between Switches For each selected switch Find all Call Records with Server Name equal to selected switch and Accept Time and End Time in selected time range Create list of destination switches Destination_List containing fields for Server Name, Server Location, and for each LAN, WAN:Dedicated, WAN:Dial calls, Total, fields for number of calls and minutes For each Call Record If call is not LAN call, then Determine call class and update destination switch (Server Name of last Hop Record) entry on Destination_List For each entry in Destination_List List information by call class, rounding times to nearest minute A.7 - Trunk Busy For each selected switch Find all Call Records and Hop Records with Server Name or Next Hop Server equal to selected switch and Accept Time and End Time in selected time range Create list of destination switches Destination_List containing fields for Server Name, Server Location, and Busy Count for each of 24 hours, initially all 0 For each Call Record and Hop Record Determine Call Record or Hop Record busy status If Server Name is selected switch and busy status is local, then increment Busy Count for hour of Start Time for the Server Name of call If Next Hop Server is selected switch and busy status is remote, then increment Busy Count for hour of Start Time for the Next Hop Server of call For each entry in Destination_List List information by Server Name, Server Location, Busy Count per hour A.8 - Conference Center Usage For each selected switch Find all Conference Records with Server Name equal to selected switch and Accept Time and End Time in selected time range Create list of conference usage Conference_List containing fields for Server Name, Server Location, and Total Count and Total Minutes For each Conference Record Update entry on Destination_List For each entry in Destination_List List information by Server Name, Server Location, Total Count, Total Minutes (rounded to nearest minute) A.9 - Conference Center Busy For each selected switch Find all Conference Records with Server Name equal to selected switch and Accept Time and End Time in selected time range Create list of conference usage Conference_List containing fields for Server Name, Server Location, and Busy Count for each of 24 hours, initially all 0 For each Conference Record If Conference End Event is "All busy", then increment count for hour of Start Time for the Server Name of call For each entry in Destination_List List information by Server Name, Server Location, Busy Count per hour

Inventors: BURNETT GERALD, CALABY LAUREN, HORSCHMAN ERIC, HUGHES JAMES, INN YUL, LAUWERS JOZEF C, LUDWIG LESTER, VANDERLIPPE RICHARD, WALLIN BRIAN, BURNETT, GERALD, CALABY, LAUREN, HORSCHMAN, ERIC, HUGHES, JAMES, INN, YUL, LAUWERS, JOZEF, C., LUDWIG, LESTER, VANDERLIPPE, RICHARD, WALLIN, BRIAN
Applicants: BURNETT GERALD, CALABY LAUREN, COLLABORATION PROPERTIES INC, HORSCHMAN ERIC, HUGHES JAMES, INN YUL, LAUWERS JOZEF C, LUDWIG LESTER, VANDERLIPPE RICHARD, WALLIN BRIAN, BURNETT, GERALD, CALABY, LAUREN, COLLABORATION PROPERTIES, INC., HORSCHMAN, ERIC, HUGHES, JAMES, INN, YUL, LAUWERS, JOZEF, C., LUDWIG, LESTER, VANDERLIPPE, RICHARD, WALLIN, BRIAN
Application year: 2000
Main classification: G06F17
IPC codes: G06F17, H04L12