Abstract:
Methods, apparatus, and products for administering feeds of presence information of one or more presentities including creating a feed definition; adding to the feed definition one or more identifications of presentities; receiving a feed request; creating the feed, the feed including presence information for presentities identified in the feed definition; and sending a response to the feed request including the feed.
Abstract:
An extended Web services description language (WSDL) is provided to allow for the merging of call flow XML with the interface description. This is accomplished through additional WSDL bindings for operations that associate an operation with segments or message points within the call flow. In addition, the extension to WSDL defines a set of interactions that provide additional semantics for how the operation interacts with the call flow. These interactions capture the interaction points between the WSDL. The WSDL interfaces that are created may be used for outbound interactions (i.e. initiated through Web services from some event within the call flow) or for the usual inbound request response. An additional lifecycle listener interface is used to convey different binding points between an enhanced converged Web service processing engine and a converged application implementation of the WSDL.
Abstract:
Development tooling receives the extended Web services description language with call flow interactions. The development tooling allows the user to select trivial message exchanges in the call flow. The development tooling may generate servlets for the selected message exchanges automatically to form a template form of the application that will execute in the converged application engine. Alternatively, the development tooling may generate a template form of the application that may be interpreted in an interpretive engine. The user may then drop in higher level business logic. The automatically generated servlets, or template form of the application to be interpreted, are configured to pass to the Web services information, including the last message contents.
Abstract:
A network cluster is provided herein having a plurality of cluster members. One member of the cluster (i.e., the “reservation coordinator”) is responsible for controlling the distribution of rate capacity across members of the cluster. In general, rate capacity may be distributed in a hierarchical fashion to account for the needs of the various services, applications and/or operations provided by the cluster members. More specifically, a hierarchical tree structure may be formed by distributing rate capacity among a plurality of nodes arranged at a global, service, application or operation level of the tree. In some cases, rate capacity may also be distributed at a requester level to account for the needs of requesters (i.e., users) who are granted access to the services, applications and operations provided by the cluster members. A method for distributing rate limits across members of a cluster and a method for tracking rate consumption for at least one member of a cluster are also provided herein.
Abstract:
Given a SIP call flow definition and WSDL extended with SIP/call flow interactions, a converged application integration (CAI) engine provides service-oriented application practitioners with an ability to reuse existing Web services integration techniques in a new converged application integration green space. The converged application integration engine “wraps” a pre-existing converged Web service/SIP or a SIP-only application, listens to application-specific signaling, and based on a supplied WSDL with SIP/call flow extensions, makes and accepts interaction requests using Web services. Given a SIP call flow definition, a WSDL extended with SIP/call flow interactions, and the converged application integration engine, a converged application execution (CAE) engine that greatly eases developing new converged applications. At runtime, the CAE engine “stitches” the signaling onto the decomposed servlet model by following the WSDL extended with SIP/call flow interactions. At appropriate binding points, the CAE engine invokes the listener callback interfaces.
Abstract:
An interface design tool may include a traditional call flow design view and a traditional WSDL interface design view. The call flow design view may allow for the grouping of the call flow into segments or exchanges, and allow for labeling of each message in the segment. The tooling then allows for the creation of a mapping between WSDL operations and the call flow. The mapping may be labeled with the interaction type. The output of the visual artifacts may then be a WSDL and call flow XML document, where the additional bindings are included for the operations that capture the interaction relationships.
Abstract:
A multi-protocol authentication and authorization system including a request interceptor configured to receive from a requestor a first request using a first transport protocol and a second request using a second transport protocol, and an authenticator for validating a digest received from the requestor, where the request interceptor is configured to authenticate the requestor if the digest is valid and if at least one multi-protocol criterion applied to the requests is met.
Abstract:
Mechanisms for creating global sessions across different protocols and multiple converged protocol applications are provided. By creating a global session, state information for each of the individual protocol sessions may be communicated across protocols and utilized in performing operations across converged protocol applications. An edge server is used at the edge of a data network to correlate client interactions over different protocols and to associate them with a global session. The edge server acts as a session reference counter for individual client sessions that are part of a larger global session. The global session is created after the creation of the first protocol session and exists across the creation of future sessions on other protocols and other converged applications. Logical names and global session tokens are utilized to manage the various global sessions handled by the edge server.
Abstract:
A system and method for developing Diameter applications are provided. The system and method extend the application server servlet model to support Diameter applications. A “base protocol” servlet is provided that handles the basic Diameter protocol functionality. Base application servlets are provided for each Diameter interface (for example, an “Sh” base servlet for the IMS “Sh” interface). These servlets are base classes for application code. The base application servlets implement additional semantics on top of the base protocol servlet to support additional attribute-value pair semantics. With the system and method, Diameter servlets share the same ServletContext as HTTP and SIP servlets. This mechanism facilitates communication between the various application entities and facilitates generation of converged applications.
Abstract:
A network is provided herein comprising a plurality of network resources, and at least one network cluster having a plurality of cluster members. Each member of the cluster may be configured for utilizing one or more of the network resources and for tracking usage thereof. For example, each member of the cluster may include one or more token buckets for tracking that member's usage of the network resources. At least one member of the cluster (i.e., a “reservation coordinator”) may include a first set of computer-executable instructions for receiving network traffic destined for a particular network resource at a first rate (i.e., a maximum average sustained rate). In addition, the reservation coordinator may include a second set of computer-executable instructions for distributing the first rate among at least a subset of the cluster members. In some cases, each member of the cluster may include a third set of computer-executable instructions for changing how the first rate is distributed among members of the subset. For example, the third set of computer-executable instructions may include instructions for attempting to reserve a substantially larger or smaller portion of the first rate.