Automatic conferencing service
Abstract
One embodiment disclosed relates to an apparatus for an automatic conferencing service. The apparatus includes at least a service logic execution environment (110) in a telecommunications service network, and an automatic conferencing service (112) running in the service logic execution environment (110). Another embodiment disclosed relates to a method (300) of scheduling an automatic conference. A conference request (304), including conference information specified by a user, is received by an automatic conferencing service (112) running in a service logic execution environment (110) within a telecommunications network. The automatic conferencing service (112) registers the conference and sends notification to attendees of the conference.

Term
Term ended
Projected expiry passed 21 February 2025, 1.6 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
8 claims: 1 independent, 7 dependent
- 1An apparatus for an automatic conferencing service, the apparatus comprising:a service logic execution environment in a telecommunications service network;andautomatic conferencing service running in the service logic execution environment.
58 paragraphs in 15 sections, as filed
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates generally to telecommunications.
Description of the Background Art
A telephone conferencing service may be provided conventionally through "conferencing centers" provided as a service by local and long distance telephone companies. A list of telephone numbers of the conferees and the date and time at which the conference is to begin is supplied to a conference center operator who performs the dialing operations to bring the conferees simultaneously on line to initiate the conference. This technique is limited by the necessity of setting up a relatively inflexible forum in which all participants must be designated in advance, and the inclusion and reliance upon outside telephone company personnel to implement the conference.
A telephone conferencing service may also be provided based on enterprise equipment. Such a service may be implemented on an applications server at the enterprise.
Unfortunately, prior automatic conferencing services can have reliability and availability issues. For example, for an automatic conferencing service running on an application server at an enterprise, when the application server goes down, then the automatic conferencing service in unavailable. It is desirable to increase the robustness and availability of automatic conferencing services.
SUMMARY
One embodiment of the invention relates to an apparatus for an automatic conferencing service. The apparatus includes at least a service logic execution environment in a telecommunications service network, and an automatic conferencing service running in the service logic execution environment.
Another embodiment of the invention relates to a method of scheduling an automatic conference. A conference request, including conference information specified by a user, is received by an automatic conferencing service running in a service logic execution environment within a telecommunications network. The automatic conferencing service registers the conference and sends notification to attendees of the conference.
BRIEF DESCRIPTION OF THE DRAWINGS
<ul id="ul0001" list-style="none" compact="compact"><li>FIG. 1 is a diagram depicting a system for a high-availability automatic conferencing service in accordance with an embodiment of the invention.</li><li>FIG. 2 is a diagram depicting select software components of a high-availability automatic conferencing service in accordance with an embodiment of the invention.</li><li>FIG. 3 is a diagram depicting an exemplary process of scheduling an automatic conference in accordance with an embodiment of the invention.</li><li>FIG. 4 shows an example user interface to enter information for a new conference.</li><li>FIG. 5 shows an example user interface to enter information for each conference attendee.</li></ul>
DETAILED DESCRIPTION
I. SYSTEM
FIG. 1 is a diagram depicting a system <b>100</b> for a high-availability (HA) automatic conferencing service in accordance with an embodiment of the invention. To provide a higher-level of availability and to provide more direct access to functions in the telecommunications service network, the system <b>100</b> is advantageously configured with an automatic conferencing service <b>112</b> running in a service logic execution environment (SLEE) <b>110</b> on high-availability (HA) telecommunications equipment <b>108</b> within a telecommunications service network. In one implementation, the SLEE <b>110</b> may comprise an OpenCall Service Controller (OCSC) running on an HP-UX operating system.
A conference organizer person may use a web browser <b>102</b> device to access the automatic conferencing service <b>112</b> so as to set up a teleconference. The browser <b>102</b> may access the service <b>112</b> by way of an automatic conferencing user interface (UI) to a web server <b>105</b> running on an applications server <b>104</b> of a corporate enterprise. The web server <b>104</b> may utilize an extensible markup language/ hyper text transfer protocol (XMUHTTP) interface <b>106</b> to communicate with the automatic conferencing service <b>112</b>. An example user interface to enter information for a new conference is shown in FIG. 4. An example user interface to enter information for each conference attendee is shown in FIG. 5.
In addition to the web-based access, the system <b>100</b> may be configured to include other access channels. For example, the automatic conferencing service <b>112</b> may be accessed by a conference organizer using a telephone or other voice access device <b>120</b>. The telephone may access the service <b>112</b> by way of an interactive voice response (IVR) <b>122</b> interface.
The automatic conferencing software <b>112</b> may communicate with conference attendees using various types of communication devices <b>114</b>. The devices <b>114</b> may include telephones, cell phones, wireless personal digital assistants (PDAs), computers with wired or wireless connections, and other communication devices. For example, notifications or reminders to the attendees may be communicated prior to the meeting and during the meeting for absent attendees.
Information regarding attendees, including their preference profiles, may be provided from a corporate or enterprise directory <b>116</b>. The directory <b>116</b> may be accessed, for example, by way of a Lightweight Directory Access Protocol (LDAP) interface <b>118</b>. LDAP is an Internet protocol that programs (for example, email programs) used to look up contact information from a server.
Online status information regarding attendees of a conference may be obtained by the automatic conferencing software <b>112</b> using lookups to a home location register (HLR) database <b>124</b>. An SS7 (signaling system 7) interface <b>126</b> may be used for these HLR communications.
Billing information may be processed by an Internet Usage Manager (IUM) <b>128</b>. The billing information may be communicated to the IUM <b>128</b> by way of an XMUFTP interface <b>130</b>. FTP refers to file transfer protocol.
II. SOFTWARE MODULES
FIG. 2 is a diagram depicting select software components or modules of a high-availability automatic conferencing service <b>112</b> in accordance with an embodiment of the invention. The components shown include a Home Location Register (HLR) Database Lookup service logic program (SLP) <b>202</b>, a Conference Coordinator SLP (also called the Automatic Conferencing SLP or AC SLP) <b>204</b>, a Notification SLP <b>206</b>, an Email Plug-in <b>208</b>, a Billing SLP <b>210</b>, an HTTP Server Plug-in <b>212</b>, an HTTP Dispatcher <b>214</b>, and an XML Parser <b>216</b>. These modules and their operations and interactions are discussed in detail below.
HTTP SERVER PLUG-IN
In an embodiment, the HTTP Server Plug-in <b>212</b> is configured to receive XML messages in HTTP requests via an HTTP connection <b>106</b> and forward them via a plug-in channel to the HTTP Dispatcher SLP <b>214</b>. The HTTP Server Plug-in <b>212</b> is also configured to receive XML response messages back from the HTTP Dispatcher SLP <b>214</b> and forwards them back to the same HTTP connection <b>106</b>.
The HTTP Server Plug-in <b>212</b> may use an embedded web server to listen for HTTP connection requests. If the plug-in <b>212</b> accepts a connection, the embedded web server creates an HTTP Client object (HttpClient) to process the requests on that connection. Over time, multiple HTTP connections may access the same conference managed by a particular Conference Coordination SLP 204 instance that is active in the SLEE. For example, a conference may be set up via one HTTP connection, and later triggered via another HTTP connection, and then cancelled via yet another HTTP connection. However, multiple open HTTP connections may be prevented from accessing the same conference simultaneously such that only one HTTP connection can access a particular conference at a time. The HTTP Server Plug-in <b>212</b> may also maintain a map of conference IDs and PLUGIN sessions. It can therefore route requests for active conferences via the appropriate PLUGIN session, and route a request for a new conference by creating a new PLUGIN session to the HTTP Dispatcher <b>214</b>.
The HTTP Server Plug-in <b>212</b> may start up when a UNIX-based service controller platform is started and may remain enabled while the platform is running. (The service controller platform may comprise, for example, an Open Source Service Controller (OCSC) platform or other similar platform.)
In an embodiment, the HTTP Server Plug-in <b>212</b> may be configured to perform the following procedural operations. <ul id="ul0002" list-style="bullet" compact="compact"><li>After the platform starts, the HTTP Server Plug-in <b>212</b> waits for HTTP connection requests.</li><li>If a connection is accepted, the HTTP Server Plug-in <b>212</b> creates a HttpClient object, implemented as a Http Plug-in Client object (HttpPiClientlmpl), to process the requests on that connection.</li><li>The HttpClient receives an HTTP request from the Automatic Conferencing GUI containing a "Setup conference" document.</li><li>The HTTP Server Plug-in <b>212</b> builds a PLUGIN message with an XML message ID and that contains the "Setup conference" document.</li><li>The HTTP Server Plug-in <b>212</b> creates a new PLUGIN session and sends the PLUGIN message to the HTTP Dispatcher.</li><li>The HTTP Server Plug-in <b>212</b> maps the client with a conference ID of "Unknown" in its internal client table. This table can be checked to prevent subsequent "Setup conference" requests from being processed simultaneously until the "In progress" response with unique conference ID is received.</li><li>The HTTP Server Plug-in <b>212</b> then waits for incoming HTTP messages or PLUGIN messages.</li><li>If the HTTP Server Plug-in <b>212</b> receives another "Setup conference" request, it checks the client table to see that there already is an "Unknown" entry and rejects the request with an HTTP error response.</li><li>When The HTTP Server Plug-in <b>212</b> receives the "In progress" document from the AC SLP <b>204</b> via a PLUGIN session, it parses the document to determine the unique conference ID.</li><li>The HTTP Server Plug-in <b>212</b> removes the "Unknown" client mapping from the internal client table and maps that client with the specified conference ID in the client table. The HTTP Server Plug-in <b>212</b> also stores the conference ID internally in the HttpPiClientlmpl as the current conference ID.</li><li>The HTTP Server Plug-in <b>212</b> maps the PLUGIN session with the specified conference ID and a requestStatus of InProgress in the internal session table.</li><li>The HTTP Server Plug-in <b>212</b> forwards the "In progress" document in a HTTP message to the proper HTTP connection.</li><li>The HTTP Server Plug-in <b>212</b> again waits for incoming HTTP messages or PLUGIN messages.</li><li>Whenever the HTTP Server Plug-in <b>212</b> receives a HTTP message with a conference ID, it looks up the conference ID in the client table. If the ID is in the table, it verifies the current HttpClient, not a different HttpClient, handles the HTTP message. If the ID is not in the table, the HTTP Server Plug-in <b>212</b> adds the conference ID and HttpClient to the client table as the current HttpClient for that conference.</li><li>Whenever the HTTP Server Plug-in <b>212</b> receives a "Checking online devices" response from the AC SLP <b>204</b>, it forwards the response in a HTTP message to the proper HTTP connection.</li><li>When the HTTP Server Plug-in <b>212</b> receives a "Notifications sent" response from the AC SLP <b>204</b>, it forwards the response to the proper HTTP connection, and sets the requestStatus to Done in the session table.</li><li>If the HTTP Server Plug-in <b>212</b> receives an HTTP message with a "Trigger request", it looks up the conference ID in the session table. If its requestStatus is InProgress, it rejects the request with an HTTP error response. If its requestStatus is Done, it changes the requestStatus to InProgress and forwards the "Trigger request" via the proper PLUGIN session.</li><li>If the HTTP Server Plug-in <b>212</b> receives an HTTP message with a "Status request", it looks up the conference ID in the session table and forwards the "Trigger request" via the proper PLUGIN session.</li><li>If the HTTP Server Plug-in <b>212</b> receives a HTTP message with a "Cancel request", it looks up the conference ID in the session table, and forwards the "Cancel request" via the proper PLUGIN session. It then deletes the conference ID rows from the session and client tables, changes the current conference ID for the HttpPiClientlmpl to "None", and closes the PLUGIN session for that conference.</li><li>If the HTTP Server Plug-in <b>212</b> receives a "Conference started" PLUGIN message from the AC SLP <b>204</b>, it knows the AC SLP has completed successfully and exited. It also deletes the conference ID rows from the session and client tables, changes the current conference ID for the HttpPiClientImpl to "None", and closes the PLUGIN session for that conference.</li><li>When the AC GUI browser closes the HTTP connection, the HttpClient terminates. The HttpPiClientImpl destructor is called, which removes any entry from the client table for the current conference ID for that client. The conference may still be active in the session table, allowing another HttpClient to access the conference at a later time for a trigger, status, or cancel requests.</li></ul> Each HttpPiClientImpl stores internally the conference ID it is currently responsible for. The HTTP Server Plug-in <b>212</b> may be configured to use an internal session table to map a conference ID to a PLUGIN session. The HTTP Server Plug-in <b>212</b> may also be configured to keep track of whether a conference has a request in-progress or done. The HTTP Server Plug-in <b>212</b> may further be configured to use an additional internal client table to map a conference ID to the current HttpClient that is processing requests and responses for that conference.
HTTP DISPATCHER SLP
In accordance with an embodiment, the HTTP Dispatcher SLP <b>214</b> may comprise a multi-service SLP and can be used for more than just the Automatic Conferencing Service. The HTTP Dispatcher SLP <b>214</b> receives initial request messages coming into the SLEE via the HTTP Server Plug-in <b>212</b>. The HTTP Dispatcher SLP <b>214</b> determines which SLP is responsible for processing the request and forwards the message. The HTTP Dispatcher SLP <b>214</b> only handles the initial request; subsequent requests and responses are handled directly by the responsible SLP.
The HTTP Dispatcher <b>214</b> may start-up when, for example, a UNIX-based service controller platform is started and may remain enabled while the platform is running.
In an embodiment, the HTTP Dispatcher SLP <b>214</b> may be configured to perform the following procedural operations. <ul id="ul0003" list-style="bullet" compact="compact"><li>After the platform starts, the HTTP Dispatcher SLP <b>214</b> waits for incoming messages from the PLUGIN channel.</li><li>The service controller platform creates an HTTP Dispatcher SLP <b>214</b> instance to handle the first message that arrives on a particular OCSC PLUGIN session.</li><li>The Dispatcher <b>214</b> instance receives the incoming message and checks the PLUGIN message ID to determine what type of message it is.</li><li>The Dispatcher <b>214</b> instance looks up the message ID in a table in the SLEE database to determine which SLP should process the message.</li><li>If the message has an XML message ID (as defined in the xml.ddl file), the database lookup will determine that the Dispatcher <b>214</b> should send the message to the AC SLP <b>204</b>.</li><li>The Dispatcher <b>214</b> instance creates an AC SLP <b>204</b> instance and outputs the PLUGIN message to it.</li><li>The Dispatcher <b>214</b> instance terminates. In an implementation, the SLEE database may be used to configure the SLP that processes the incoming PLUGIN message, based on its message ID.</li></ul>
CONFERENCE COORDINATION SLP
The Conference Coordination or Automatic Conference (AC) SLP 204 performs the coordination and processing needed to provide the automatic conferencing service. The AC SLP <b>204</b> receives, processes, and responds to the conference requests, keeping track of the information for all outstanding conferences.
When the HTTP Dispatcher <b>214</b> receives a "Setup conference" request, it creates an instance of the AC SLP <b>204</b> and forwards the request to be processed. The AC SLP <b>204</b> instance terminates after the conference has been executed, or cancelled.
In accordance with this embodiment, there is a one-to-one relationship between each conference and a corresponding AC SLP <b>204</b> instance. The number of outstanding conferences is limited by the number of AC SLP 204 instances that can be active simultaneously.
In an alternate embodiment, the one-to-one feature may be changed by providing an additional Conference Dispatcher SLP (not shown). Such a Conference Dispatcher SLP would coordinate the outstanding conferences and the active AC SLP <b>204</b> instances, tracking them using the unique conference ID's. A particular AC SLP <b>204</b> instance may be configured to do the initial conference setup, then it would terminate. The Conference Dispatcher SLP could create a new AC SLP instance to handle any subsequent conference status, trigger, or cancellation messages.
The AC SLP <b>204</b> communicates with other SLPs via SLEE signals containing XML documents. The AC SLP <b>204</b> also writes conference information into SLEE database tables that can be read and updated by the other SLPs as appropriate.
The AC SLP <b>204</b> also communicates with the HTTP Server Plug-in <b>212</b> by sending the same XML documents via an OCSC PLUGIN channel. After receiving the first "Setup conference" XML document from the HTTP Dispatcher, the AC SLP <b>204</b> instance communicates directly with the HTTP Server Plug-in <b>212</b> from then on. Each conference, with its own unique conference ID, is managed by a separate AC SLP <b>204</b> instance. The AC SLP <b>204</b> instance communicates with the corresponding AC UI instance via the HTTP Server Plug-in 212 using a dedicated Plug-in session of the PLUGIN channel interface. That PLUGIN session may stay open for the lifetime of the conference.
With the possible Conference Dispatcher enhancement mentioned above, the Conference Dispatcher would also coordinate the correlation of unique conference IDs and PLUGIN sessions. A PLUGIN session would not be required to stay open for the lifetime of the conference, but sessions could be closed as SLP instances terminate, and reopened as needed for subsequent messages.
In an embodiment, the AC SLP <b>204</b> may be configured to perform the following procedural operations. <ul id="ul0004" list-style="bullet" compact="compact"><li>An AC SLP <b>204</b> instance receives a "Setup conference" document from the HTTP Dispatcher <b>214</b> via an output PLUGIN message.</li><li>From the PLUGIN message, the AC SLP <b>204</b> instance determines the Plug-in session it will use for subsequent communication with AC UI via the HTTP Server Plug-in <b>212</b>.</li><li>The AC SLP <b>204</b> instance uses the XML Parser <b>216</b> SNI to parse the document as appropriate.</li><li>The AC SLP <b>204</b> instance generates a unique conference ID.</li><li>The AC SLP <b>204</b> instance sends the unique conference ID in a "In progress" response back via the HTTP Server Plug-in <b>212</b>. It saves the response as the current XML document for that conference. For persistence, it also stores the conference data in the SLEE database keyed by the conference ID.</li><li>The AC SLP <b>204</b> instance sets up a timer so it can be signaled at a configurable interval (default 5 minutes in an embodiment) before the conference is scheduled to start.</li><li>The AC SLP <b>204</b> instance creates a Notification SLP instance and signals it with the document to send the appropriate notifications.</li><li>The AC SLP <b>204</b> instance then waits for incoming signals.</li><li>When the AC SLP <b>204</b> instance receives a "Checking online devices" or "Notifications sent" response from the Notification SLP <b>206</b>, it saves that as the current XML document for that conference, saves the conference data in the SLEE database, and sends the response via the HTTP Server Plug-in <b>212</b>.</li><li>If the AC SLP <b>204</b> instance receives a "Status request" from the HTTP Server Plug-in <b>212</b>, it responds with the current XML document.</li><li>If the AC SLP <b>204</b> instance receives a "Cancel request" from the HTTP Server Plug-in <b>212</b>, it cancels the timer, forwards the request to the Notification SLP <b>206</b> if it is active, deletes the conference data from the SLEE database, responds with a "Request cancelled", and exits.</li><li>When the Notification SLP <b>206</b> signals the AC SLP <b>204</b> instance that the attendees have been notified, the AC SLP <b>204</b> instance signals the Billing SLP <b>210</b> with the current XML document to generate the appropriate billing records.</li><li>If the AC SLP <b>204</b> instance receives a "Trigger notifications" request, it again creates a Notification SLP <b>206</b> instance and signals it with the current XML document to again send the appropriate notifications.</li><li>When the timer pops, the AC SLP <b>204</b> instance again creates a Notification SLP <b>206</b> instance and signals it with the current XML document to again send the appropriate notifications. It then creates a new timer so it can be signaled when the conference is starting.</li><li>When the second timer pops, the AC SLP <b>204</b> again creates a Notification SLP <b>206</b> instance and signals it with the current XML document to again send the appropriate notifications.</li><li>When the Notification SLP <b>206</b> signals the AC SLP <b>204</b> that the attendees have been notified that the conference has started, the AC SLP <b>204</b> is completed successfully. It sends a "Conference started" message with the conference ID to the HTTP Server Plug-in <b>212</b>. It then deletes the conference data from the SLEE database, and exits.</li></ul> The current conference information may be maintained as an XML document kept in a buffer local to the SLP instance. The current conference information may also be kept in the SLEE database so that it can easily be shared with the Notification SLP <b>206</b> and the Billing SLP <b>210</b>. The information may be kept in multiple tables.
XML PARSER
The XML Parser <b>216</b> may utilize a service logic execution language (SLEL) interface to provide XML parsing functions to SLP programs. The interface may specify wrapper functions that use an "expat" shared library to perform the actual parsing.
NOTIFICATION SLP
The Notification SLP <b>206</b> sends conference announcement messages to the appropriate devices of the conference attendees.
An AC SLP <b>204</b> instance creates a Notification SLP <b>206</b> instance when the AC SLP <b>204</b> desires that conference announcements be sent out. The Notification SLP <b>206</b> instance terminates after it signals the AC SLP <b>204</b> that all notifications have been successfully sent.
The Notification SLP <b>206</b> communicates with other SLPs via SLEE signals containing XML documents. The Notification SLP <b>206</b> also reads conference information from the SLEE database tables created by the AC SLP <b>204.</b> In particular, it also reads the device online status that is updated by the HLR SLP <b>202</b>.
The Notification SLP <b>206</b> also communicates with the Email plug-in <b>208</b> with a service controller PLUGIN messages via a service controller PLUGIN channel. The Email plug-in <b>208</b> is asynchronous, so it does not respond to the PLUGIN messages and assumes the email messages were sent correctly.
In an embodiment, the Notification SLP <b>206</b> instance may be configured to perform the following procedural operations. <ul id="ul0005" list-style="bullet" compact="compact"><li>The Notification SLP <b>206</b> instance receives a request document from the AC SLP <b>204</b> for a current conference request. It saves the request as the current XML document for this conference.</li><li>The Notification SLP <b>206</b> instance creates an HLR SLP <b>202</b> instance and signals it with the document to check the online status of the attendees.</li><li>The Notification SLP <b>206</b> instance then waits for incoming signals.</li><li>If at this time the Notification SLP <b>206</b> instance receives a "Cancel request" from the AC SLP <b>204</b>, it forwards the request to the HLR SLP <b>202</b> if it is active, and exits.</li><li>Whenever the Notification SLP <b>206</b> instance receives a "Checking online devices" response from the HLR SLP <b>202</b>, it saves that as the current XML document for that conference, and sends the response back to the AC SLP <b>204</b>.</li><li>When the Notification SLP <b>206</b> instance receives the "Done checking devices" response from the HLR SLP <b>202</b>, it saves that as the current XML document for that conference, and starts sending notifications to the subscribers.</li><li>The Notification SLP <b>206</b> instance reads the SLEE database as appropriate to get the conference information, subscriber information, and device information. This includes the online device status that was just updated by the HLR SLP <b>202</b>.</li><li>The Notification SLP <b>206</b> instance processes each subscriber in the subscriber list.</li><li>For each subscriber, the Notification SLP instance searches for the first device <b>114</b> (listed in order of preference) that is online.</li><li>If the device <b>114</b> is a cell-phone (using SMS), the Notification SLP <b>206</b> instance puts together an email body with the conference title, start time, and end time. The conference purpose is not included to keep the SMS message short. It specifies an email address that is the address specified for the device.</li><li>If the device <b>114</b> is a laptop or PDA, the Notification SLP <b>206</b> instance puts together an email body with the conference title, purpose, start time, and end time. It specifies an email address that is the address specified for the device.</li><li>If the subscriber has no online devices <b>114</b>, the Notification SLP <b>206</b> instance puts together an email body with the conference title, purpose, start time, and end time. It specifies an email address that is the subscriber's email address.</li><li>The Notification SLP <b>206</b> instance puts together a PLUGIN message containing the email message SLEL with the email address, email body, and an email subject of "Conference notification".</li><li>For the first subscriber, the Notification SLP <b>206</b> instance creates PLUGIN session to send the PLUGIN message to the Email plug-in <b>208</b>. It uses the same PLUGIN session to send PLUGIN messages for each of the subsequent subscribers.</li><li>After all the subscribers have been processed, the Notification SLP <b>206</b> instance updates the XML document to have a conference status of "Notifications sent", and sends it as a response to the AC SLP <b>204</b>.</li><li>The Notification SLP <b>206</b> instance then puts together a PLUGIN message with a message ID of email_finished, and sends the message to the Email plug-in 208. It closes the plug-in session it used with the Email plug-in <b>208,</b> and exits.</li><li>Also if the Notification SLP <b>206</b> instance receives a "Cancel request" from the AC SLP <b>204</b> while sending notifications, it sends the email_finished message to the Email plug-in, <b>208</b> closes the plug-in session and exists.</li></ul> The current conference information may be kept as an XML document in a buffer local to the Notification SLP 206 instance. As appropriate, the Notification SLP 206 can also access the database tables specified above for the AC SLP 204.
HOME LOCATION REGISTER SLP
The Home Location Register (HLR) SLP <b>202</b> provides an HLR database lookup to determine the online status of the devices of attendees. In an implementation, the HLR SLP <b>202</b> may be configured to send HLR requests via an HLR Plug-in to a CORBA (Common Object Request Broker Architecture) interface of an HLR database to determine the online status of devices.
The Notification SLP <b>206</b> creates a HLR SLP <b>202</b> instance when it needs device status information. The HLR SLP <b>202</b> instance terminates after it signals the Notification SLP <b>206</b> with the "Done checking devices" message.
The HLR SLP <b>202</b> communicates with other SLPs via SLEE signals containing XML documents. It also updates the device status in a device table created by the AC SLP <b>204</b> in the SLEE database.
In an embodiment, the HLR SLP <b>202</b> instance may be configured to perform the following procedural operations. <ul id="ul0006" list-style="bullet" compact="compact"><li>The HLR SLP <b>202</b> instance receives a request document from the Notification SLP <b>206</b> for a current conference request. It saves the request as the current XML document for this conference.</li><li>The HLR SLP <b>202</b> instance reads the conference data from the AC SLP <b>204</b> database tables as appropriate.</li><li>The HLR SLP <b>202</b> instance updates the conference status of the document to be "Checking online devices" and saves the document as the current XML document in the SLP.</li><li>The HLR SLP <b>202</b> instance processes each subscriber in the subscriber list.</li><li>For each subscriber, the HLR SLP <b>202</b> instance processes each device 114 (listed in order of preference), until it finds a device 114 (if any) that is online.</li><li>For each device, the HLR SLP <b>202</b> instance looks up the device <b>114</b> IMSI (International Mobile Subscriber Identity) code in the IMSI table in the SLEE database to determine if the device is "Offline" or "Online." If the IMSI code is not found in the SLEE database, the device <b>114</b> is specified to be "Offline."</li><li>The HLR SLP <b>202</b> instance updates the status of the device <b>114</b> in the current XML document and in the device table created by the AC SLP <b>204</b> in the SLEE database.</li><li>When the HLR SLP <b>202</b> instance finds a subscriber's device <b>114</b> that is online, or that none of the subscriber's device <b>114</b> are online, it sends the current XML document as a "Checking online devices" response to the Notification SLP <b>206</b>.</li><li>After all subscribers have been processed, the HLR SLP <b>202</b> instance updates the current XML document to have a conference status of "Done checking devices", sends it as a response to the Notification SLP 206, and exits.</li><li>If the HLR SLP <b>202</b> instance receives a "Cancel request" from the Notification SLP <b>206</b>, it exits.</li></ul>
The current conference information may comprise a XML document kept in a buffer local to the HLR SLP <b>202</b> instance. The HLR SLP <b>202</b> can also access the database tables specified above for the AC SLP <b>204.</b> The SLEE database may be used to configure the online status of the devices, keyed on the device IMSI number.
EMAIL PLUG-IN
The Email Plug-in <b>208</b> sends an email message with a specified subject and body to specified addresses. The Email Plug-in <b>208</b> may beconfigured to be automatically enabled whenever the service controller platform is started. The Email Plug-in <b>208</b> may remain enabled and waiting for incoming messages until the service controller platform is shutdown.
The Notification SLP <b>206</b> may be configured to communicate with the Email plug-in <b>208</b> with service controller PLUGIN messages via a service controller PLUGIN channel. The PLUGIN messages may contain SLEL data. The Email plug-in <b>208</b> is asynchronous, so it does not respond to the PLUGIN messages and assumes the email messages were sent correctly.
In an embodiment, the Email Plug-in <b>208</b> may be configured to perform the following procedural operations. <ul id="ul0007" list-style="bullet" compact="compact"><li>After the platform starts, the Email Plug-in <b>208</b> waits for incoming PLUGIN message from the Notification SLP <b>206</b>.</li><li>When the Email Plug-in <b>208</b> receives a PLUGIN message on a new or existing PLUGIN session, it checks the message ID to ensure it is an email message ID.</li><li>The Email Plug-in <b>208</b> forks and executes a separate process to send the email message with the specified email subject and body to the email addresses. This ensures that no actual file system access is done in the plug-in process itself.</li><li>If the PLUGIN message ID is email_finished, then the Email Plug-in <b>208</b> knows the Notification SLP <b>206</b> has closed the PLUGIN session from the SLP side. The Email Plug-in <b>208</b> closes the session from the plug-in side, and waits for additional incoming messages from other SLPs.</li></ul>
BILLING SLP
The Billing SLP <b>210</b> may be configured so as to receive an XML conferencing message from the AC SLP <b>204.</b> From that message, the Billing SLP <b>210</b> may generate an XML file including appropriate Internet Protocol Detail Records (IPDR) for billing. This file with the IPDR billing records may be detected via an XMUFTP interface <b>130</b> and processed by an Internet Usage Manager (IUM) <b>128</b>.
III. EXEMPLARY PROCESS
FIG. 3 is a diagram depicting an exemplary process <b>300</b> of scheduling an automatic conference in accordance with an embodiment of the invention. The process <b>300</b> begins when a conference coordinator person (i.e. a user) utilizes a browser <b>102</b> to access a web page from a web server <b>105</b>. The web page provides access to the automatic conferencing service. Using the web page mechanism, the coordinator, in step <b>302</b>, sends a request to schedule a conference. In an implementation, the coordinator provides the name, purpose, time and duration of the requested conference, the names of conference attendees, and their device profiles. This conference request, in step <b>304</b>, is communicated from the web server <b>105</b> via the XMUHTTP interface <b>106</b> to the pertinent high-availability telecommunications equipment <b>108</b>. In addition, authorization of the user may be confirmed. The HTTP Server Plug-in <b>212</b> receives the request and, in step <b>306</b>, sends the XML message to the HTTP Dispatcher <b>214</b>, which provides the XML message to the Conference Coordinator SLP <b>204</b>. The Conference Coordination SLP <b>204</b>, in step <b>308</b>, provides the XML message to the XML Parser <b>216</b>. After parsing the message, the XML Parser <b>216</b>, in step <b>310</b>, returns the conference request information therein to the Conference Coordination SLP <b>204</b>.
The Conference Coordination SLP <b>204</b>, in step <b>312</b>, registers the conference with a unique conference identifier (ID). Pertinent timers for the conference are also set by the Conference Coordination SLP <b>204</b>.
A notification is returned, in step <b>314</b>, by the Conference Coordination SLP <b>204</b> via the web interface to the conference coordinator person that the scheduling is in progress. The notification includes the conference ID assigned to this request.
The Conference Coordination SLP <b>204</b> proceeds to coordinate the notification to the conference attendees of the conference information along with the necessary contact information for them to be able to join the conference. This may be accomplished, for example, by the following.
The Conference Coordination SLP <b>204</b> may create an instance of the Notification SLP <b>206</b> and, in step <b>316</b>, signals it with the XML document for that conference. The Notification SLP <b>206</b> may extract the attendee information by sending, in step <b>318</b>, the XML document to the XML Parser <b>216</b> so that the XML Parser <b>216</b> can return, in step <b>320</b>, the attendee information therein.
The Notification SLP <b>206</b> may then create an instance of the HLR SLP <b>202</b>. The Notification SLP <b>206</b> may provide, in step <b>322</b>, the device IMSI data for the attendees to the HLR SLP <b>202</b>. The HLR SLP <b>202</b> looks up the current online status of the attendees, and returns, in step <b>324</b>, the status information to the Notification SLP <b>206</b>. The status information is returned from the Notification SLP <b>206</b> to the Conference Coordination SLP <b>204</b> which may return, in step <b>326</b>, another in-progress response ("Checking online devices") including this status information via the web interface to the conference coordinator person.
Based on the status information, the Notification SLP <b>206</b> may also be instructed to send appropriate notice messages to the attendees. The notice messages may take the form of, for example, an SMS message that is sent, in step <b>328</b>, to an attendee with a cell phone, and an email message that is sent, in step <b>330</b>, to another attendee with email.
Thereafter, an XML response indicating that the notices were sent may be returned, in step <b>332</b>, from the Notification SLP <b>206</b> to the Conference Coordinator SLP <b>204</b>. Based upon that, the Conference Coordinator SLP <b>204</b> may send, in step <b>336</b>, a finished or "Notifications sent" response for that conference ID via the HTTP Interface <b>212/214</b>, to the Web Server <b>105</b>, to the Browser <b>102</b>, and finally to the conference coordinator person. In addition, the Conference Coordinator SLP <b>204</b> may signal, in step <b>334</b>, the Billing SLP <b>210</b> with the current XML document to generate the appropriate billing records.
As mentioned in the above discussion of FIG. 1, FIG. 4 shows an example user interface to enter information for a new conference, and FIG. 5 shows an example user interface to enter information for each conference attendee.
In the above description, numerous specific details are given to provide a thorough understanding of embodiments of the invention. However, the above description of illustrated embodiments of the invention is not intended to be exhaustive or to limit the invention to the precise forms disclosed. One skilled in the relevant art will recognize that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures or operations are not shown or described in detail to avoid obscuring aspects of the invention. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification and the claims. Rather, the scope of the invention is to be determined by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.
Contents15
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| WO03098849A2 | Cites | World Intellectual Property Organization (WIPO) | A | Search report | – |
| EP0847176A2 | Cites | European Patent Office (EPO) | A | Search report | – |
| US2003091027A1 | Cites | United States of America | A | Search report | – |
| CA2240878A1 | Cites | Canada | Y | Search report | 3,4 |
| US5408518A | Cites | United States of America | XY | Search report | 1,2,6 |
| US6275575B1 | Cites | United States of America | A | Search report | – |
4 members in 4 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 787328 | United States of America | – | |
| 78732804 | United States of America | A | |
| 787328 | – | – | – |
| US20040787328 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| EP1569431A1This record | European Patent Office (EPO) | A1 | |
| US2005190706A1 | United States of America | A1 | |
| JP2005244984A | Japan | A | |
| KR20060042377A | Republic of Korea | A |
8 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Application withdrawnWithdrawn18W | 18W | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION HAS BEEN WITHDRAWNSTAA | STAA | EP | |
| Designated country de not longer valid8566 | 8566 | DE | |
| Designation fees paidAKX | AKX | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1569431
- Publication, DOCDB
- 1569431
- Publication, EPODOC
- EP1569431
- Application
- 5003699
- Application, DOCDB
- 05003699
- Application, EPODOC
- EP20050003699
Titles3
- German
- Automatischer Konferenzdienst
- English
- Automatic conferencing service
- French
- Service de conférence automatique
Classification
- CPC, 11
- H04M15/41
- H04M3/42161
- H04M3/42382
- H04M3/56
- H04M7/12
- H04M15/00
- H04M2203/4536
- H04M2203/5063
- H04M2207/12
- H04M2215/0164
- H04Q2213/1324
- IPC, 6
- H04L12 18
- H04M3 42
- H04M3 56
- H04M7 12
- H04M15 00
- H04Q3 00
Designated states36
- Contracting states, 30
- Finland
- United Kingdom
- Italy
- Sweden
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- France
- Greece
- Hungary
- Ireland
- Iceland
- Liechtenstein
- Lithuania
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
and 6 moreShow fewer
- Poland
- Portugal
- Romania
- Slovenia
- Slovakia
- Türkiye
- Extension states, 6
- Albania
- Bosnia and Herzegovina
- Croatia
- Latvia
- North Macedonia
- Yugoslavia, later Serbia and Montenegro (until 2006)