IP telephony architecture including information storage and retrieval system to track fluency
Summary by NHIP
Fluency tracking in IP telephony
The method analyzes communications to calculate weighted values reflecting timing, context, and order relationships for identifying fluent communicants. A processor subsequently orders these individuals into a list based on relative values to allow requesters to initiate contact sequences.
Claim Score by NHIP
Abstract
In one embodiment, an enterprise network is provided that includes subscriber communication devices 120, 148, and 150, an archival server 128 to store representations of communications between subscribers and/or between subscribers and nonsubscribers, and a module 160, 168, and/or 174 that analyzes a communication by a subscriber for selected content and, when the selected content is present in the communication, determines a weighted value associated with the communication and/or subscriber. The value reflects timing information associated with the communication. The archival server subsequently uses the weighted value to locate the recorded communication and/or identify the subscriber as being fluent in the selected content.

Term
5 yearsleft in the term
Expires 21 September 2031, including 1,813 days of term adjustment.
- Priority
- Filed
- Granted
- Today
- Expires
25 claims: 2 independent, 23 dependent
- 1A method for identifying selected resources or content, comprising:a processor analyzing a selected communication by a selected communicant for selected content;when the selected content is present in the selected communication, the processor determining a weighted value associated with at least one of the selected communication and communicant, wherein the weighted value reflects at least two of timing information associated with the selected communication, a context of the selected communication, a type of selected communication, a level of order relationship associated with the selected content, a requester preference, and a weight associated with the selected communicant of topics determined to have an n-th order relationship with the selected content;the processor subsequently identifying the selected communicant as being fluent in the selected content based on the weighted value;the processor ordering a plurality of communicants in a list of two or more communicants that are identified as being fluent in the selected content, wherein the ordering is based on relative weighted values to the two or more communicants;providing the list to a requester based on a request for information associated with the selected content, wherein a requester can elect to contact automatically the listed communicants in a contact sequence, wherein the contact sequence is specified by the requester;and identifying the plurality of communicants as being fluent in the selected content based on respective weighted values, and wherein the requester can elect to contact two or more selected ones of the plurality of identified communicants to initiate a conference call to the two or more selected ones of plurality of identified communicants.
- 14Broadest claimClaim Score 33, narrow(NHIP)An enterprise system, comprising:an enterprise network including a plurality of communication devices associated with a plurality of subscribers, wherein the subscribers are part of the enterprise;an enterprise server operable to store representations of communications between subscribers or between subscribers and nonsubscribers;a module executed by the enterprise server, the module operable to: analyze a plurality of communications, both in-coming to and out-going from the enterprise, for selected content;analyze the selected content;and when the selected content is analyzed, determine a weighted value associated with at least one of the corresponding communication and subscriber of the corresponding communication, wherein the weighted value reflects one or more of a context of the corresponding communication, a type of corresponding communication, a level of order relationship associated with the selected content, a requester preference, and a weight associated with a communicant of the topic determined to have an n-th order relationship with the selected content;wherein the archival server subsequently locates at least a portion of the corresponding communication based on the weighted value or identifies the subscriber of the corresponding communication as being fluent in the selected content based on a weighted value, wherein the archival server identifies a plurality of subscribers as being fluent in the selected content based on the weighted value, and wherein the requester can elect to contact two or more selected ones of the plurality of identified subscribers to initiate a conference call to the two or more selected ones of plurality of identified subscribers.
Independent claims2
141 paragraphs in 6 sections, as filed
CROSS REFERENCE TO RELATED APPLICATION
p-0002The present application claims the benefits of U.S. Provisional Application Ser. No. 60/817,971, filed Jun. 30, 2006, of the same title, to Chavez, et al., which is incorporated herein by this reference.
FIELD OF THE INVENTION
p-0003The invention relates generally to communication systems and particularly to switch-based enterprise telecommunication systems.
BACKGROUND OF THE INVENTION
p-0004The convergence of the mobile telephone network, the static telephone network, and the IP network provides a myriad of communication options for users. If one seeks to contact another individual, he or she may do so by electronic mail or e-mail, instant messaging, wired or wireless telephone, personal computer, pager, personal digital assistant or PDA, and Unified Messaging or UM systems, to name but a few. With so many options, it is difficult, if not impossible, to determine which option at a given point in time will provide the caller with the highest likelihood of contacting the desired individual or contactee. Trial and error and guesswork are the typical techniques used to contact the contactee, which more often than not leads to a waste of time and frustration on the part of the caller.
p-0005Various attempts have been made to provide a presence and availability system that can track temporally a person's presence and availability and thereby provide a contactor with the highest likelihood of contacting the person. This is typically effected by collecting information from communication devices associated with the person. Such systems can further permit the person to define their availability to be contacted generally and/or to defined groups of contactors and how that contactor or group of contactors may contact them. This can be effected by allowing the person to configure the contactor's access control settings. As will be appreciated, contactors can view the information regarding the availability of contactees and use that information to determine whether or not and how to initiate or continue communications.
p-0006Recently, the Session Initiation Protocol or SIP (which is a simple signaling/application layer protocol for data network multimedia conferencing and telephony) has been developed to facilitate media-independent signaling and the implementation of presence and availability systems. Although other protocols may be equally supportive of presence concepts, SIP provides an illustrative basis for the present invention. In SIP, end systems and proxy servers can provide services such as call forwarding, contactee and contactor number delivery (where numbers can be any naming scheme such as a conventional URL format), personal mobility (the ability to reach a contactee under a single, location-independent address even when the contactee changes terminals), terminal-type negotiation and selection (e.g., a contactor can be given a choice on how to reach the contactee), terminal capability negotiation, caller and callee authentication, blind and supervised call transfer, and invitations to multiparty conferences.
p-0007To provide these varied services, SIP uses a relatively simple message system. Contacts begin via an “INVITE” message (with the contactor's codec preferences) and an “OK” message (with the contactee's codec preferences). Various software entities may participate, namely registrars which maintain a map of the addresses of a given user at the current time, proxies which perform call routing, some session management, user authentication, redirect functions, and routing to media gateways, redirect servers which perform a subset of forwarding functions, and SIP location servers which maintain user profiles and provide subscriber registration. “Registration” is a mechanism whereby a user's communication device registers with the network each time he or she comes online or needs to charge existing registration and individual profiles are maintained that specify information for routing contacts based on a number of different criteria.
p-0008Even with the emergence of presence aware telecommunication systems, there is an increasing need to use telecommunication systems to realize presence awareness in other dimensions. By way of example, many enterprise organizations, particularly extremely large organizations, are unaware of all of the areas and levels of expertise and knowledge of large percentages, if not all, of their employees.
p-0009For example, in the context of a large financial company, such as a brokerage firm, an employee agent may receive a call from a critical client asking for an answer, within five minutes, whether he or she should invest in company XYZ. If the client fails to invest within five minutes, the stock price could rise, costing the client more money and increasing his or her risk while decreasing his or her return. If the agent knows nothing, or very little, about company XYZ, he is limited to performing a quick web search and/or asking other employees for relevant information about company XYZ (which is at best a hit-or-miss proposition). For the most part, these resources are the same resources available to the client. Whatever advice is given to the client will likely not be the best advice that could be provided by the available fluent resources of the financial company. The reason for the failure to provide the best advice is that the financial company has little awareness, as embodied by a central, employee accessible database, of the current fluency of its employees on topics of interest to its clients.
SUMMARY OF THE INVENTION
p-0010These and other needs are addressed by the various embodiments and configurations of the present invention. The present invention is directed generally to an architecture and method for tracking and determining fluency of selected groups of people. As used herein, “fluency” refers to a level or degree of knowledge, skill, proficiency, familiarity, or expertise in a given subject, with a given subject matter, in performing a given task or activity, and/or with a selected topic.
p-0011In a first embodiment of the present invention, a method for identifying selected resources and/or content is provided that includes the steps of:
p-0012(a) analyzing, for selected content, a communication by a communicant/subscriber;
p-0013(b) when the selected content is present in the communication, determining a weighted value associated with the communication and/or communicant/subscriber, the value reflecting timing information associated with the communication; and
p-0014(c) subsequently using the weighted value to locate the communication and/or identify the communicant/subscriber as being fluent in the selected content.
p-0015In one configuration, the weighted value is used to weigh tags associated with a stored representation of the communication. In other words, recency of the communication is used as one of the weighting factors in ranking the degrees of relevancy of different stored communication representations to a given Boolean search query.
p-0016In another configuration, the weighted value is used to determine a level of fluency of the communicant in a topic related to or associated with the selected content.
p-0017In another embodiment, a method of operating an enterprise network is provided that includes the steps of:
p-0018(a) recording communications (which can be in the form of voice, video or data such as email, instant messaging and/or chat sessions) of the subscribers with other persons, the voice communications being recorded in temporal proximity to the time the voice communications occurred;
p-0019(b) tagging the stored representations of the communications for later search and retrieval of the communications, the tags being descriptive of a content of the communication and context of the communication;
p-0020(c) when a search request is received, using the tags to locate communications complying with the search request; and
p-0021(d) when a communication complies with a search request, audibly and/or visually providing the communication to the requestor.
p-0022The invention can provide a new Internet Protocol telephony architecture where a desktop client determines topics its user is fluent in and gives them various weights including a weight based on recentness. It also can export this information to a central directory so real time access to up-to-date topic fluent users is possible. All communications streams (including voice, video, and data streams such as e-mail, instant messaging and/or chat sessions) are preferably stored, archived, context tagged, and available for future retrieval. A rich desktop client can then provide the user access to the topic directory, returning weighted users fluent in the topic, their presence states, and the ability to automatically contact them individually, serially, or concurrently. The attempted sessions are assigned a priority by the requestor. When a recipient is contacted, it includes information on the requestor, the reason why the recipient is being contacted (e.g., topic), and the priority of the contact.
p-0023The present invention can provide a number of advantages depending on the particular configuration. The present invention can provide the ability to auto-generate and update in real time a directory of users and their fluencies in topics including a weighting. It can provide the ability for the user to query for a list of people fluent in a topic including a recency relevancy component. It can provide the ability for a user to receive such a response to a query indicating the presence state of all people returned and providing a rich mechanism to contact them, whether individually, serially, or concurrently. It can provide the recipient with rich information on the context of the pending session, topic, originator, priority, whether it is a conference or not. It can provide a voice recording as a basic service required of every call. It can provide secure access to the voice archive using relevance scoring popular in information management systems. It can take advantage of IP connections for a low cost connection, DVR technology for low cost storage, relevance engines for quick and correct information access, secure access by separating tags from data, and requiring an access agent authenticate all retrievals against rules it enforces.
p-0024These and other advantages will be apparent from the disclosure of the invention(s) contained herein.
p-0025As used herein, “at least one”, “one or more”, and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
p-0026The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0027<figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram of a communications architecture according to an embodiment of the present invention;
p-0028<figref idrefs="DRAWINGS">FIG. 2</figref> is a flow chart depicting the operation of a user agent according to an embodiment of the present invention;
p-0029<figref idrefs="DRAWINGS">FIG. 3</figref> is a flow chart depicting the operation of an archival server according to an embodiment of the present invention;
p-0030<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow chart depicting the operation of the user agent according to an embodiment of the present invention;
p-0031<figref idrefs="DRAWINGS">FIG. 5</figref> is a screen shot of a subscriber display by the user agent according to an embodiment of the present invention;
p-0032<figref idrefs="DRAWINGS">FIG. 6</figref> is a flow chart depicting the operation of the archival server according to an embodiment of the present invention;
p-0033<figref idrefs="DRAWINGS">FIG. 7</figref> is a flow chart depicting the operation of the communication controller according to an embodiment of the present invention; and
p-0034<figref idrefs="DRAWINGS">FIG. 8</figref> depicts a set of tags according to an embodiment of the present invention.
DETAILED DESCRIPTION
Overview of System Architecture
p-0035According to a first embodiment of the present invention, first and second enterprise Local Area Networks (LANs) <b>100</b> and <b>104</b> and presence service <b>114</b> are interconnected by one or more Wide Area private and/or public Network(s) (WANs) <b>108</b>. The first and second LANs <b>100</b> and <b>104</b> correspond, respectively to first and second enterprise premises <b>112</b> and <b>116</b>.
p-0036The first enterprise premises <b>112</b> includes first, second, . . . nth communication devices <b>120</b><i>a</i>-<i>n </i>and a gateway <b>124</b> interconnected by the LAN <b>100</b>. The first enterprise premises <b>112</b> may include other components depending on the application, such as a switch and/or server (not shown) to control, route, and configure incoming and outgoing contacts.
p-0037The second enterprise premises <b>116</b> includes a gateway <b>124</b>, an archival server <b>128</b> maintaining and accessing a key database <b>130</b>, a security and access control database <b>132</b>, a tag database <b>134</b>, a meta data database <b>136</b>, an archival database <b>138</b>, and a subscriber database <b>140</b>, a messaging server <b>142</b>, an email server <b>144</b>, an instant messaging server <b>146</b>, first, second, . . . jth communication devices <b>148</b><i>a</i>-<i>j</i>, first, second, . . . mth communication devices <b>150</b><i>a</i>-<i>m</i>, a switch/server <b>152</b>, and other servers <b>154</b>. The two enterprise networks may constitute two different enterprises (engaging in business to business relations for example) or be two sites of the same enterprise.
p-0038The presence service <b>114</b>, which may or may not be operated by the enterprise, includes a presence server <b>118</b> and associated presence information database <b>122</b>. The presence server <b>118</b> and presence information database <b>122</b> collectively track the presence and/or availability of subscribers and provide, to requesting communication devices, current presence information respecting selected enterprise subscribers.
p-0039As used herein, a “subscriber” refers to a person who is serviced by, registered or subscribed with, or otherwise affiliated with an enterprise network, and “presence information” to any information associated with a network node and/or endpoint device, such as a communication device, that is in turn associated with a person or identity. Examples of presence information include registration information, information regarding the accessibility of the endpoint device, the endpoint's telephone number or address, the recency of use of the endpoint device by the person, recency of authentication by the person to a network component, the geographic location of the endpoint device, the type of media, format language, session and communications capabilities of the currently available communications devices, the preferences of the person (e.g., contact mode preferences or profiles such as the communication device to be contacted for specific types of contacts or under specified factual scenarios, contact time preferences, impermissible contact types and/or subjects such as subjects about which the person does not wish to be contacted, and permissible contact type and/or subjects such as subjects about which the person does wish to be contacted. Presence information can be user configurable, i.e., the user can configure the number and type of communications and message devices with which they can be accessed and to define different profiles that define the communications and messaging options presented to incoming contactors in specified factual situations. By identifying predefined facts, the system can retrieve and follow the appropriate profile.
p-0040The WAN(s) can be any distributed network, whether packet-switched or circuit-switched. In one configuration, the WANs <b>108</b> include a circuit-switched network, such as the Public Switch Telephone Network or PSTN, and a packet-switched network, such as the Internet. In another configuration, WAN <b>108</b> includes only one or more packet-switched networks, such as the Internet.
p-0041The gateways <b>124</b> can be any suitable device for controlling ingress to and egress from the corresponding LAN. The gateways are positioned logically between the other components in the corresponding enterprise premises and the WAN <b>108</b> to process communications passing between the appropriate switch/server and the second network. The gateway <b>124</b> typically includes an electronic repeater functionality that intercepts and steers electrical signals from the WAN to the corresponding LAN and vice versa and provides code and protocol conversion. Additionally, the gateway can perform various security functions, such as network address translation, and set up and use secure tunnels to provide virtual private network capabilities. In some protocols, the gateway bridges conferences to other networks, communications protocols, and multimedia formats. Examples of suitable gateways include Avaya Inc.'s, G700™, G650™, G350™, MCC/SCC™ media gateways and Acme Packet's Net-Net 4000 Session Border Controller.
p-0042The first, second, . . . nth communication devices <b>120</b><i>a</i>-<i>n </i>and first, second, . . . jth communication devices <b>148</b><i>a</i>-<i>j </i>are preferably packet-switched stations or communication devices, such as IP hardphones (e.g., Avaya Inc.'s 4600 Series IP Phones™), IP softphones (e.g., Avaya Inc.'s IP Softphone™), Personal Digital Assistants or PDAs, Personal Computers or PCs, laptops, packet-based H.320 video phones and conferencing units, packet-based voice messaging and response units, peer-to-peer based communication devices, and packet-based traditional computer telephony adjuncts. Examples of suitable devices are the 4610™, 4621SW™, and 9620™ IP telephones of Avaya, Inc.
p-0043The first, second, . . . nth communication devices <b>150</b><i>a</i>-<i>m </i>are preferably circuit-switched and/or TDM devices. As will be appreciated, the stations <b>136</b> and <b>140</b> are normally plugged into a Tip ring interface that causes electronic signals from the station to be placed onto a TDM bus (not shown). Each of the stations corresponds to one of a set of internal (Direct-Inward-Dial) extensions on its controlling switch/server. The controlling switch/server can direct incoming contacts to and receive outgoing contacts from these extensions in a conventional manner. The stations <b>136</b> and <b>140</b> can include, for example, wired and wireless telephones, PDAs, H.320 video phones and conferencing units, voice messaging and response units, and traditional computer telephony adjuncts. Examples of suitable devices are the 30010™, 2410™, and 2420™ Digital Telephones of Avaya, Inc. Although not shown, the first enterprise premises <b>112</b> can also include circuit-switched or TDM communication devices, depending on the application.
p-0044The various sets of communication devices are internal to the enterprise. As will be appreciated, the enterprise can further be in communication with external communication devices of subscribers and nonsubscribers. An “external” communication device is not controlled by an enterprise switch/server (e.g., does not have an extension serviced by the switch/server) while an “internal” device is controlled by an enterprise switch/server.
p-0045The communication devices in the first and second enterprise premises <b>112</b> and <b>116</b> can natively support streaming IP media to two or more consumers of the stream. The devices can be locally controlled in the device (e.g., point-to-point) or by the gateway <b>124</b> or remotely controlled by the communication controller <b>162</b> in the switch/server <b>152</b>. When the communication devices are locally controlled, the local communication controller should support receiving instructions from other communication controllers specifying that the media stream should be sent to a specific address for archival. If no other communication controller is involved, the local communication controller should support sending the media stream to an archival address.
p-0046The archival server <b>128</b> maintains and accesses the various associated databases. This functionality and the contents of the various databases are discussed in more detail below.
p-0047The messaging server <b>142</b>, email server <b>144</b>, and instant messaging server <b>146</b> are application servers providing specific services to enterprise subscribers. As will be appreciated, the messaging server <b>142</b> maintains voicemail data structures for each subscriber, permitting the subscriber to receive voice messages from contactors; the email server <b>144</b> provides electronic mail functionality to subscribers; and the instant messaging server <b>146</b> provides instant messaging functionality to subscribers.
p-0048The switch/server <b>152</b> directs communications, such as incoming Voice Over IP or VoIP and telephone calls, in the enterprise network. The terms “switch”, “server”, and “switch and/or server” as used herein should be understood to include a PBX, an ACD, an enterprise switch, an enterprise server, or other type of telecommunications system switch or server, as well as other types of processor-based communication control devices such as media servers, computers, adjuncts, etc. The switch/(media) server can be any architecture for directing contacts to one or more communication devices. Illustratively, the switch/server <b>152</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> can be the subscriber-premises equipment disclosed in U.S. Pat. Nos. 6,192,122; 6,173,053; 6,163,607; 5,982,873; 5,905,793; 5,828,747; and 5,206,903, all of which are incorporated herein by this reference; Avaya Inc.'s Definity™ Private-Branch Exchange (PBX)-based ACD system; MultiVantage™ PBX, CRM Central 2000 Server™, Communication Manager™, S8300™ media server, SIP Enabled Services™, and/or Avaya Interaction Center™. The switch/server <b>152</b> typically is a stored-program-controlled system that conventionally includes interfaces to external communication links, a communications switching fabric, service circuits (e.g., tone generators, announcement circuits, etc.), memory for storing control programs and data, and a processor (i.e., a computer) for executing the stored control programs to control the interfaces and the fabric and to provide automatic contact-distribution functionality. Exemplary control programs include a communication controller <b>162</b> to direct, control, and configure incoming and outgoing contacts, a conference controller <b>164</b> to set up and configure multi-party conference calls, and an aggregation entity <b>166</b> to provide to the archival server <b>128</b> plural media streams from multiple endpoints involved in a common session. The switch/server comprises a network interface card to provide services to the associated internal enterprise communication devices.
p-0049The switch/server <b>152</b> is commonly connected via a plurality of trunks (not shown) (which may be for example Primary Rate Interface, Basic Rate Interface, Internet Protocol, H.323 and SIP trunks) to the WAN <b>108</b> and via link(s) <b>156</b> and <b>158</b>, respectively, to the first, second, . . . . Jth stations <b>148</b><i>a</i>-<i>j </i>and first, second, . . . . Mth stations <b>150</b><i>a</i>-<i>m</i>, respectively.
p-0050Other servers <b>154</b> can include a variety of servers, depending on the application. For example, other servers <b>154</b> can include proxy servers that perform name resolution under the Session Initiation Protocol or SIP or the H.323 protocol, a domain name server that acts as a Domain Naming System or DNS resolver, a TFTP server <b>334</b> that effects file transfers, such as executable images and configuration information, to routers, switches, communication devices, and other components, a fax server, ENUM server for resolving address resolution, and mobility server handling network handover, and multi-network domain handling.
p-0051It should be noted that the invention does not require any particular type of information transport medium or protocol between switch/server and stations and/or between the first and second switches/servers, i.e., the invention may be implemented with any desired type of transport medium as well as combinations of different types of transport media.
p-0052Although the preferred embodiment is discussed with reference to a client-server architecture, it is to be understood that the principles of the present invention apply to other network architectures. For example, the invention applies to peer-to-peer networks, such as those envisioned by the Session Initiation Protocol. In the client-server model or paradigm, network services and the programs used by end users to access the services are described. The client side provides a user with an interface for requesting services from the network, and the server side is responsible for accepting user requests for services and providing the services transparent to the user. By contrast in the peer-to-peer model or paradigm, each networked host runs both the client and server parts of an application program. Moreover, the invention does not require a specific Internet Protocol Telephony (IPT) protocol and could be implemented, for example, using QSIG, H.323, and combinations thereof. Additionally, the invention does not require the presence of packet- or circuit-switched networks.
The User Agent
p-0053Each communication device <b>120</b>, <b>128</b> and <b>150</b> includes a corresponding user agent <b>160</b>. The agent <b>160</b> tracks the activities performed by the subscriber using the corresponding communication device, determines what topics the subscriber is fluent in, and provides the subscriber with desired information. The information can include a list of other subscribers that are fluent in a selected topic and the respective presence information for each of the listed subscribers. The tracked activities can be any selected activity-related, such as a communication with one or more other parties and preparation of a document. For example, the user agent <b>160</b> can inspect email sent, instant messages sent, live voice communications sent, voice messages sent, documents reviewed, created, and/or edited, Web browsing sessions, and any other form of communication where content of the communication can be electronically discerned. The inspection is performed using selected keywords or collections of keywords, each of which is associated with an area or topic of fluency. The keywords may be selected by the user and/or enterprise. The agent <b>160</b> then weighs the identified occurrences of keywords and updates a fluency level of the corresponding subscriber in the topics associated with the identified keywords. The updated fluency level(s) are provided, in real time or near real time, to the archival server <b>128</b> for storage in the subscriber database <b>140</b>, as discussed in detail below. The weights applied to the keyword occurrences can be based on a number of factors, including frequency of occurrence of the keyword, broadness of the inspected body of information (e.g., how many different people the person has corresponded with regarding the keyword or set of keywords), recentness of the occurrences (e.g., of the communication in which they occur), whether the keyword was originated by the subscriber or another, the context of the activity-related information (e.g., a communication with a customer vs. another employee), type of communication medium used (e.g., whether a communication is voice or text), the level of order relationship (e.g., use first, second, . . . nth order relationships to describe the degree of relevance of keywords), the type of activity generating the information (e.g., whether the activity is a communication or word processing session), requester preferences (e.g., persons with whom the requester is willing or unwilling to communicate, etc.), and located person's preferences (e.g., type of calls person is willing to take, level of urgency required for the person to take the call, contactors with whom the person is willing or unwilling to communicate, etc.). This list is not exhaustive of the type of information that may be used to determine the user's fluency in a topic.
p-0054The utility of the user agent <b>160</b> is illustrated by <figref idrefs="DRAWINGS">FIG. 5</figref>, which illustrates a display provided by the agent to the corresponding subscriber in response to a subscriber query for a list of employees fluent in one or more selected topics. The display <b>500</b> includes a number of fields. The fluency rank fields <b>504</b><i>a</i>-<i>d </i>rank each of the identified persons based upon his or her fluency ranking relative to the others (or alternatively fluency level or score) in the selected topic(s), name fields <b>508</b><i>a</i>-<i>d </i>provide an identifier (e.g., name as shown in <figref idrefs="DRAWINGS">FIG. 5</figref>), current status fields <b>510</b><i>a</i>-<i>d </i>provide the current presence and availability (e.g., most current presence information) for the corresponding person (“available” meaning that the person is currently available and “unavailable” that the person is current unavailable or uncontactable), contact icons <b>512</b><i>a</i>-<i>d </i>permit the subscriber, by clicking on the icon to contact the corresponding person (the “contact me” icon initiates a present contact while the “contact me later” icon initiates a contact at a later, scheduled time), conference me fields <b>516</b><i>a</i>-<i>d </i>indicate whether the subscriber would like to set up a conference call with a number of the persons selected by the subscriber (by checking the box), contact order fields <b>520</b><i>a</i>-<i>d </i>indicate an order in which the persons are to be contacted, a subject field <b>524</b> indicate the subject of the contact (e.g., shown as being related to “ACME sale”, and which normally is derived from the search query behind the fluency listing), and importance field <b>528</b> indicating an importance or urgency of the contact. All the persons returned by the query can be selected by clicking on the select all button above the column of the field in question.
p-0055The subscriber may contact the selected persons one-at-a-time by clicking on the corresponding contact me icon <b>512</b>, sequentially by clicking on the contact sequentially icon <b>532</b>, or concurrently by clicking on the contact concurrently icon <b>536</b>.
p-0056Regarding the first option, when the subscriber clicks on one of the icons <b>512</b><i>a </i>and <i>c</i>-<i>d </i>(which correspond respectively to John Smith, John Doe, and Mary Smith) a drop down menu appears giving the subscriber the option of contacting the person now or at a scheduled time later. If later, the subscriber enters into the drop down menu the desired time for the contact and the user agent <b>160</b> contacts the presence information database <b>122</b> to determine whether the time is acceptable. If so, the user agent <b>160</b> generates automatically a corresponding entry on the subscriber's and selected person's electronic calendars. If not, the user agent <b>160</b> provides the subscriber with acceptable contact times and asks the subscriber to select a different, conforming time. After an acceptable time is selected, the user agent <b>160</b> generates appropriate entries in the subscriber's and selected person's electronic calendars. When a contact me later icon <b>512</b><i>b </i>(which corresponds to John Hancock) appears and is selected by the subscriber, a drop down menu appears asking the subscriber to list a time for the contact. From that point, the further steps are the same as those discussed above.
p-0057Regarding the second option, the subscriber can sequentially attempt to contact plural members of the list by filling an order value in each of the contact order fields <b>520</b><i>a</i>-<i>d </i>for the members to be contacted. Failing to enter a value means that that person is not to be contacted. Thus, if the subscriber enters a value of “1” in field <b>520</b><i>a, “</i>2” in field <b>520</b><i>d</i>, and “4” in field <b>520</b><i>c </i>and then clicks on the contact sequentially icon <b>532</b>, the agent <b>160</b> initiates contacts to John Smith first, Mary Smith second, and John Doe third. The contacts can be configured so that the first person to answer stops the contact sequence. Thus, if John Smith fails to answer but Mary Smith does, John Doe would not be contacted. Alternatively, the contacts can be configured so that the first person is contacted, and, if unsuccessful or, if successful, after the contact terminates, the second person is contacted, and so on.
p-0058Regarding the third and final option, the subscriber can concurrently attempt to contact plural members of the list by clicking on the fields <b>516</b><i>a</i>-<i>d </i>of the selected ones of the members of the list to be conferenced in and clicking on the icon <b>536</b>. The agent <b>160</b> will then initiate a conference call by attempting to contact each of the selected persons. The conference call may be completed only with those selected members that answer or be terminated if less than the selected members answer.
p-0059The importance field <b>528</b> when selected has a drop down menu that lists various categories of urgency. For example, the drop down menu can include, in increasing order of urgency/importance, the options of “routine”, “informational”, “important”, “critical”, and “emergency”.
p-0060This field <b>528</b> can be used to filter contacts to the listed persons. The presence information can include subscriber permissions to receive incoming contacts from selected persons at selected times and not to receive incoming contacts from others. These permissions can further be conditioned upon the level of urgency of the incoming contact. For example, a subscriber can predetermine that an incoming contact from a first party is refused if it is routine or informational but accepted if it is important or critical. Additionally, the level of urgency can be used to broaden the number of different types of communication devices/modalities by which the subscriber may be contacted. For example, the subscriber can predetermine that during the hours of X and Y incoming contacts from the first party must be directed to a particular communication device (e.g., desk phone and not mobile phone) or by a particular communication modality (e.g., voice call and not instant messaging). When the incoming contact from the first party is important or critical, the subscriber can predetermine that an incoming voice contact from the first party is accepted on the mobile phone and that the contact may also be done by instant messaging.
p-0061Although not shown in <figref idrefs="DRAWINGS">FIG. 5</figref>, the subscriber may further select the mode of the contact. For example, a further set of contact modality fields may be included in the display <b>500</b>. When the subscriber selects a particular field corresponding to a particular listed person, a drop down menu appears listing various modes of communication (e.g., email, instant messaging, live voice circuit-switched, live voice packet-switched (or VoIP), etc.). The subscriber may then select one of the options, which populates the field. This may be done for each person to be used for sequential contacts. In other words, the subscriber may choose to contact each person by the same or different communication modalities.
p-0062When a listed person receives an incoming from another subscriber, the user agent <b>160</b> of the person's communication device provides, to the person, visually and/or audibly, an identity of the contactor subscriber, the reason that the person is being contacted (e.g., the subject field <b>524</b> contents), and the priority of the contact (e.g., the content of the importance field <b>528</b>). The user agent for the recipient may take programmatic steps based on the priority, topic, or identity of the contactor subscriber. The programmatic steps include, for example, redirecting automatically the contact to the messaging server <b>142</b> or to one or more selected communication devices (including and/or different from the contacted communication device), using a special ring pattern or tone to announce the incoming call, superseding user preferences in the presence information received from the presence server <b>118</b>, creating a pop-up window indicating the requested session from the originator and types of responses to be returned, and automatically answering the call based on priority and/or user preferences.
p-0063The user can create such user preferences simply by refusing to take a call by clicking on a “deny call” icon. The user agent <b>160</b> will automatically create a user preference that this type of call having this level of priority or lower and/or from this person will not be accepted in the future. Alternatively, this information could be used as a negative weighting factor.
p-0064The user agent <b>160</b> can be implemented in a variety of ways. Ways include as a thick-client software application, thin-client browser-based application, or other Web service-oriented application including voice-portal driven applications. It could be an embedded ability in an IP Hardphone or a pushed application to such a communication device such as a servlet or applet. It is envisioned that each of the subscriber-accessible application access methods will interact with Web server-based application(s) of the archival server components. The Web server-based applications are assumed to be accessible via standard HTTP protocols from any number of remote applications, with Common Gateway Interface (CGI) scripts necessary to read/write meta-data and archive files into the various repositories (or databases).
The Archival Server
p-0065The archival server <b>128</b> includes a number of computational components. These components include the topical user agent <b>168</b>, key generation, storage, and retrieval agent <b>170</b>, user authentication agent <b>172</b>, archival tagging module <b>174</b>, media archival module <b>172</b>, and archival retrieval module <b>178</b>.
p-0066The topical user agent <b>168</b> administers and accesses fluency levels and other data structures in the subscriber database <b>140</b>. The subscriber database <b>140</b> includes, for each subscriber, a set of data structures that may include one or more of user name, user title, user home address, user communication device identifiers, user personal financial information, subscriber selected keywords, and subscriber fluency level(s) and associated topical areas. Each subscriber can have a number of fluency levels for a number of different topics; stated another way, each subscriber has a separate fluency level for each topic. The topical user agent <b>168</b> interacts with the user agents <b>160</b> in each communication device to receive updated fluency levels for each subscriber and update the subscriber's corresponding data structures accordingly and retrieve lists of persons and their presence information in response to queries received from user agents for selected topics.
p-0067The key generation, storage, and retrieval agent <b>170</b> generates keys for storing selected information in encrypted form. The keys are normally pointers to the stored content and are stored in the key database <b>130</b> and are organized to form indices to the stored archives. The keys are preferably unique. Although the keys are shown as being generated by the archival server <b>128</b>, they could also be generated by the communication controller <b>162</b>.
p-0068The user authentication agent <b>172</b>, using subscriber profiles in the security and access control database <b>132</b>, authenticates subscribers and, if successfully authenticated, determines what stored information (e.g., tags, meta-data, and archives) the subscriber is authorized to have access to. Authorization can be done by any suitable technique, including username, personal identification number, digital certificate, symmetric keys, asymmetric keys, and the like.
p-0069The media archival module <b>176</b> stores activity-related or archival information or data in the archival database <b>138</b>. Such information or data includes all or selected portions of communications, and all or selected portions of documents. In one implementation, voice streams (and video streams) are stored, archived, tagged, and available for future retrieval. The module <b>176</b> receives media streams (preferably in encrypted form or ciphertext) and, using mass storage technology commonly employed in media such as DVRs, store the media stream. The media stream is preferably only indexed in the archival database <b>138</b> using the keys in the key database <b>130</b>. The media is stored in encrypted form and has no information about context.
p-0070The archives can be stored in the archival database <b>138</b> in any number of formats, including MPEG/MP3, Microsoft Corporation's Windows™ media file, Apple's format for the IPOD™, audio and/or video file formats, and any other means for compressing media for digital storage or communication. The archival database <b>138</b> can alternatively be a flat file/directory structure with an index scheme (e.g., an index file or directory structure based on subscriber identifier (e.g., electronic address), timestamp, or unique identifier specified at the time of recording by the subscriber or another entity).
p-0071The archival tagging module <b>174</b> receives data tags and the unique archival key and creates search and relevance tags for the archived information. As used herein, tags are a type of meta-data that is descriptive of the archived information. As will be appreciated, “meta-data” is data that describes data objects. Tags typically are a code or set of characters inserted into a file or data structure indicating how the corresponding stored information is to be interpreted. The tags are normally in the form of eXtensible MarkUp Language (XML) or some other markup language. The tagging module <b>174</b> allows for configuration of user permissions to the databases or to specific subsets of archives and associated meta-data, allows users to retrieve and view specific meta-data elements that are non-modifiable, such as timestamp, recording length, etc.; allows users to enter a specific set of comma-delimited tags that become part of the meta-data associated with a particular archive index entry, allows users to retrieve, view and update specific data elements that are modifiable (e.g., the tags previously entered), and maintains an index of tags, also referred to as a tag cloud (discussed below), that represents the unique subset of all tags specified by a user or group of users against any number of archive files.
p-0072Data tags include meta-data descriptive of an activity, such as related to party (e.g., identities (name and/or electronic address) of parties to the communication, etc.), time (e.g., a timestamp (e.g., time and/or date) associated with a communication, a duration of the communication, etc.), form of recording of the activity (e.g., format of the recording, identifier associated with the recording (e.g., a unique identifier provided by the subscriber), etc.), and activity context (e.g., a reason for the communication, topics discussed (e.g., the keywords identified by the user agent <b>160</b>), activities of each party prior and/or subsequent to and/or during the conversation (e.g., as determined by the user agent <b>160</b> by monitoring the computational operations of its corresponding communication device), and threading (whether the recorded activity was related to a previous activity)). The data tags may be obtained from other computational components, from the text of the communication, and/or from the subscriber(s). When received from the subscriber, the tags are a type of meta-tag.
p-0073Search and relevance tags are generated from the meta-data. The archival tagging module <b>174</b> normally includes an engine that refines and filters the data tags to produce the search and relevance tags. Factors used in search and relevance tag generation include a selected set of enterprise tags (e.g., tags selected by enterprise management), type of communication, context of communication, timestamp of communication, the level of order relationship (e.g., use first, second, . . . nth order relationships to describe the degree of relevance of tags), frequency of topic, breadth of communication on the topic, and recency of topical communication. Enterprise tags are tags mandated by enterprise management to provide coherence to the search engine. For example, data tags are mapped to the enterprise tags to avoid multiple tags referring to the same topic. This enhances topical search accuracy as the search terms for a given topic are standard. The system will automatically build more enterprise tags for itself as users enter topics in their queries for information not already embodied by an enterprise tag. In this case, the system will create a new enterprise tag based on the topic of the query, build n-th order relationships between the topics if multiple topics were entered, and create quickly scannable indexes for the topic(s) for future update and scanning. In one configuration, the user agent <b>160</b> provides, from a topical search window, to the subscriber a list of search and relevance tags from which the subscriber may select one or more search terms to be used. Search and relevance tags are stored in the tag database <b>134</b> while other meta-data, such as data tags, are stored in a meta-data database <b>136</b>.
p-0074Tags can be any keyword or set of keywords, and data tags can be captured as written text or as spoken words translated to written text using an analog-to-digital converter and Speech-To-Text (STT) conversion. Additionally, some data tags (e.g., such as timestamp and participant identifiers) may be automatically captured as tags. As noted, the subscriber can be presented with a list of pre-existing or pre-determined (e.g., enterprise) tags and may select one or more from the existing list. The list of pre-existing or predetermined tags is a type of “tag cloud” of the type shown in <figref idrefs="DRAWINGS">FIG. 8</figref>. In <figref idrefs="DRAWINGS">FIG. 8</figref>, the subscriber has highlighted a number of tags, including “Tag”, “Clouds”, “I”, “Don't”, “Get”, “President Bush”, and “It”, in connection with a communication that has been archived. For subscriber selected or inputted data tags, the subscriber needs to have access to either a device capable of capturing voice (e.g., a microphone), a keyboard, or a mouse or other pointing device, linked to an interface capable of capturing his or her data tag selection(s). The interface, for example, can be a speech recording/recognition engine, a Web browser, and other software application. The data tags are then transported to the archival server substantially simultaneous with the media.
p-0075In one configuration, the subscriber would access an HTML web-page provided by the archival tagging module <b>174</b> via the HyperText Transfer Protocol (HTTP) to the subscriber via a locally executed HTML browser. The displayed page would provide capabilities to display meta-data and enable the user to enter values for the meta-data elements as noted above.
p-0076Alternatively, the application that is responsible for interacting with the subscriber during the conversation itself (e.g., to start/control/stop recording and digitizing) could prompt the subscriber via the subscriber's communication link to speak a set of data tags and run the spoken data tags through a speech recognition engine, passing the resulting translated data tags to the meta-data database <b>136</b> along with other meta-data values. This would require incorporating the prompt-upon-call-recording-termination activities into the call recording application and integrating a speech-to-text function into one of two places. Either the call recording application parses and translates the data tags, passing them as additional items of meta-data to the archival tagging module <b>174</b> or passes a digitized set of spoken data tags to the tagging module <b>174</b> and allows the tagging module <b>174</b> to process that stream of audio into keywords and translate them to text, storing them as part of the associated meta-data.
p-0077The archival retrieval module <b>178</b> receives search queries from subscribers for stored information, which may be archives, meta-data, search and relevance tags, or fluent persons in a selected topic, performs the search in the corresponding database, and returns the located information to the requesting communication device for presentation to the subscriber. In other words, the module <b>178</b> presents users with a list of meta-data fields upon which the index can be searched, presents users with the tag cloud (e.g., the collection of all possible unique tags for which that user has permissions), allows the user to specify meta-data values or select one or more tags from the user's tag cloud and retrieve from the index a list of all archives whose meta-data or tag elements match those specified by the user, allows the user to identify one or more specific archives that he or she wishes to retrieve from a repository, and retrieves the specified archives for transmission/playback to the user. For example, the module <b>178</b> can receive a search query and, in response, generate, based on the relevance of the tags associated with archived media, a list of potential archived media satisfying the query in question. The retrieved archived media could be played back as a telephony call or displayed as a file sent to the subscriber, based on preferences and permissions which are enforced on the archival retrieval module <b>178</b>. The search mechanism can be Web-based, voice-based, text-based, or by some other means.
p-0078In a simple configuration, it is assumed that there will be one party in the conversation that will control the start-stop of the recording. Depending upon the implementation, it is possible that the archival tagging module <b>174</b> and the archiving retrieval module <b>178</b> will have user-based permissions and individualized (user-based) indices into archives that will allow one or more parties to tag a specific archive according to unique and individualized data tags. In other words, the archived media will have two different sets of data tags corresponding to the different subscribers. Either subscriber may later retrieve that archive based on the data tags specified in the meta-data fields, either based on individualized or shared (enterprise) tags.
p-0079As will be appreciated, there may be multiple media archival servers in the enterprise to handle media processing and storage. The archival database <b>138</b> preferably has terabytes of storage capacity. The various databases <b>130</b>, <b>132</b>, <b>134</b>, <b>136</b>, <b>138</b>, and <b>140</b> may have their data configured according to a relational database architecture, an object oriented database architecture, or configured for access by another type of database architecture. Additionally, the data repository or storage may be simply a collection of one or more data files, wherein the data therein may be ordered or unordered.
Operational Description of the Architecture
p-0080The operation of the architecture will now be described. The first operation to be described will be the process of archiving media.
p-0081<figref idrefs="DRAWINGS">FIG. 7</figref> depicts the process for setting up a real time communication session, such as a voice call, between two entities. As will be discussed below, when a session is made from a subscriber in the enterprise the communication controller <b>162</b> instructs the parties to the session to send their respective media streams not only to the other party but also to the archival server <b>128</b>.
p-0082In step <b>700</b>, the communication controller <b>162</b> receives a contact setup request from a communication device <b>120</b>, <b>148</b>, or <b>150</b> of a subscriber.
p-0083In step <b>704</b>, the controller <b>162</b> signals an internal or external contactee (or called) communication device to setup the contact.
p-0084In step <b>708</b>, the communication channels between the contactor and contactee communication devices are set up. As will be appreciated, the channels, from the perspective of each communication device, include an outgoing media stream channel and an incoming media stream channel.
p-0085In step <b>712</b>, the controller <b>162</b> instructs the contactor communication device to send its outgoing media stream both to the contactee communication device and to the archival server <b>128</b>.
p-0086In step <b>716</b>, the controller <b>162</b> instructs the contactee communication device to send its outgoing media stream both to the contactor communication device and to the archival server <b>128</b>.
p-0087While the contact is in progress, each of the communication devices forwards its outgoing media streams to the archival server <b>128</b> for archiving.
p-0088In optional step <b>720</b>, when the contact is completed the user agent <b>160</b> of each communication device involved in the contact prompts the contactor and contactee, as appropriate, to provide meta-data respecting the contact. The prompt may be, for example, by voice, Web pop up, or display on the communication device (such as by the user agent <b>160</b>). An intelligent agent, such as the user agent <b>160</b>, can act on behalf of the contactor or contactee using prior answers to similar contacts to create pertinent meta-data. The meta-data can include the context and/or subject matter of the contact. As noted above, the meta-data can be collected without user input from various system components and by parsing the keyword searching the digitized text of the media stream(s).
p-0089In step <b>724</b>, the metadata is provided to the archival server <b>128</b> for tagging and archiving of the media streams.
p-0090In decision diamond <b>728</b>, the controller determines whether a further contact setup request has been received. If so, the controller returns to and repeats the process beginning with step <b>704</b>. If not, the controller waits for receipt of a further contact setup request.
p-0091The archiving and tagging process will now be described with reference to <figref idrefs="DRAWINGS">FIG. 3</figref>.
p-0092In step <b>300</b>, the media stream(s) or other activity information to be archived is received by the archival server <b>128</b>.
p-0093In step <b>304</b>, the meta-data is received from the user agent <b>160</b> of the communication device of a party associated with the activity information.
p-0094In step <b>312</b>, the information is encrypted and indexed with one or more keys.
p-0095In step <b>316</b>, the server <b>128</b> creates, from parsed activity information and other meta-data and keys, search and relevance tags for the content. This step normally requires parsing of the activity information and identifying in the parsed information of keywords or sets of keywords. The keywords are generally related to or derived from data tags, search and relevance tags, keys, and other meta-data. As noted, the keywords may be enterprise or user selected or generated automatically by artificial intelligence, such as a neural network.
p-0096In one configuration, the subscriber, after successful authentication by the user authentication agent <b>172</b>, receives from the archival tagging module <b>174</b> appropriate indices, tags, and other meta-data and updates the received meta-data for use by the archival tagging module <b>174</b> in analyzing and describing the activity information.
p-0097In step <b>320</b>, the search and relevance tags are further refined for future searches of the archived information. This is done based on user input, rules defining the search mechanism to be employed (which may vary based on the type of archived information), policy set by the system administrator, and by previous queries for requests on topics.
p-0098In step <b>324</b>, the keys are stored in the key database <b>130</b>, the archival data or activity information in the archival database <b>138</b>, the meta-data in the meta-data database <b>136</b>, and the search and relevance tags in the tag database <b>134</b> along with suitable pointers or links to other related stored content. In storing the various types of data, tags and keys are normally disconnected from the archival data for security reasons. Stated another way, there are no links in the archived data back to the meta-data and keys. There are, however, links or pointers from the meta-data and keys to the corresponding archived data. Additionally, the archival data is preferably stored in a database/server pair different from the database/server pair used to store the corresponding meta-data.
p-0099<figref idrefs="DRAWINGS">FIG. 2</figref> describes the operation of the user agent <b>160</b> in collecting and analyzing topical information for determination of fluency.
p-0100In step <b>200</b>, the user agent <b>160</b> detects a stimulus that triggers the analysis of fluency. The stimulus may be powering up the communication device, key or button activation, receipt of a voice command, initiation of a voice call, the sending of a text response to an instant message or email, opening of an application (e.g., a word processing application or spreadsheet application), creation or modification of a document, creation of an email, initiation of an Instant Messaging session, and establishment of a media stream (voice, video, text, web, etc.).
p-0101In step <b>204</b>, the user agent <b>160</b>, in response, collects topical information. What information is topical information depends on the application and/or type of stimulus detected. Topical information may include activity information and meta-data associated therewith. It may only be the meta-data itself.
p-0102In step <b>208</b>, the user agent <b>160</b> analyzes the topical information to determine a set of fluency topics. This is typically done by identifying instances of keywords or sets of keywords in the topical information. The keywords or sets of keywords normally map to a corresponding set of fluency topics that are selected by the enterprise or learned by the system based on previous topical queries.
p-0103In step <b>212</b>, the user agent <b>160</b> assigns weights to each of the identified keywords or sets of keywords identified in the topical information. It then maps the keywords or sets of keywords to a corresponding fluency topic. The value or level of fluency in the associated topic is then adjusted by the weighted values assigned to the identified keywords or sets of keywords corresponding to the topic. In one variation, the various keywords or sets of keywords identified over time that contribute to the fluency level are re-weighted in light of age and the entire fluency level recalculated in light of the ages of the various identified keywords or sets of keywords.
p-0104In step <b>216</b>, the user agent <b>160</b> transmits the weighted fluency topics to the archival server <b>128</b>.
p-0105In one variation, the user agent <b>160</b> simply collects the topical information and forwards the information to the archival server <b>128</b>. The topical user agent <b>168</b> identifies the keywords or sets of keywords in the collected topical information and determines fluency levels.
p-0106The retrieval of fluency lists, archived information, and meta-data will now be described.
p-0107<figref idrefs="DRAWINGS">FIG. 4</figref> depicts the process used to receive a fluency listing.
p-0108In step <b>400</b>, the user agent <b>160</b> receives a query for a fluency determination. The query normally includes one or more topics and asks for persons fluent in the selected topic(s).
p-0109In step <b>404</b>, the user agent <b>160</b> generates a fluency request and sends the request to the archival server <b>128</b>.
p-0110In response, the topical user agent <b>168</b> accesses the subscriber database <b>140</b> and retrieves the list of subscribers having at least a threshold level of fluency in the topic. In one variation, the topical user agent <b>168</b> requests the archival retrieval module to search another database, such as the meta-data database <b>136</b>, tag database <b>134</b>, and/or archival database <b>138</b> for occurrences of the topics.
p-0111There will often be situations where the topic has no relationship to frequently used fluency topics. For example, the topic could relate to an event that occurred within the last few hours. In such situations, the topical user agent <b>168</b> may get a negative response from the subscriber database <b>140</b> as the fluency level in the listed topic has not yet been computed for any subscriber. In that event, the agent <b>168</b> will further query other relevant sources for possible hits. When the results are returned, the agent <b>168</b> may need to determine a fluency level for the topic as that level may not have been determined previously by any user agent <b>160</b>. The determined fluency level is sent to the subscriber database <b>140</b> to be stored under the appropriate person's profile and returned to the requesting user agent <b>160</b> for presentation to the subscriber. For this reason it is advantageous for the user agent <b>160</b> or the topical user agent <b>168</b> to temporarily create topical entries (for later tagging) for topics heretofore not already encountered. These temporary topical entries make possible the ability to get information on topics that became relevant only very recently (before any enterprise tags could be created). Should a query on the topic be made, or the administrator of the system so indicate, that topic could then be associated for enterprise tags with initial entries already created via the temporary topical entries.
p-0112In step <b>412</b>, the user agent <b>160</b> receives the results and optionally filters the results based on subscriber preferences. For example, the subscriber may expressly request that certain individuals always be removed from the list or that only persons having a higher threshold fluency level be presented.
p-0113User Agent <b>160</b>, will use the information returned from the query to request presence information on the individuals returned from presence server <b>122</b>. In an alternative (and preferred) embodiment, topical user agent <b>168</b> will collect the presence information from presence server <b>122</b>, and include it in the results returned to user agent <b>160</b>.
p-0114In step <b>416</b>, the results are presented to the subscriber using a graphical display similar to <figref idrefs="DRAWINGS">FIG. 5</figref> or using an audible interface with speech recognition that supplies the information of <figref idrefs="DRAWINGS">FIG. 5</figref>.
p-0115In decision diamond <b>420</b>, the user agent <b>160</b> determines whether a contact is to be initiated to one or more of the listed fluent resources. If so, the contact is initiated in step <b>424</b>. If not or after step <b>424</b>, the user agent <b>160</b> returns to step <b>400</b> and awaits the next user query. It is important to note that when the individuals are contacted for the requested query, they will be presented with the reason for the request (topic), the person initiating the session (name, number, ID, etc.), the indicated priority of the request, and whether the session is part of a multiparty conference request. Optionally, when a communication session is accepted, additional information about the session could be delivered by the originator of the request within the session (such as a file to be shared or discussed) or applet or servlet for providing programmatic access to an application, or other supplementary data or operation for shared use. It is also important to note that the recipient could have previous indicated programmatic rules for disposition of such requested sessions based on any of the information presented to the user when such a session is requested (such as originator, priority, topic). In the absence of pre-indicted programmatic disposition of such requests, the recipient may be prompted about disposition before accepting or denying the session including the ability to set configuration for disposition of future requests.
p-0116Finally, the process for accessing stored content is described with reference to <figref idrefs="DRAWINGS">FIG. 6</figref>.
p-0117Prior to discussing the process, it is important to understand the search mechanism. The archival search system can use any system for electronically searching large volumes of content. For example, the search system can use any of the techniques used by Web searching engines, such as Google™, Yahoo™, Overture™, Inktomi™, LookSmart™, FindWhat™, AskJeeves.com™, AltaVista™, and the like. As will be appreciated, the search system can use spiders and web crawling techniques to build lists of words found in the archival database.
p-0118To make for more useful results, the archival retrieval module or search engine preferably stores more than just the tag and pointer to the corresponding content. The retrieval module <b>178</b> can store the number of times that the tag appears in the corresponding content. In these techniques, not only the tags used but also where the tags are found and the timestamp of the content associated with the tags can be considered. The engine can assign a weight to each entry, with increasing values assigned to tags as they appear near the top of the document, in sub-headings, in links, in the meta tags, or in the title of the document and as they appear in more recent content as opposed to older content. Unlike conventional Internet search engines, the retrieval module <b>178</b> weighs more recent content more heavily than less recent content or uses a time-based or temporal weighting system. Regardless of the precise combination of additional pieces of information stored by the search engine, the stored search content is preferably encoded to save storage space.
p-0119After the information is compacted, it is ready for indexing. An index has a single purpose: It allows information to be found as quickly as possible. There are quite a few ways for an index to be built, but one of the most effective ways is to build a hash table. In hashing, a formula is applied to attach a numerical value to each word. The formula is designed to evenly distribute the entries across a predetermined number of divisions. This numerical distribution is different from the distribution of words across the alphabet, and that is the key to a hash table's effectiveness. The hash table contains the hashed number along with a pointer to the actual data, which can be sorted in whichever way allows it to be stored most efficiently. The combination of efficient indexing and effective storage makes it possible to get results quickly, even when the user creates a complicated search. Searching through an index involves a user building a query and submitting it through the search engine. The query can be quite simple, a single word at minimum. Building a more complex query is possible with the use of Boolean operators that allow one to refine and extend the terms of the search. Exemplary Boolean operators include “and”, “or”, “followed by”, “not”, “near”, and quotation marks. In the absence of an operator, the search engine assumes that the list of words embodies related topics (inferring a relationship order) with the first and last words having the greatest initial weight.
p-0120When the content is presented to the requester, it is weighted based on upon the weighting values assigned or otherwise associated with each located item. Generally, more recently timestamped items will be presented before less recently timestamped items and content having more occurrences of the requested query weighing more heavily than less occurrences. It should be noted that when the query is based on finding an individual fluent in a topic, that the occurrences relates to the number of occurrences an individual has communicated about the topic in one dimension, the number of people that the individual has communicated on the topic with in another dimension, the recency of communication of the topic in yet another dimension, whether the individual has written a document on the subject (or containing the subject) in another dimension, and the weight of n-th order topics related to the original topic(s) associated with the individual in question. A metric providing a result to be returned on the individual is determined using a weight derived from all the dimensions described. This metric could be determined by the enterprise, or customized by the user making a query.
p-0121With this in mind, the archival retrieval module <b>178</b> receives a secure search query in step <b>600</b>. Depending on the requested content, the requester may need to be authenticated. The content can be not only archived data but also tags and other meta-data.
p-0122When authentication is required, the user authentication agent <b>172</b>, in step <b>604</b>, authenticates the requestor using techniques known to those of ordinary skill in the art.
p-0123In decision diamond <b>608</b>, the retrieval module <b>178</b> determines whether the requestor has been successfully authenticated and/or, even if successfully authenticated, is authorized to receive the requested content. When the requester is not successfully authenticated or when he or she is not authorized to receive the requested content, the retrieval module <b>178</b>, in step <b>616</b>, denies the search query. When the requestor is successfully authenticated and when he or she is authorized to receive the requested content, the retrieval module <b>178</b>, in step <b>612</b>, the retrieval module <b>178</b> performs the search, retrieves the key(s), if any, for the located content, and the located content itself.
p-0124Identifiers of the located content are provided to the requestor. He or she can select which of the content is to be provided.
p-0125In step <b>620</b>, the located content and user-requested is decrypted from ciphertext to plaintext.
p-0126In step <b>624</b>, the decrypted content is provided to the requestor in a secure or unsecure session.
p-0127In one configuration, the requestor first accesses the tags, e.g., his or her tag cloud, and selects Boolean search terms based on the tags and other meta-data values. The requestor then searches for the actual archived content. The content is made available and/or provided to the requestor using a variety of methods, including streaming media presented to the user via a browser-based interface (e.g., embedded Windows media files in Web pages), made available for downloading in native formats (e.g., Podcasting or downloading of files to MP3 players), and made accessible via other media-capable platforms (e.g., in a manner similar to retrieval of voice mails and playback to users via phones).
p-0128A number of variations and modifications of the invention can be used. It would be possible to provide for some features of the invention without providing others.
p-0129For example in one alternative embodiment, the determination of fluency levels is performed by the archival server <b>128</b> rather than the user agent <b>160</b>. In this configuration, the search and relevance tags, rather than data tags, are used to identify, for given tracked activities, occurrences of topic keywords (which are synonymous with the tags) and the topic keywords weighted by the server <b>128</b> for updating of the fluency level of the subscriber for the corresponding topic.
p-0130In another alternative embodiment, the communication controller, rather than instructing each of the communication devices to a communication session to send their respective outgoing media streams to the archival server <b>128</b>, replicates the media streams and sends them to the server <b>128</b>.
p-0131In yet another embodiment, an aggregation entity, such as aggregation entity <b>166</b>, aggregates the media streams and sends them to the server <b>128</b>. This is done instead of the communication controller instructing each of the communication devices to a communication session to send their respective outgoing media streams to the archival server <b>128</b>.
p-0132In yet another embodiment, the fluency level is synonymous with skill level in a contact center. Stated another way, the present invention can provide a methodology to provide real time updating of agent skill levels based upon the agent's daily activities and customer interactions.
p-0133In yet another embodiment, dedicated hardware implementations including, but not limited to, Application Specific Integrated Circuits or ASICs, programmable logic arrays, and other hardware devices can likewise be constructed to implement the methods described herein. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
p-0134It should also be stated that the software implementations of the present invention are optionally stored on a tangible storage medium, such as a magnetic medium like a disk or tape, a magneto-optical or optical medium like a disk, or a solid state medium like a memory card or other package that houses one or more read-only (non-volatile) memories. A digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the invention is considered to include a tangible storage medium or distribution medium and prior art-recognized equivalents and successor media, in which the software implementations of the present invention are stored.
p-0135Although the present invention describes components and functions implemented in the embodiments with reference to particular standards and protocols, the invention is not limited to such standards and protocols. Other similar standards and protocols not mentioned herein are in existence and are considered to be included in the present invention. Moreover, the standards and protocols mentioned herein and other similar standards and protocols not mentioned herein are periodically superseded by faster or more effective equivalents having essentially the same functions. Such replacement standards and protocols having the same functions are considered equivalents included in the present invention.
p-0136The present invention, in various embodiments, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and\or reducing cost of implementation.
p-0137The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the invention are grouped together in one or more embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the invention.
p-0138Moreover, though the description of the invention has included description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the invention, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.
Contents6
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2015186381A1 | Cited by | United States of America | Search report |
| US11172163B1 | Cited by | United States of America | Search report |
| US2015249669A1 | Cited by | United States of America | Pre-grant |
| US2015186381A1 | Cited by | United States of America | Pre-grant |
| US2023418866A1 | Cited by | United States of America | Search report |
| US12488045B2 | Cited by | United States of America | Search report |
| US2022247972A1 | Cited by | United States of America | Search report |
| US9602513B2 | Cited by | United States of America | Search report |
| US11790000B2 | Cited by | United States of America | Search report |
| US10209859B2 | Cited by | United States of America | Applicant |
| US2002019829A1 | Cites | United States of America | Applicant |
| US2002021307A1 | Cites | United States of America | Applicant |
| US2002035605A1 | Cites | United States of America | Applicant |
| US2002052225A1 | Cites | United States of America | Applicant |
| US2002055350A1 | Cites | United States of America | Applicant |
| US2002055912A1 | Cites | United States of America | Applicant |
| US2002055975A1 | Cites | United States of America | Applicant |
| US2002065894A1 | Cites | United States of America | Applicant |
| US2002076010A1 | Cites | United States of America | Applicant |
| US2002083127A1 | Cites | United States of America | Applicant |
| US2002085701A1 | Cites | United States of America | Applicant |
| US2002087630A1 | Cites | United States of America | Applicant |
| US2002098831A1 | Cites | United States of America | Applicant |
| US2002116336A1 | Cites | United States of America | Applicant |
| US2002116461A1 | Cites | United States of America | Applicant |
| US2002120687A1 | Cites | United States of America | Applicant |
| US2002126701A1 | Cites | United States of America | Applicant |
| US2003014491A1 | Cites | United States of America | Applicant |
| US2003018720A1 | Cites | United States of America | Applicant |
| US2003028525A1 | Cites | United States of America | Search report |
| US2003028621A1 | Cites | United States of America | Applicant |
| US2003073440A1 | Cites | United States of America | Applicant |
| US2003154293A1 | Cites | United States of America | Search report |
| US2004041836A1 | Cites | United States of America | Applicant |
| US2004093290A1 | Cites | United States of America | Applicant |
| US2004120498A1 | Cites | United States of America | Applicant |
| US2004141594A1 | Cites | United States of America | Applicant |
| US2004148275A1 | Cites | United States of America | Applicant |
| US2004249650A1 | Cites | United States of America | Search report |
| US2005047394A1 | Cites | United States of America | Search report |
| US2005108775A1 | Cites | United States of America | Search report |
| US2005132079A1 | Cites | United States of America | Search report |
| US2005262114A1 | Cites | United States of America | Search report |
| US2006074863A1 | Cites | United States of America | Search report |
| US2006085417A1 | Cites | United States of America | Search report |
| US2007064908A1 | Cites | United States of America | Search report |
| US2008021998A1 | Cites | United States of America | Search report |
| US4817130A | Cites | United States of America | Applicant |
| US4941168A | Cites | United States of America | Applicant |
| US5206903A | Cites | United States of America | Applicant |
| US5430792A | Cites | United States of America | Applicant |
| US5434908A | Cites | United States of America | Applicant |
| US5511112A | Cites | United States of America | Applicant |
| US5555376A | Cites | United States of America | Applicant |
| US5619254A | Cites | United States of America | Applicant |
| US5619648A | Cites | United States of America | Applicant |
| US5712902A | Cites | United States of America | Applicant |
| US5742763A | Cites | United States of America | Applicant |
| US5802510A | Cites | United States of America | Applicant |
| US5819084A | Cites | United States of America | Applicant |
| US5826039A | Cites | United States of America | Applicant |
| US5828747A | Cites | United States of America | Applicant |
| US5864874A | Cites | United States of America | Applicant |
| US5905793A | Cites | United States of America | Applicant |
| US5982873A | Cites | United States of America | Applicant |
| US6031896A | Cites | United States of America | Applicant |
| US6038296A | Cites | United States of America | Applicant |
| US6046762A | Cites | United States of America | Applicant |
| US6088441A | Cites | United States of America | Applicant |
| US6094681A | Cites | United States of America | Applicant |
| US6128304A | Cites | United States of America | Applicant |
| US6130937A | Cites | United States of America | Applicant |
| US6163607A | Cites | United States of America | Applicant |
| US6173053B1 | Cites | United States of America | Applicant |
| US6185603B1 | Cites | United States of America | Applicant |
| US6192122B1 | Cites | United States of America | Applicant |
| US6226360B1 | Cites | United States of America | Applicant |
| US6298062B1 | Cites | United States of America | Applicant |
| US6307931B1 | Cites | United States of America | Applicant |
| US6311231B1 | Cites | United States of America | Applicant |
| US6317593B1 | Cites | United States of America | Applicant |
| US6330243B1 | Cites | United States of America | Applicant |
| US6330317B1 | Cites | United States of America | Applicant |
| US6332081B1 | Cites | United States of America | Applicant |
| US6360222B1 | Cites | United States of America | Applicant |
| US6411682B1 | Cites | United States of America | Applicant |
| US6430271B1 | Cites | United States of America | Applicant |
| US6430602B1 | Cites | United States of America | Applicant |
| US6449260B1 | Cites | United States of America | Applicant |
| US6463471B1 | Cites | United States of America | Applicant |
| US6477105B2 | Cites | United States of America | Applicant |
| US6477374B1 | Cites | United States of America | Applicant |
| US6480484B2 | Cites | United States of America | Applicant |
| US6535600B1 | Cites | United States of America | Applicant |
| US6546097B1 | Cites | United States of America | Applicant |
| US6549612B2 | Cites | United States of America | Applicant |
| US6561805B2 | Cites | United States of America | Applicant |
| US6614783B1 | Cites | United States of America | Applicant |
| US6668167B2 | Cites | United States of America | Applicant |
| US6675168B2 | Cites | United States of America | Applicant |
6 members in 4 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 81797106 | United States of America | P | |
| 81797106 | United States of America | P | |
| 53873006 | United States of America | A | |
| 60817971 | – | – | – |
| US20060538730 | – | – | – |
| US20060817971P | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| CA2583069A1 | Canada | A1 | |
| EP1873997A1 | European Patent Office (EPO) | A1 | |
| US2008003964A1 | United States of America | A1 | |
| JP2008017471A | Japan | A | |
| JP5063218B2 | Japan | B2 | |
| US8842818B2This record | United States of America | B2 |
114 transactions on the USPTO file
Allowed after 5 non-final rejections, 2 final rejections and 1 RCE.
- Non-final rejections
- 5
- Final rejections
- 2
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Correspondence Address ChangeC.AD | C.AD | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Printer Rush- No mailingTCPB | TCPB | |
| Printer Rush- No mailingTCPB | TCPB | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Response to 312 Amendment (PTO-271)MN271 | MN271 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Amendment under Rule 312N271 | N271 | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Amendment after Notice of Allowance (Rule 312)AllowedA.NA | A.NA | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Notice of Informal or Non-Responsive AmendmentNINA | NINA | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Informal or Non-Responsive Amendment after Examiner ActionA.I. | A.I. | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Notice of Informal or Non-Responsive AmendmentNINA | NINA | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Informal or Non-Responsive Amendment after Examiner ActionA.I. | A.I. | |
| Response after Non-Final ActionA... | A... | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS |
69 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 08842818
- Publication, DOCDB
- 8842818
- Publication, EPODOC
- US8842818
- Application
- 11538730
- Application, DOCDB
- 53873006
- Application, EPODOC
- US20060538730
Titles
- English
- IP telephony architecture including information storage and retrieval system to track fluency
Patent term adjustment
- A delay
- +941 daysthe office missed an examination deadline
- B delay
- +1,334 dayspendency past three years
- Overlap
- −248 daysdelays counted once
- Applicant delay
- −214 days
- Net adjustment
- 1,813 days
Classification
- CPC, 8
- H04M3/5233
- H04L63/30
- H04M3/42008
- H04M3/42365
- H04M3/5125
- H04L51/52
- H04L67/54
- H04L63/00
- IPC, 6
- H04M3 00
- H04L69 14
- H04M3 42
- H04M3 51
- H04M3 523
- H04M5 00
- USPC, 2
- 379265060
- 379265120