Abstract:
A method and apparatus are disclosed for prefetching Internet resources based on the estimated round trip time of the resources. Whenever a user clicks on an embedded hyperlink, the prefetching strategy aims to ensure that the corresponding document has been prefetched or can be fetched very quickly from its origin server. Web access time as perceived by the user is reduced, while also minimizing the network, server and local resource overhead due to prefetching. The estimated round trip time is obtained or approximated for all referenced documents. The “round trip” time or access time of a resource is the time interval between the sending of the first byte of an HTTP request for the resource until the last byte of the server response has arrived at the requesting Web client. Documents with the longest access times are prefetched first and prefetching generally continues until the estimated round trip time falls below a predefined threshold. An HTTP HEAD request may be used to determine the estimated round trip time of a Web resource. The prefetching agent can be configured to prevent prefetching of those documents that are quickly fetchable, dynamically generated or non-HTTP based resources, or those documents whose size exceed a certain limit, to minimize the network, server and local resource overhead due to prefetching. The thresholds applied to the list of documents to be prefetched can be dynamically adjusted by the agent, based on changing network and server conditions.
Abstract:
Disclosed herein are systems, methods, and non-transitory computer-readable storage media for providing multimodal interaction aids in multimedia events. The system presents a multimedia event to a participant which has limited access to the multimedia event, wherein the limited access prevents the participant from experiencing every mode of the multimedia event. The system also generates a cue associated with the multimedia event, wherein the cue is structured according to the limited access of the participant. The system then transmits the cue to a device associated with the participant.
Abstract:
Disclosed herein are systems, methods, and non-transitory computer-readable storage media for determining call importance using social network context. A system can receive a call from a caller and establish the identity of the caller. The system can then retrieve a social network context associated with the caller identity from a social network and determine an importance score for the call using the social network context. Social network contexts can be derived from a social network profile, caller utterances, and a social graph. Based on the importance score, the contact center provides an appropriate level of customer service. The level of customer service a contact center provides can be based on resource availability, call type, call time, agent queue selection, offered communication modalities and customer follow-up.
Abstract:
Systems, methods, and non-transitory computer-readable storage media for personalizing applications, such as web applications, based on social networking data. A system configured to practice the method first identifies a user of an application, such as by requesting the user to log in to or create a user profile. The system optionally requests authorization from the user to access the social networking data, such as if all or part of the social networking data is private. The system can cache the social networking data in order to save bandwidth or keep requests within the terms of service of a social networking API. The system can assign the user into a user category based on the social networking data, and customize a user interface of the application based on the social networking data and/or the user category by adjusting at least one of location, size, and appearance of a user interface element.
Abstract:
Methods and apparatus are disclosed for collecting presence information about a user from one or more presence sources associated with the user, such as applications, devices and locations. A presence agent is associated with each presence source; and the presence agents provide presence information to one or more presence servers. Typically, the presence agents execute on a processor associated with the corresponding presence source. The presence agent reports one or more of macropresence events and micropresence events. The presence agent optionally prompts the user to update the presence information based on one or more criteria, such as exceeding a time threshold since the last presence event. Continuous presence functions are generated for each presence source that characterize the likelihood of the user to be present on the corresponding presence source at a given time.
Abstract:
Methods and apparatus are provide for developing a virtual assistant for at least one party of a communication. A developer provides one or more virtual assistant software modules that control an execution of the virtual assistant; and also provides a set of proxy methods that are called by the virtual assistant software modules to provide one or more desired functions. The developer may optionally be presented with a library containing one or more virtual assistant software modules or proxy methods. The developer can optionally revise the one or more virtual assistant software modules or proxy methods selected from the library, for example, based on a selection of one or more supported external applications.
Abstract:
Methods and apparatus are disclosed for providing a virtual assistant to at least one party of a communication. The virtual assistant is injected into the communication, for example, by a VXML engine. The operation of the virtual assistant is controlled by one or more software modules that are obtained from a proxy node. The software modules allow commands received from or destined for the party to be interpreted. The virtual assistant may optionally be customized based on a selection of the one or more supported external applications. The proxy node provides at least one method for the party that allows the party to access functionality provided by at least one external application. The proxy node interprets signals from the virtual assistant; converts the signals from the virtual assistant into commands for the external application; and converts one or more of commands, messages and data from the external application into signals understood by the virtual assistant.
Abstract:
Methods and apparatus are provided for developing and processing workflows that include communication tasks. A workflow is generated according to the present invention by inserting at least one communication node in the workflow. The communication node associated is with a communication task having at least one property that is resolved at run time. For example, the media type, recipient list, or timing of a communication may be resolved at run-time. A workflow generation tool is provided that generates a workflow based on (i) a user selection of at least one communication node to insert in a workflow, and (ii) a user specification of one or more properties of the communication task, wherein at least one property of the communication task is resolved at run time. At run-time, a workflow engine parses at least communication node in a workflow associated with a communication task and having at least one property that is resolved at run time.
Abstract:
The invention provides a software instrumentation tool operative to control the execution of a target program, and to execute user-specified instrumentation actions upon occurrence of corresponding user-specified events during target program execution. Advantageously, the instrumentation tool permits the instrumentation actions to be implemented without modification of the target program code, and can be used to provide any desired type of instrumentation on any target program. In an illustrative embodiment, the instrumentation tool includes a frontend portion which provides a creation graphical user interface (GUI) to the tool, and a backend portion which controls execution of the target program and executes the user-specified actions. The frontend portion also includes, for a given target program, a created GUI which is created by a user for providing selected instrumentation functions for the given target program. The frontend and backend portions of the instrumentation tool may each be running on a different machine, or both may run on the same machine. The invention may be used in a wide variety of applications, including application program modification and management, fault tolerance, real-time collaboration, process monitoring, software rejuvenation and graphical interface generation.
Abstract:
Systems, methods, and non-transitory computer-readable storage media for determining expertise through speech analytics. The system associates speakers with respective segments of an audio conversation to yield associated speaker segments. The system also identifies a number of times a speaker has spoken about a topic in the audio conversation by searching the associated speaker segments for a term associated with the topic. The system then ranks the speaker as an expert in the topic when the number of times the speaker has spoken about the topic in the audio conversation exceeds a threshold. The audio conversation can include a compilation of a plurality of audio conversations. Moreover, the system can tag the associated speaker segments having the term with keyword tags and match a respective segment from the associated speaker segments with the speaker, the respective segment having a keyword tag.