DE60108725T2 - Architecture for triggering the services - Google Patents
Architecture for triggering the services Download PDFInfo
- Publication number
- DE60108725T2 DE60108725T2 DE60108725T DE60108725T DE60108725T2 DE 60108725 T2 DE60108725 T2 DE 60108725T2 DE 60108725 T DE60108725 T DE 60108725T DE 60108725 T DE60108725 T DE 60108725T DE 60108725 T2 DE60108725 T2 DE 60108725T2
- Authority
- DE
- Germany
- Prior art keywords
- rule
- service
- processing
- message
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5022—Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1096—Supplementary features, e.g. call forwarding or call holding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42136—Administration or customisation of services
- H04M3/4217—Managing service interactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/0016—Arrangements providing connection between exchanges
- H04Q3/0029—Provisions for intelligent networking
- H04Q3/0045—Provisions for intelligent networking involving hybrid, i.e. a mixture of public and private, or multi-vendor systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5032—Generating service level reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/327—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the session layer [OSI layer 5]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Abstract
Description
Diese Erfindung bezieht sich auf das Management einer Vielzahl von Diensten, die auf eine Kommunikationssitzung bezogen sind, wobei die Kommunikationssitzung durch ein Sitzungsprotokoll gesteuert wird, das Sitzungsinformation über die Kommunikationssitzung vorsieht.These This invention relates to the management of a variety of services which are related to a communication session, wherein the communication session is controlled by a session log, the session information about the Communication session provides.
Es gibt eine steigende Nachfrage nach interaktiven Kommunikationssitzungen über das Internet, wie etwa IP-Telefonie, Multimediasitzungen, Video-Datenstrom (video streaming) etc. Interaktive Kommunikationssitzungen können durch Sitzungsprotokolle gesteuert werden, wie etwa das Sitzungsinitiierungsprotokoll (Session Intitiation Protocoll, SIP), welches Initiierung, Abschluss und Modifikation von Sitzungen zwischen Benutzern handhabt. SIP befasst sich nicht mit dem Typ einer Sitzung, die zu initiieren ist, d.h. mit dem tatsächlichen Inhalt von SIP-Nachrichten, sondern vielmehr mit dem Managen einer Sitzung. Dies inkludiert Aufgaben, wie etwa Bestimmen, wo sich ein Benutzer tatsächlich befindet, der zu kontaktieren ist, Zustellen einer Beschreibung der Sitzung, zu der der Benutzer eingeladen wird, Verhandeln eines gemeinsamen Formates zum Beschreiben von Sitzungen etc.It There is an increasing demand for interactive communication sessions over the Internet, such as IP telephony, multimedia sessions, video data stream (video streaming) etc. Interactive communication sessions can be through Session logs, such as the session initiation protocol (Session Initiation Protocol, SIP), which initiation, completion and modification of sessions between users. SIP is not concerned with the type of session that initiate is, i. with the actual content rather than managing a session. This includes tasks, such as determining where a user is indeed To be contacted, deliver a description the session to which the user is invited to negotiate one common formats for describing sessions etc.
SIP basiert auf dem Anfrage-Antwort-Paradigma. Wenn z.B. eine Sitzung initiiert wird, sendet ein Anrufer eine Anfrage, die zu dem Benutzer adressiert ist, den der Anrufer anrufen will, d.h. der Angerufene. Die Anfragenachricht wird zu dem Angerufenen gesendet, typischerweise über eine Reihe von Proxy-Servern, die zum Weiterleiten und Zustellen von Nachrichten verantwortlich sind. Der Angerufene sendet eine Antwort, die die Einladung annimmt oder ablehnt. Die Antwort wird durch die Folge von Proxy-Servern in der umgekehrten Reihenfolge zurückgeleitet.SIP based on the request-response paradigm. If e.g. a meeting is initiated, a caller sends a request to the user addressed, which the caller wants to call, i. the called party. The request message is sent to the called party, typically via a Set of proxy servers used to forward and deliver Messages are responsible. The called party sends a response, who accepts or rejects the invitation. The answer is through the Sequence of proxy servers returned in the reverse order.
Über dem Standardsitzungsmanagement, das durch ein Sitzungsprotokoll vorgesehen wird, wie etwa SIP, können zusätzliche Dienste im Standort des Anrufers, Standort des Angerufenen oder in beliebigen der zwischenliegenden Proxy-Server implementiert werden.Above that Standard session management provided by a session protocol will, such as SIP, can additional Services in the location of the caller, location of the called party or be implemented in any of the intermediate proxy servers.
Hier umfasst der Begriff Dienst (Service) eine Einheit von Funktionalität, die einem Basissystem inkrementell hinzugefügt werden kann und die zu einer Ausgabe führt, die durch einen Benutzer wahrnehmbar ist, wie etwa einen Teilnehmer, einen Administrator oder dergleichen. Daher ist ein Dienst, z.B. Rufweiterleitung, Sprachpost (voice mail), Videokonferenz etc. eine modulare Erweiterung zu einem Basissystem, wie etwa einem System zum Managen von Sitzungen, z.B. einem SIP-System. Der Prozess zum Hinzufügen und Ermöglichen von Merkmalen in einem Basissystem wird Merkmalsaufstellung (feature deployment) genannt.Here The term service (service) includes a unit of functionality that is one Basic system can be added incrementally and to one Issue leads, which is perceptible by a user, such as a subscriber, an administrator or the like. Therefore, a service, e.g. Call forwarding, voice mail, videoconferencing, etc. one modular extension to a base system, such as a system for managing sessions, e.g. a SIP system. The process of adding and Enable of features in a base system, feature set up (feature called deployment).
Während einer Sitzung können Merkmalen durch gewisse Ereignisse getriggert (ausgelöst) werden. Triggern, d.h. die Handlung zum Aufrufen einer gegebenen Anwendung in einem gegebenen Ereignis, basiert gewöhnlich auf vertraglichen Beziehungen zwischen Teilnehmern und Dienstanbietern. Falls mehr als ein Merkmal in einem Dienstnetz aufgestellt ist, und einer oder mehr Dienste gleichzeitig für einen oder mehr Benutzer aktiviert werden können, dann treten Merkmalsinteraktionen auf. Hier umfasst der Begriff Merkmalsinteraktion den Einfluss oder die Modifikation eines Merkmals durch ein anderes. Merkmalsinteraktion ist ein unvermeidliches Nebenprodukt von modularen Merkmalen. Es kann wünschenswerte und nicht erwünschte Merkmalsinteraktionen geben. Es ist jedoch ein Prob lem, dass das gesamte Verhalten eines Dienstnetzes nicht steuerbar werden kann, falls Merkmalsinteraktionen nicht richtig gemanagt werden. Folglich ist Merkmalsinteraktion ein wachsendes Problem, da sich die Zahl und Komplexität einer Dienstanwendung mit der Entstehung neuer Technologien, wie etwa UMTS, erhöht, die den Fähigkeiten von Dienstnetzen erhebliche Anforderungen auferlegen. Diese Dienste können unabhängig entwickelt worden sein und die Dienstanbieter müssen in der Lage sein zu spezifizieren, wie in Konflikt stehende Instruktionen von diesen Diensten aufzulösen und zu dem Vorgabeverhalten des verwendeten Kommunikationsprotokolls zu vermitteln sind.During one Can session Characteristics can be triggered (triggered) by certain events. triggers, i.e. the act of invoking a given application in one given event, is usually based on contractual relationships between subscribers and service providers. If more than one characteristic is placed in a service network, and one or more services simultaneously for one or more users can be activated then feature interactions occur. Here the term encompasses Feature interaction the influence or modification of a feature through another. Feature interaction is an inevitable byproduct of modular features. There may be desirable and undesirable feature interactions give. However, it is a problem that the entire behavior of a Service network can not be controlled if feature interactions not managed properly. Consequently, feature interaction a growing problem, as is the number and complexity of a Service application with the emergence of new technologies, such as UMTS, increased, the skills impose significant requirements on service networks. These services can independently have been developed and service providers must be able to specify how to resolve conflicting instructions from these services and to the default behavior of the communication protocol used to convey.
Um Merkmalsinteraktion zu vermeiden, kann das Verhalten von mehreren Merkmalen ad-hoc oder systematisch getestet werden, wenn ein neuer Dienst einem Dienstnetz hinzugefügt wird, z.B. durch Testen von Paaren von Merkmalen. Falls Fälle von Merkmalsinteraktionen während Tests oder nach Aufstellung erfasst werden, können die erfassten Probleme z.B. durch Umgestalten von einer oder mehr der einbezogenen Dienstanwendungen gelöst werden.Around To avoid feature interaction, the behavior of multiple Characteristics are tested ad-hoc or systematically when a new one Added service to a service network is, e.g. by testing pairs of features. If there are cases of Feature interactions during Tests or after installation can be recorded, the detected problems e.g. by transforming one or more of the included service applications solved become.
Der obige Ansatz erfordert eine beträchtliche Menge von Ressourcen, insbesondere da sich die Zahl und Komplexität der Dienste erhöht. Daher ist es ein Problem, dass der obige Stand der Technik mit der Zahl und Komplexität von Dienstanwendungen nicht gut skaliert.Of the above approach requires a considerable Amount of resources, especially as the number and complexity of services elevated. Therefore, it is a problem that the above prior art with the Number and complexity not scaled well by service applications.
Der Artikel "Programming SIP Services" von Anders Kristensen et al, IP Telephony Workshop 2000, beschreibt eine JAVA-basierte Schnittstelle zwischen Diensten und einem SIP-Server.The article "Programming SIP Services" by Anders Kristensen et al, IP Telephony Workshop 2000, describes a JAVA-based interface between services and a SIP server.
Der Artikel "An Architecture for Three Challenging Features" von Pamela Zave, Internet Telephony Workshop 2001, beschreibt eine Architektur für drei spezifische Merkmale innerhalb des Kontextes von IP-Telefonie, nämlich "Standort und Identifikation", "Umschalten und spontane Konferenz" und "Post". Die Gestaltung dieser Merkmale berücksichtigt Probleme von Merkmalsinteraktion. Dieser Artikel verweist ferner auf eine verteilte Merkmalseinrichtungsarchitektur (Distributed Feature Composition architecture, DFC) und beschreibt ein System im Sinne von Schnittstellenboxen und Merkmalsboxen, die gleichlaufende Prozesse sind.Of the Article "An Architecture for Three Challenging Features "by Pamela Zave, Internet Telephony Workshop 2001, describes an architecture for three specific features within the context of IP telephony, namely "location and identification", "switching and spontaneous Conference "and" Post. "The design taken into account Problems of feature interaction. This article also refers to a distributed feature architecture (Distributed Feature Composition architecture, DFC) and describes a system in the sense of interface boxes and feature boxes, the concurrent Processes are.
Es ist jedoch ein Problem des obigen Systems des Standes der Technik, verbesserte Mechanismen zum Vermeiden von Merkmalsinteraktionen wegen der Änderung des Kontextes eines Dienstes durch einen anderen Dienst vorzusehen.It however, is a problem of the above prior art system, improved mechanisms to avoid feature interactions because of the change context of a service by another service.
Gemäß der Erfindung werden die obigen und andere Probleme durch ein Verfahren zum Managen einer Vielzahl von Diensten, die durch eine Nachricht eines Sitzungsprotokolls getriggert werden, das eine Kommunikationssitzung steuert, wie in Anspruch 1 definiert, gelöst.According to the invention The above and other problems are solved by a method of managing a variety of services through a message of a session log which controls a communication session, as in Claim 1 defined solved.
Folglich wird der Aufruf von Diensten, der während einer Kommunikationssitzung getriggert wird, durch eine Zahl von Ausführungsregeln gesteuert, die in einer vorbestimmten Reihenfolge verarbeitet werden, wobei dadurch die Reihenfolge von aufzurufenden Diensten gesteuert wird. Deshalb wird ein Mechanismus zum Triggern von Anwendungen basierend auf den Dienstausführungsregeln vorgesehen, der ein beliebiges Gesamtverhalten wegen einer ungesteuerten Reihenfolge einer Ausführung vermeidet. Des weiteren können durch Editieren der Ausführungsregeln unterschiedliche Aufstellungsstrategien leicht implementiert werden, wobei dadurch eine flexible fein granulierte Dienstaufstellungsinfrastruktur vorgesehen wird, die große Flexibilität beim Ordnen der Kette von Diensten vorsieht, was es erlaubt, das Leistungsverhalten des Dienstnetzes zu optimieren.consequently is the call to services during a communication session is triggered, controlled by a number of execution rules, the processed in a predetermined order, thereby the order of services to be called is controlled. Therefore is a mechanism for triggering applications based on the service execution rules provided that any overall behavior because of an uncontrolled Order of execution avoids. Furthermore, through Editing the execution rules different deployment strategies are easily implemented, where thereby a flexible fine granulated service installation infrastructure is provided, the big one flexibility when arranging the chain of services provides what allows that Optimize service performance of the service network.
Daher wird gemäß der Erfindung eine flexible Dienstaufstellungsinfrastruktur vorgesehen, die es erlaubt, Merkmalsinteraktionen systematisch zu vermeiden, wenn eine große Zahl von komplexen Diensten gemanagt wird, z.B. wenn Dienste innerhalb eines Dienstnetzes hinzugefügt, entfernt, aufgehoben, erneut aktiviert oder neu zugeordnet werden.Therefore is according to the invention provided a flexible service deployment infrastructure that it allows to systematically avoid feature interactions when a size Number of complex services, e.g. if services within added to a service network, removed, canceled, re-activated or reassigned.
Es wird ein standardisiertes Rahmenwerk zum Definieren einer Dienstausführung vorgesehen, das die Verteilung des Dienstmanagementproblems zwischen unabhängigen Interessengruppen erlaubt, wobei dadurch ein Verfahren vorgesehen wird, das mit der Zahl von Diensten skalierbar ist.It Provide a standardized framework for defining a service execution, the distribution of the service management problem between independent stakeholders permitting thereby to provide a method compatible with the Number of services is scalable.
Eine Ausführungsregel inkludiert eine oder mehr Bedingungen zum Durchführen einer oder mehr Aktionen, wie etwa Aufrufen einer Dienstanwendung.A Run rule includes one or more conditions for performing one or more actions, such as calling a service application.
Der Begriff Kommunikationssitzung umfasst Kommunikationssitzungen zwischen Benutzern eines Kommunikationsnetzes, wie etwa eines TCP/IP-Netzes, eines Lokalbereichsnetzes, eines Weitverkehrsnetzes, des Internet oder dergleichen. Beispiele von Kommunikationssitzungen inkludieren Sprache-über-Internet (Voice-over-Internet), IP-Telefonie, Videokonferenz, Video-Datenstrom etc.Of the Term communication session involves communication sessions between Users of a communication network, such as a TCP / IP network, a local area network, a wide area network, the Internet or similar. Include examples of communication sessions Voice over Internet (Voice over Internet), IP telephony, videoconferencing, video data stream etc.
Der Begriff Sitzungsprotokoll umfasst ein Protokoll, das die Kommunikationssitzung steuert, und insbesondere die Initiierung, den Abschluss und die Modifikation von Sitzungen. Vorzugsweise basiert das Sitzungsprotokoll auf Anfrage-/Antwortnachrichten, die über die Knoten des Kommunikationsnetzes zwischen den teilnehmenden Benutzern einer Kommunikationssitzung übertragen werden. Ein Beispiel eines derartigen Sitzungsprotokolls ist das Sitzungsinitiierungsprotokoll (SIP).Of the Term session log includes a log containing the communication session controls, and in particular the initiation, the conclusion and the Modification of sessions. Preferably, the session log is based on request / response messages over the nodes of the communication network between the participating users of a communication session become. An example of such a session log is the Session Initiation Protocol (SIP).
Andere Beispiele inkludieren die Protokollfolge H.323, MGCP und verwandte Protokolle, wie etwa IPDC, SGCP, H.248 etc.Other Examples include the H.323, MGCP, and related protocol series Protocols, such as IPDC, SGCP, H.248 etc.
Der Begriff Dienst umfasst eine Einheit von Funktionalität, die einem Basissystem inkrementell hinzugefügt werden kann. Ein Dienst kann Teilnehmern Dienste anbieten, kann aber auch andere Dienste, wie administrative Aufgaben, dem Netzadministrator anbieten. Beispiele derartiger Dienste inkludieren Rufweiterleitung, Warten auf einen Ruf, Sprach-Post, Statistikfunktionen, Rückruf, Videokonferenz, Video auf Nachfrage, Anonymisierungsdienste, automatische Antwort etc. Ein Dienst kann unter Verwendung einer Vielheit von Technologien implementiert werden, z.B. OSA, Java, CGI, Perl, C++, CPL, XML etc.Of the Term service includes a unit of functionality that is one Basic system can be added incrementally. A service may offer services to subscribers, but may also provide other services, how to offer administrative tasks to the network administrator. Examples such services include call forwarding, waiting for one Call, voice mail, statistics, callback, videoconferencing, video on demand, anonymization services, automatic answer etc. A service can be done using a variety of technologies be implemented, e.g. OSA, Java, CGI, Perl, C ++, CPL, XML etc.
In dem Kontext des SIP-Protokolls ist ein Dienst eine Anwendung oder eine Zahl von Anwendungen, die lokal auf einem SIP-Server, z.B. als ein CGI-Skript oder ein CPL-Skript, oder entfernt auf einem Anwendungsserver, der durch den SIP-Server kontaktiert wird, ausgeführt werden. In dem letzteren Fall kann der Dienst unter Verwendung irgendeiner Standardnamenskonvention zugänglich gemacht oder aufgerufen werden, d.h. unter Verwendung von SIP-Anfrage-URIs (SIP-Request-URI). Alternativ können sich die Dienste tatsächlich in dem SIP-Server unter Verwendung z.B. eines 3GPP OSA API Rahmenwerkes selbst registrieren. SIP-Dienste können in veranlassende und abschließende Dienste gruppiert werden, d.h. jene, die mit dem Anrufer und dem Angerufenen in Verbindung stehen.In In the context of the SIP protocol, a service is an application or a number of applications running locally on a SIP server, e.g. when a CGI script or a CPL script, or removed on an application server, which is contacted by the SIP server to be executed. In the latter case, the service may be using any Standard naming convention accessible be made or called, i. using SIP request URIs (SIP Request-URI). Alternatively you can the services actually in the SIP server using e.g. register yourself on a 3GPP OSA API framework. SIP services can in inducing and final Services are grouped, i. those with the caller and the Called contact.
Dienste können auf Bedingungen in einem Nachrichtenheader (Nachrichtenkopf), einem Nachrichtenrumpf, dem SDP oder dergleichen getriggert werden.services can on conditions in a message header (message header), one Message body, the SDP or the like are triggered.
Die Funktionalität des SIP-Servers, die Dienstanwendungen angeboten wird, wird Dienstmerkmale genannt, wie etwa Zugriff auf irgendeine API, z.B. eine serverseitige OSA-API, auf statistische Funktionen oder dergleichen. Dienstmerkmale können ferner Dienstanwendungen sein, die sich in dem SIP-Server registrieren und anschließend ihren Dienst anbieten, um durch andere Dienstanwendungen verwendet zu werden.The functionality SIP server offered to service applications becomes service features called, such as access to any API, e.g. a server-side OSA API, statistical functions or the like. service features can be further service applications that register in the SIP server and subsequently offer their service to be used by other service applications to become.
Es ist ein weiterer Vorteil der Erfindung, dass sie von der Technologie, die für die Implementierung der Dienste verwendet wird, dem Signalisierungsprotokoll und der Plattform unabhängig ist. Daher muss ein Netzbetreiber im voraus die Typen von Diensten nicht kennen, die in dem Dienstnetz aufgestellt werden, wobei dadurch eine robuste und erweiterbare Dienstaufstellungsinfrastruktur vorgesehen wird.It another advantage of the invention is that it is technologically the for the implementation of the services is used, the signaling protocol and the platform independently is. Therefore, a network operator needs to know in advance the types of services Do not know that are placed in the service network, thereby a robust and extensible service deployment infrastructure is provided becomes.
Da die Zahl von Interessengruppen, die wünschen können, ihre eigenen Dienste zu registrieren, sehr groß sein könnte, gibt es eine Notwendigkeit für Skalierbarkeit. Des weiteren kann die Zahl von Teilnehmern, die mit einer Domäne in Verbindung stehen, sehr groß sein, was die Frage von Skalierbarkeit kritisch macht. Dienste können durch viele verschiedene Typen von Ereignissen getriggert und basierend auf einer Vielzahl von unterschiedlichen Bedingungen aufgerufen werden, wie etwa Übereinstimmung von Quell- und Zieladressen, zeitabhängig oder irgendeine andere Vorbedingung. Des weiteren können nicht auf SIP bezogene Dienste in SIP-Ereignissen aufgerufen werden, z.B. falls gewisse Bedingungen zu einem gegebenen Zeitpunkt erfüllt sind. Es können unterschiedliche Diensttechnologien, wie etwa CPL, verwendet werden. Auf SIP bezogene Dienste können in nicht auf SIP bezogenen Ereignissen aufgerufen werden, z.B. HTTP-Ereignisse. Es kann Zehntausende von Diensten geben, die zig Millionen von Teilnehmern angeboten werden können, von Zehntausenden von dritten Dienstanbietern. Folglich ist die Aufgabe zum Managen von Diensten und Dienstinteraktionen eine Aufgabe, die zum Managen für einen Administrator leicht zu groß und kompliziert wird.There the number of stakeholders who may want their own services to register, be very tall could, there is a need for Scalability. Furthermore, the number of participants who with a domain communicate, be very tall, which makes the question of scalability critical. Services can be through many different types of events triggered and based called on a variety of different conditions be like coincidence source and destination addresses, time-dependent or any other Precondition. Furthermore, you can invoke SIP-related services in SIP events, e.g. if certain conditions are met at a given time. It can different service technologies, such as CPL. SIP related services can in non-SIP related events, e.g. HTTP events. There can be tens of thousands of services, tens of millions of subscribers can be offered by tens of thousands of third party service providers. Consequently, the Task to manage services and service interactions a task to manage for an administrator gets too big and complicated.
Gemäß der Erfindung wird die Zahl von Ausführungsregeln in eine Zahl von Regelmodulen gruppiert, wobei jedes Regelmodul eine Zahl von Ausführungsregeln inkludiert; und das Verfahren umfasst ferner die Schritte
- – Verarbeiten eines ersten der Zahl von Regelmodulen, was zu einer ersten akkumulativ modifizierten Nachricht führt; und
- – Aufrufen einer Verarbeitung eines zweiten der Zahl von Regelmodulen, was die erste akkumulativ modifizierte Nachricht als eine Eingabe vorsieht.
- Processing a first of the number of rule modules, resulting in a first accumulatively modified message; and
- Calling a processing of a second of the number of rule modules, which provides the first accumulatively modified message as an input.
Folglich wird das Problem von Merkmalsinteraktion durch Gruppieren der Ausführungsregeln in Regelmodule, d.h. Gruppen von Ausführungsregeln, in das Problem von Merkmalsinteraktion zwischen Merkmalen, die innerhalb des gleichen Regelmoduls aufgerufen werden, und Interaktionen zwischen Regelmodulen gesplittet. Folglich ist es ein Vorteil der Erfindung, dass ein Verfahren zum Managen von Merkmalsinteraktion vorgesehen wird, welches mit der Zahl von Diensten skaliert. Wenn unterschiedliche Dienste durch unterschiedliche Dienstanbieter vorgesehen werden, z.B. unterschiedliche Firmen oder unterschiedliche Organisationsentitäten innerhalb einer Firma, kann insbesondere ein einzelner Anbieter nicht Zugriff auf alle vorgesehenen Dienste haben oder nicht in der Lage sein, sie zu testen. Daher ist es ein Vorteil der Erfindung, dass die Aufgabe zum Analysieren von Merkmalsinteraktionsanalyse gemäß Regelmodulen gesplittet und auf unterschiedliche Anbieter verteilt werden kann. Dies impliziert ferner, dass die Kosten von Dienstmanagement auf unabhängige Seiten delegiert werden können, wie die Zahl von Teilnehmern und Diensten wächst.consequently The problem of feature interaction is by grouping the execution rules in rule modules, i. Groups of execution rules, in the problem of feature interaction between features that are within the same Control modules are called, and interactions between rule modules are split. Consequently, it is an advantage of the invention that a method for Managing feature interaction is provided, which with the Number of services scaled. When different services through different service providers are provided, e.g. different Companies or different organizational entities within a company, In particular, a single provider may not have access to all intended services or not be able to test them. Therefore, it is an advantage of the invention that the task of analyzing split by feature interaction analysis according to rule modules and can be distributed to different providers. This implies Furthermore, the cost of service management on independent sites can be delegated, as the number of participants and services grows.
Die Interessengruppen, die Dienste auf einen SIP-Server hochladen/registrieren und administrieren wünschen können, könnten der Besitzer, Dienstanbieter oder Administrator des SIP-Servers, Netzbetreiber etc. sein. Es könnten auch unterschiedliche Typen von Einzelhändlern, z.B. virtuelle Telekom-Betreiber, Internet-Dienstanbieter etc. sein. Es können auch unterschiedliche Typen von Dienstanbietern sein, wie etwa Anwendungsdienstanbieter, Inhaltsdienstanbieter, Dienst-/Merkmalsanbieter. Auch können private Organisationen, Unternehmen und Teilnehmer mögliche Interessengruppen sein.The stakeholders who may want to upload / register and administer services to a SIP server could be the owner, service provider or administrator of the SIP server, network operator, etc. It could also be different types of retailers, such as virtual telecom operators, Internet service providers, etc. They may also be different types of service providers, such as application service providers, content service providers, service / feature providers. Also, private organizations be possible stakeholders, companies and participants.
Folglich wird gemäß der Erfindung ein flexibles, erweiterbares und skalierbares Management von Vertragsbeziehungen zwischen Interessengruppen erreicht, inkludierend das Management von Abrechnung, Begleichung, Richtlinien und Sicherheit.consequently is according to the invention a flexible, extensible and scalable management of contract relationships reached between interest groups, including the management billing, settlement, policies and security.
Es ist ein weiterer Vorteil der Erfindung, dass sie eine modulare Struktur von Ausführungsregeln vorsieht, wobei dadurch die Einbettung von Dienstprofilen für Benutzer, Benutzergruppen, Teilnehmer etc. ermöglicht wird. Es ist ein weiterer Vorteil der Modularität, dass sie Wiederverwendung von Regelmodulen ermöglicht, wobei dadurch die Wartung der Dienstumgebung weiter erleichtert wird.It Another advantage of the invention is that it has a modular structure of execution rules whereby embedding service profiles for users, User groups, participants, etc. is enabled. It is another Advantage of modularity, that it allows reuse of control modules, thereby reducing maintenance the service environment is further facilitated.
Wenn jedes Regelmodul zu sich eine Priorität zugeordnet hat, die eine Reihenfolge einer Verarbeitung der Zahl von Regelmodulen anzeigt, wird die Reihenfolge einer Regelmodulausführung durch einen einfachen Parameter bestimmt, wobei dadurch leichte und transparente Steuerung über die Reihenfolge einer Ausführung von Regelmodulen vorgesehen wird.If Each rule module has assigned to itself a priority, the one Display the order of processing of the number of rule modules, The order of a rule module execution is given by a simple parameter thereby providing easy and transparent control over the Order of execution is provided by rule modules.
Wenn jedes Regelmodul einem Regelmodulbesitzer entspricht, der autorisiert ist, das Regelmodul zu editieren, kann die administrative Autorität für ein Regelmodul einfach hergestellt werden, wobei die Delegierung administrativer Autori tät, wie etwa Editieren von Regelmodulen, Merkmalsinteraktionsanalyse innerhalb eines Regelmoduls etc. weiter erleichtert wird.If Each rule module corresponds to a rule module owner who authorizes is to edit the rule module, the administrative authority for a rule module be easily prepared, with the delegation administrative Authority, such as editing rule modules, feature interaction analysis is further facilitated within a control module, etc.
Gemäß der Erfindung hat das erste Regelmodul zu sich ein Privileg zugeordnet, das eine Autorität anzeigt, ein Sperrflag zu ändern, das sich auf einen vorbestimmten Teil der akkumulativ modifizierten Nachricht bezieht und spezifiziert, ob der vorbestimmte Teil der akkumulativ modifizierten Nachricht durch Dienste modifiziert werden kann, die von mindestens dem zweiten Regelmodul aufgerufen werden. Folglich wird ein Mechanismus zum expliziten Erlauben oder Verhindern von Änderungen einzelner Attribute oder Gruppen von Attributen der Nachrichten durch nachfolgende Dienste vorgesehen. Daher wird ein effizientes Werkzeug zum Verhindern von Merkmalsinteraktionen wegen dem Ändern des Kontextes von einem Dienst durch einen anderen Dienst vorgesehen. Dieser Typ von Merkmalsinteraktion wird als Verletzung von Merkmalsannahme bezeichnet, die mehrdeutiges oder Konfliktverhalten von Diensten verursachen kann. Da die Autorität, gewisse Attribute zu sperren und/oder freizugeben, mit vorbestimmten Privilegien verknüpft ist, die Regelmodulen zugeordnet sind, kann der Netzbetreiber Missbrauch von Privilegien erfassen und dadurch nicht-autorisiertes Verhalten verhindern, wobei dadurch die Sicherheit des Verfahrens erhöht wird. Privilegienverletzung kann zur Laufzeit erfasst und aufgelöst werden, z.B. durch Benachrichtigung oder Deaktivierung von Diensten.According to the invention the first rule module has assigned to itself a privilege that has a authority indicates to change a blocking flag, which is based on a predetermined part of the accumulatively modified Message refers and specifies whether the predetermined part of accumulatively modified message modified by services can be called by at least the second rule module. Consequently, a mechanism for explicitly allowing or preventing of changes individual attributes or groups of attributes of the messages provided by subsequent services. Therefore, an efficient Tool for preventing feature interactions because of changing the Context of a service provided by another service. This type of feature interaction is called a feature acceptance violation indicates the ambiguous or conflicting behavior of services can cause. As the authority, block and / or release certain attributes with predetermined ones Privileges linked is, the control modules are assigned, the network operator can abuse of privileges and thereby prevent unauthorized behavior, thereby increasing the safety of the process. privileges injury can be detected and resolved at runtime, e.g. by notification or deactivation of services.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung umfasst der Schritt zum Aufrufen einer Verarbeitung des zweiten Regelmoduls ferner den Schritt zum Setzen des Sperrflags, um eine Modifikation des vorbestimmten Teils der akkumulativ modifizierten Nachricht durch Dienste zu verhindern, die von dem zweiten Regelmodul aufgerufen werden, es sei denn, dass das Sperrflag durch das erste Regelmodul als nicht gesetzt markiert wurde. Folglich sind die Nachrichtenattribute per Vorgabe für nachfolgende Änderungen gesperrt, wenn die Steuerung von einem Regelmodul zu einem anderen transferiert wird. Daher kann das zweite Regelmodul nur Nachrichtenattribute ändern, die das erste Regelmodul explizit als nicht gesperrt markiert hat, wobei dadurch die Steuerung möglicher Merkmalsinteraktionen zwischen Regelmodulen weiter verbessert wird und eine Merkmalsanalyseaufgabe auf innerhalb der einzelnen Regelmodule eingeschränkt wird. Dies führt zu einer weiter verbesserten Skalierbarkeit.According to one another preferred embodiment The invention comprises the step of invoking a processing the second control module further comprises the step of setting the inhibit flag, to a modification of the predetermined part of the accumulatively modified To prevent message through services provided by the second rule module be called unless the blocking flag is through the first Rule module has been marked as not set. Consequently, the message attributes are by default for subsequent changes Locked when controlling from one controller to another is transferred. Therefore, the second rule engine can only modify message attributes that the first rule module has explicitly marked as not locked, where thereby the control possible Feature interactions between rule modules is further improved and a feature analysis task within within each rule module limited becomes. this leads to to a further improved scalability.
Wenn der Schritt zum Erhalten einer Zahl von Ausführungsregeln ferner den Schritt zum Erfassen einer vorbestimmten Vertragsbeziehung basierend auf Headerinformation der Nachricht; und Auswählen einer Zahl von Regelmodulen basierend auf der erfassten Vertragsbeziehung umfasst, wird ein modulares und skalierbares Verfahren vorgesehen, das die Unterstützung für Betreiber ermöglicht, Dienste dritter und/benutzerdefinierte Dienste zu unterhalten. Da Vertragsbeziehungen auf der Basis von Headerinformation erfasst werden, können jene Dienste dritter oder benutzerdefinierte Dienste, die für eine gegebene Nachricht relevant sind, auf der Basis der erfassten Vertragsbeziehungen identifiziert werden.If the step of obtaining a number of execution rules further comprises the step for detecting a predetermined contract relationship based on Header information of the message; and selecting a number of rule modules is included based on the recorded contract relationship provided a modular and scalable process that provides support to operators allows Services third and / custom services to maintain. There Contractual relationships based on header information recorded can, can those services third or custom services that are for a given Message are relevant, based on the recorded contractual relationships be identified.
Gemäß einer anderen bevorzugten Ausführungsform der Erfindung umfasst der Schritt zum Verarbeiten des ersten Regelmoduls ferner den Schritt zum Aufrufen eines vorbestimmten dritten Regelmoduls. Folglich kann ein Regelmodul andere Regelmodule aufrufen, wodurch ein leistungsfähiges Werkzeug zum Erstellen einer Hierarchie von Regelmodulen vorgesehen und die Skalierbarkeit und Flexibilität der Aufstellungsinfrastruktur weiter verbessert werden. Es ist ein Vorteil der Erfindung, dass sie die Delegierung von einem Regelmodul, das im Besitz einer Seite ist, zu einem anderen Regelmodul, das im Besitz durch eine andere Seite ist, erlaubt. Eine Seite kann Anwendungen in einer Reihenfolge aufrufen, die durch diese Seite als geeignet erachtet wird, und dann die Steuerung zu einer anderen Seite weitergeben, die dann unterschiedliche Anwendungen aufrufen kann. Die erste Seite kann anschließend die Steuerung wiedererlangen, um die Ausgabe von der zweiten Seite zu prüfen. Wenn diese Delegierung erfolgt ist, kann die erste Seite entscheiden, welche Nachrichteneigenschaften in der weitergeleiteten Nachricht nachfolgende Anwendungen ändern können, durch Anzeigen, welche Nachrichteneigenschaften für eine Aktion nicht überschrieben werden können.According to another preferred embodiment of the invention, the step of processing the first control module further comprises the step of calling a predetermined third control module. As a result, a rule module can invoke other rule modules, providing a powerful tool for creating a hierarchy of rule modules, and further improving the scalability and flexibility of the deployment infrastructure. It is an advantage of the invention that it involves the delegation of a rule module owned by one page to another rule module owned by another page is allowed. A page can call applications in an order that is deemed appropriate by that page, and then pass the control to another page that can then invoke different applications. The first page may then regain control to check the output from the second page. When this delegation has occurred, the first page can decide which message properties in the forwarded message can change subsequent applications by indicating which message properties for an action can not be overridden.
Es ist ein Vorteil der Erfindung, dass sie eine hierarchische Delegierung administrativer Autorität basierend auf der Fähigkeit erlaubt, Regelmodule von innerhalb anderer Regelmodule zu triggern und Nachrichteneigenschaften zu sperren.It One advantage of the invention is that it provides a hierarchical delegation administrative authority based on the ability allows to trigger control modules from within other control modules and lock message properties.
Wenn sich die ersten und zweiten Regelmodule auf jeweilige erste und zweite Zugriffssteuerlisten beziehen, die Zugriffsrechte auf den entsprechenden ersten oder zweiten Regelmodul spezifizieren, kann die Verletzung von Zugriffsrechten erfasst und aufgelöst werden, wobei dadurch die Sicherheit des Verfahrens weiter verbessert wird.If the first and second control modules relate to respective first and second second access control lists relate the access rights to the can specify corresponding first or second control module the violation of access rights are recorded and resolved, thereby further improving the safety of the process.
Wenn die ersten und zweiten Regelmodule jeweilige erste und zweite Skripte in einer vorbestimmten Auszeichnungssprache umfassen, wird eine einfache Sprache zum Schreiben von Regelmodulen vorgesehen. Daher ist es für einen Administrator leicht zu verstehen, wie Regeln auszudrücken sind und worin die Bedeutung der Regeln besteht, wobei dadurch ein einfacher Mechanismus zum Erweitern der Basisdefinition der Regelsprache mit proprietären Funktionen vorgesehen wird. Ein Beispiel einer derartigen Sprachdefinition ist XML.If the first and second rule modules have respective first and second scripts in a predetermined markup language, a simple language intended for writing rule modules. Therefore is it for An administrator can easily understand how to express rules and where the meaning of the rules is, thereby making a simpler Mechanism for extending the base definition of the rule language with proprietary Functions is provided. An example of such a language definition is XML.
Es ist ein weiterer Vorteil der Erfindung, dass sie ein erweiterbares Rahmenwerk vorsieht, d.h. es ist leicht, Proto kolle, Diensttechnologien und Nachrichteneigenschaften hinzuzufügen, z.B. falls SIP eine neue Methode hinzugefügt wird.It Another advantage of the invention is that it is an extensible one Framework, i. it is easy, protocols, service technologies and add message properties, e.g. if SIP is a new method added becomes.
Es ist ein weiterer Vorteil der Erfindung, dass sie ein skalierbares Rahmenwerk vorsieht, d.h. es ist der gleiche Weg zum Ausdrücken von Regeln in großen ISP-Netzen und kleinen Endbenutzereinrichtungen, z.B. 3G Zellen-Telefonen, möglich.It Another advantage of the invention is that it is a scalable one Framework, i. it's the same way to express Rules in big ISP networks and small end-user devices, e.g. 3G cell phones, possible.
Gemäß einer anderen bevorzugten Ausführungsform der Erfindung umfasst die Nachricht eine erste und zweite Menge von Attributen; die Ausführungsregeln sind in mindestens eine erste und eine zweite Verarbeitungsklasse von Ausführungsregeln gemäß entsprechenden Beschränkungen gruppiert, wobei die zweite Verarbeitungsklasse eingeschränkt ist, nur Attribute der zweiten Menge von Attributen zu modifizieren; und der Schritt zum Verarbeiten der Ausführungsregeln umfasst ferner den Schritt zum Verarbeiten der Ausführungsregeln der ersten Verarbeitungsklasse vor einer Verarbeitung einer jeglichen Ausführungsregel der zweiten Verarbeitungsklasse. Folglich sind die Dienste in Gruppen mit vorbestimmtem Verhalten im Sinne davon unterteilt, welche Teile der Signalisierungsnachrichten sie aktualisieren. Daher können sich die Dienste darauf verlassen, dass die erste Menge von Nachrichtenattributen nach der Ausführung der ersten Verarbeitungsklasse nicht geändert wird. Dies sieht einen weiteren Mechanismus zum Auf splitten der Aufgabe von Merkmalsinteraktionsanalyse in verwaltbare Teilaufgaben vor. Im Folgenden werden die Verarbeitungsklassen auch als Verarbeitungspunkte bezeichnet. Die Mengen von Attributen können Nachrichtenheaderinformation und einen Nachrichtenrumpf umfassen, der den tatsächlichen Sitzungsinhalt umfasst. Die Attribute können ferner in unterschiedliche Typen von Headerinformation gesplittet sein, z.B. Signalisierungsattribute etc.According to one another preferred embodiment According to the invention, the message comprises a first and second set of attributes; the execution rules are in at least a first and a second processing class of execution rules according to appropriate restrictions grouped, with the second processing class being restricted, modify only attributes of the second set of attributes; and the step of processing the execution rules further comprises the step of processing the execution rules of the first processing class before processing any execution rule of the second processing class. Consequently, the services are in groups with predetermined behavior divided in terms of which parts of the signaling messages they update. Therefore, you can the services rely on that the first set of message attributes after the execution the first processing class is not changed. This one sees another mechanism for splitting up the task of feature interaction analysis in manageable subtasks. The following are the processing classes also referred to as processing points. The sets of attributes can Include message header information and a message body, the actual Session content includes. The attributes can also be different Types of header information may be split, e.g. signaling attributes Etc.
Es ist ein weiterer Vorteil der Erfindung, dass sie Mittel zum Spezifizieren vorsieht, wie Anwendungen erlaubt wird zu interagieren.It Another advantage of the invention is that it has means for specifying Provides how applications will be allowed to interact.
Vorzugsweise werden die Verarbeitungsklassen in einer vorbestimmten Reihenfolge für Anfragen und Antworten verarbeitet und auf veranlassende, abschließende und "weitergeleitet durch" Dienste angewendet.Preferably the processing classes are in a predetermined order for inquiries and responses processed and applied to initiating, terminating and "forwarded by" services.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung umfasst die Nachricht eine erste und eine zweite Menge von Attributen; die Ausführungsregeln sind in mindestens eine erste und eine zweite Verarbeitungsklasse von Ausführungsregeln gemäß entsprechenden Beschränkungen gruppiert, wobei die zweite Verarbeitungsklasse beschränkt ist, nur Attribute der zweiten Menge von Attributen zu modifizieren; und das Verfahren umfasst ferner den Schritt zum Wiederholen der Schritte zum Verarbeiten des ersten Regelmoduls und Aufrufen einer Verarbeitung des zweiten Regelmoduls, wobei in jeder Wiederholung die Verarbeitung der ersten und zweiten Regelmodule auf Ausführungsregeln einer entsprechenden Verarbeitungsklasse begrenzt ist, und wobei jede Wiederholung zu einer entsprechenden akkumulativ modifizierten Nachricht führt, die als eine Eingabe für eine nachfolgende Wiederholung verwendet wird. Folglich wird eine Kombination der Unterteilung in Regelmodule mit dem Konzept von Verarbeitungsklassen vorgesehen, wobei dadurch ein fein granuliertes Rahmenwerk zum Unterteilen der Dienste gemäß administrativem Besitz und Einschränkungen, die den Diensten auferlegt sind, vorgesehen wird.According to another preferred embodiment of the invention, the message comprises a first and a second set of attributes; the execution rules are grouped into at least a first and a second processing class of execution rules according to respective constraints, the second processing class being constrained to modify only attributes of the second set of attributes; and the method further comprises the step of repeating the steps of processing the first rule module and invoking processing of the second rule module, wherein in each repetition the processing of the first and second rule modules is limited to execution rules of a corresponding processing class, and wherein each repetition is a corresponding one accumulated modified message leads, which is used as an input for a subsequent repetition. Thus, a combination of subdivision into rule modules is provided with the concept of processing classes, thereby providing a finely granular framework for subdividing the services according to administrative ownership and restrictions imposed on the services.
Wenn die Verarbeitungsklassen getrennt für Ausführungsregeln definiert sind, die durch Anfragen und Antworten des Sitzungsprotokolls getriggert werden, wird die Unterteilung von Diensten in Verarbeitungsklassen ferner gemäß dem Typ einer Nachricht auf gesplittet, wobei dadurch ein feiner granuliertes Splitten vorgesehen wird.If the processing classes are defined separately for execution rules, triggered by requests and responses of the session log will be the subdivision of services into processing classes furthermore according to the type split a message, whereby a fine granulated Splitting is provided.
Gemäß einer bevorzugten Ausführungsform entsprechen die Verarbeitungsklassen vorbestimmten Standorten in einem Rundlaufnachrichtenfluss gemäß dem Sitzungsprotokoll, wobei dadurch die Analyse von Merkmalsinteraktion vereinfacht wird.According to one preferred embodiment the processing classes correspond to predetermined locations in a round trip message flow according to the session protocol, wherein this simplifies the analysis of feature interaction.
Vorzugsweise inkludieren die Verarbeitungsklassen eine erste Verarbeitungsklasse von Ausführungsregeln, die Signalisierungseigenschaften der Nachricht beeinflussen, eine zweite Verarbeitungsklasse von Ausführungsregeln, die einen Nicht-Signalisierungsnachrichtenrumpfinhalt der Nachricht beeinflussen, und eine dritte Verarbeitungsklasse von Ausführungsregeln, die weder die Signalisierungseigenschaften noch den Nicht-Signalisierungsnachrichtenrumpfinhalt der Nachricht beeinflussen. Hier umfasst der Begriff Signalisierungseigenschaften SIP- und SDP-Nachrichteneigenschaften, die in einer Regelmodulbedingung angepasst werden können, um einen Dienst aufzurufen.Preferably the processing classes include a first processing class of execution rules, affect the signaling properties of the message, a second processing class of execution rules containing a non-signaling message body content affect the message, and a third processing class of execution rules, neither the signaling properties nor the non-signaling message body content to influence the message. Here the term includes signaling properties SIP and SDP message properties that are in a rule module condition can be adjusted to call a service.
Wenn eine resultierende modifizierte Nachricht generiert wird, wenn alle Ausführungsregeln der ersten und zweiten Verarbeitungsklassen verarbeitet sind, wird die Effizienz des Verfahrens weiter erhöht, da Antworten zurückgegeben werden können, ohne auf Dienste der dritten Verarbeitungsklasse warten zu müssen.If a resulting modified message is generated if all execution rules the first and second processing classes are processed The efficiency of the process further increases since answers are returned can be without having to wait for services of the third processing class.
Gemäß einer anderen bevorzugten Ausführungsform der Erfindung führt Aufrufen des ersten Dienstes ferner zu einer zweiten modifizierten Nachricht; und das Verfahren umfasst ferner die Schritte zum Verarbeiten nachfolgender Ausführungsregeln mit der ersten modifizierten Nachricht als eine Eingabe; und Verarbeiten nachfolgender Ausführungsregeln mit der zweiten modifizierten Nachricht als eine Eingabe. Da ein Dienst unter schiedliche Ausgaben zurückgeben kann, von denen jede eine Eingabe zu einer Kette von nachfolgenden Diensten ist, kann daher ein Baum von kaskadierten Ketten von Diensten implementiert werden.According to one another preferred embodiment the invention leads Calling the first service further to a second modified one Message; and the method further comprises the steps of processing the following execution rules with the first modified message as an input; and processing subsequent execution rules with the second modified message as an input. There a Service can return under different expenses, each of which is an input to a chain of subsequent services therefore implemented a tree of cascaded chains of services become.
Gemäß noch einer anderen bevorzugten Ausführungsform der Erfindung umfasst das Verfahren ferner die Schritte von
- – Speichern von Information darüber, welche Dienste ausgeführt werden, und Information darüber, in welcher Reihenfolge die Dienste ausgeführt werden;
- – Empfangen von dem ersten Dienst einer Anfrage zum Rückgeben einer Benachrichtigung an den ersten Dienst, falls ein vorbestimmtes Ereignis auftritt;
- – Speichern der Anfrage in Bezug auf die gespeicherte Information; und
- – beim Auftreten des Ereignisses Benachrichtigen des ersten Dienstes gemäß der gespeicherten Information.
- Storing information about which services are executed and information about the order in which the services are executed;
- Receiving from the first service a request to return a notification to the first service if a predetermined event occurs;
- Storing the request with respect to the stored information; and
- Upon the occurrence of the event, notifying the first service according to the stored information.
Daher wird ein effizienter Mechanismus zum Anfordern einer Benachrichtigung über zukünftige Ereignisse durch eine Dienstanwendung vorgesehen, wobei dadurch Überwachen von Anwendungen ermöglicht wird etc.Therefore becomes an efficient mechanism for requesting notification of future events provided by a service application, thereby monitoring of applications Etc.
Wenn die Ausführungsmodule computerlesbare Skripte umfassen und die vorbestimmte Reihenfolge einer Verarbeitung der Ausführungsregeln durch die Reihenfolge von Ausführungsregeln in den Skripten bestimmt wird, wird ein einfacher Mechanismus zum Steuern der Reihenfolge einer Dienstausführung und der Reihenfolge einer Benachrichtigung bezüglich zukünftiger Ereignisse durch einen Administrator eines Regelmoduls vorgesehen.If the execution modules Computer readable scripts include and the predetermined order of a Processing of execution rules by the order of execution rules is determined in the scripts, a simple mechanism for Control the order of a service execution and the order of a Notification regarding future Events provided by an administrator of a rule module.
Vorzugsweise wird die kaskadierte Reihenfolge von Diensten durch die Reihenfolge von Ausführungsregeln innerhalb eines Regelmoduls und die Reihenfolge von Regelmodulen bestimmt.Preferably is the cascaded order of services by the order of execution rules within a rule module and the order of rule modules certainly.
Wenn die Ausführungsregeln angepasst sind, dynamisch aktualisiert zu werden, d.h. während eines Betriebs des Dienstnetzes, wird ein Echtzeitdienstmanagement vorgesehen.If the execution rules are adapted to be dynamically updated, i. during a business the service network, a real-time service management is provided.
Die
Erfindung bezieht sich ferner auf ein Datenverarbeitungssystem,
umfassend ein Dienstausführungsumgebungsmodul,
angepasst, eine Vielzahl von Diensten aufzurufen, getriggert durch
eine Nachricht eines Sitzungsprotokolls, das eine Kommunikationssitzung
steuert;
gekennzeichnet dadurch, dass
das Datenverarbeitungssystem
ferner ein Speichermedium umfasst, angepasst, eine Vielzahl von
Ausführungsregeln
zu speichern, jede von denen eine Bedingung zum Aufrufen eines Dienstes
spezifiziert; und
das Dienstausführungsumgebungsmodul ein Regelantriebsmodul
umfasst, angepasst
- – eine Zahl von Ausführungsregeln abzufragen; und
- – die Ausführungsregeln in einer vorbestimmten Reihenfolge zu verarbeiten, wobei eine erste Ausführungsregel bewirkt, dass ein erster Dienst aufzurufen ist, falls die Nachricht eine erste Bedingung erfüllt, was zu einer ersten modifizierten Nachricht führt; und eine zweite Ausführungsregel, die bewirkt, dass ein zweiter Dienst mit der ersten modifizierten Nachricht als eine Eingabe aufzurufen ist, falls die erste modifizierte Nachricht eine zweite Bedingung erfüllt.
characterized in that
the data processing system further comprises a storage medium adapted to store a plurality of execution rules, each of which specifies a condition for invoking a service; and
the service execution environment module includes a rule engine module
- - to query a number of execution rules; and
- To process the execution rules in a predetermined order, wherein a first execution rule causes a first service to be invoked if the message satisfies a first condition, resulting in a first modified message; and a second execution rule that causes a second service to be invoked with the first modified message as an input if the first modified message satisfies a second condition.
Die
Erfindung bezieht sich ferner, in einem Datenverarbeitungssystem,
auf ein Dienstausführungsumgebungsmodul,
angepasst, eine Vielzahl von Diensten aufzurufen, getriggert durch
eine Nachricht eines Sitzungsprotokolls, das eine Kommunikationssitzung
steuert;
gekennzeichnet dadurch, dass
das Dienstausführungsumgebungsmodul
ein Regelantriebsmodul umfasst, angepasst
- – eine Zahl von Ausführungsregeln abzufragen, von denen jede eine Bedingung zum Aufrufen eines Dienstes spezifiziert;
- – die Ausführungsregeln in einer vorbestimmten Reihenfolge zu verarbeiten, wobei eine erste Ausführungsregel bewirkt, dass ein erster Dienst aufzurufen ist, falls die Nachricht eine erste Bedingung erfüllt, was zu einer ersten modifizierten Nachricht führt; und eine zweite Ausführungsregel bewirkt, dass ein zweiter Dienst mit der ersten modifizierten Nachricht als eine Eingabe aufzurufen ist, falls die erste modifizierte Nachricht eine zweite Bedingung erfüllt.
characterized in that
the service execution environment module includes a rule engine module
- To query a number of execution rules, each of which specifies a condition for calling a service;
- To process the execution rules in a predetermined order, wherein a first execution rule causes a first service to be invoked if the message satisfies a first condition, resulting in a first modified message; and a second execution rule causes a second service to be invoked with the first modified message as an input if the first modified message satisfies a second condition.
Die Erfindung bezieht sich ferner auf ein Softwareprogramm, umfassend Codemittel, angepasst, wenn in einem Datenverarbeitungssystem ausgeführt, die Schritte des oben beschriebenen Verfahrens und in dem folgenden durchzuführen.The The invention further relates to a software program comprising Code means, adapted when executed in a data processing system, the Steps of the method described above and in the following perform.
Das Softwareprogramm kann auf einem computerlesbaren Medium verkörpert sein. Der Begriff computerlesbares Medium kann inkludieren ein magnetisches Band, eine optische Platte, eine digitale Videoplatte (DVD), eine Kompaktdisk (CD oder CD- ROM), eine Minidisk, eine Festplatte, eine Diskette, einen ferro-elektrischen Speicher, einen elektrisch löschbaren programmierbaren Nur-Lesespeicher (EEPROM), einen Flash-Speicher, einen EPROM, einen Nur-Lesespeicher (ROM), einen statischen Speicher mit wahlfreiem Zugriff (SRAM), einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM), einen synchronen dynamischen Speicher mit wahlfreiem Zugriff (SDRAM), einen ferromagnetischen Speicher, einen optischen Speicher, ladungsgekoppelte Einrichtungen, Smart-Karten, eine PCMCIA-Karte etc.The Software program may be embodied on a computer readable medium. The term computer-readable medium can include a magnetic one Tape, an optical disk, a digital video disk (DVD), a Compact disc (CD or CD-ROM), a mini disk, a hard disk, a floppy disk, a ferro-electric Memory, an electrically erasable programmable read-only memory (EEPROM), a flash memory, an EPROM, a read-only memory (ROM), a static memory Random Access Memory (SRAM), a dynamic random access memory Access (DRAM), a synchronous dynamic random access memory Access (SDRAM), a ferromagnetic memory, an optical Memory, charge-coupled devices, smart cards, a PCMCIA card, etc.
Die Erfindung bezieht sich ferner auf ein Verfahren zum Managen der Aufstellung eines Dienstes in einem Dienstnetz, wobei das Verfahren die Schritte umfasst zum
- – Spezifizieren in einem computerlesbaren Skript einer Zahl von Privilegien und Rechten, die dem Dienst während einer Operation zu gewähren sind;
- – Analysieren von potenziellen Ursachen von Merkmalsinteraktion;
- – Spezifizieren einer Aufstellungsstrategie für den Dienst als eine Menge von Ausführungsregeln, die als ein computerlesbares Regelmodulskript gespeichert werden.
- Specifying, in a computer readable script, a number of privileges and rights to be granted to the service during an operation;
- - Analyze potential causes of feature interaction;
- Specifying a deployment strategy for the service as a set of execution rules stored as a computer-readable rule module script.
Die Erfindung bezieht sich ferner auf einen Datensatz, umfassend ein Regelmodul zur Verwendung in dem oben beschriebenen Verfahren und in dem folgenden.The The invention further relates to a data set comprising Control module for use in the method described above and in the following.
Diese und andere Aspekte der Erfindung werden offensichtlich aus den und erklärt mit Bezug auf die Ausführungsformen und mit Bezug auf die Zeichnungen, in denen:These and other aspects of the invention will become apparent from FIGS explained with reference to the embodiments and with reference to the drawings, in which:
Kommunikationsnachrichten,
die zwischen den Benutzeragenten gesendet werden, werden durch den Zwischenserver
Es gibt eine Notwendigkeit für Flexibilität von Dienstdefinition, da die Funktionalität des SIP-Servers nicht im voraus definiert werden sollte. Insbesondere können Dienste kontinuierlich von einem Bereich von Quellen, inkludierend Dienstanbieter und Teilnehmer, hochgeladen/registriert werden.It there is a need for flexibility of service definition, since the functionality of the SIP server is not in the should be defined in advance. In particular, services can be continuous from a range of sources, including service providers and subscribers, uploaded / registered.
Der Besitzer des SIP-Servers kann zur gleichen Zeit der SIP-Dienstanbieter, Administrator und Abonnementanbieter sein. Diese Interessengruppe wird als ein Netzbetreiber bezeichnet; es kann eine Art von Telco oder ISP sein. Der Netzbetreiber kann den Domänennamen des SIP-Servers besitzen und Dienstanbietern einer dritten Seite Dienstmerkmale bereitstellen. Der Netzbetreiber installiert Dienstanwendungen und Regelmodule auf dem SIP-Server und bietet Teilnehmern Dienste an. In diesem Fall agiert der Netzbetreiber als ein Dienstanbieter und Dienstadministrator. Ein Teilnehmer hat eine vertragliche Beziehung mit dem Netzbetreiber, um ein Abonnement zu haben und um die Teilnehmerdienste zu empfangen, die durch den SIP-Server angeboten werden. Der Teilnehmer kann einen Dienst haben, der dem Teilnehmer erlaubt, Dienstanwendungen und Regelmodule zu dem SIP-Server hochzuladen. Der Teilnehmer besitzt diese Dienste für einen privaten Gebrauch, d.h. personalisierte Dienste. Zur Einfachheit werden alle Seiten mit Ausnahme des (der) Netzbetreiber(s) und der Teilnehmer als Dienstanbieter einer dritten Seite bezeichnet, die eine vertragliche Beziehung mit dem Netzbetreiber haben.Of the Owner of the SIP server can at the same time the SIP service provider, administrator and subscription providers. This interest group is called a Network operator; it can be a type of Telco or ISP. The network operator can change the domain name of the SIP server and third-party service providers Provide service features. The network operator installs service applications and rule modules on the SIP server and offers subscribers services at. In this case, the network operator acts as a service provider and service administrator. A participant has a contractual relationship with the network operator to have a subscription and to the subscriber services to receive that offered by the SIP server become. The subscriber may have a service that is available to the subscriber allows to upload service applications and rule modules to the SIP server. The participant owns these services for private use, i.e. personalized services. Simplicity becomes all sides with the exception of the network operator (s) and the subscriber as service provider a third page designates a contractual relationship with the network operator.
Netzserverbesitzer, Netzserveranbieter, Netzserveradministratoren, Dienstanbieter einer dritten Seite und Teilnehmer betrachten die Zwischen-SIP-Server als eine potenzielle Plattform zum Aufstellen von Diensten, die aus dem einen oder anderen Grund nicht in Endpunktbenutzeragenten aufgestellt werden können oder sollten.Network server owners Network server providers, network server administrators, service providers of one third party and participants look at the intermediate SIP server as a potential platform for setting up services that for one reason or another, not in endpoint user agents can be set up or should.
Es gibt einen Bereich von standardisierten Protokollen (z.B. SIP, SDP, SOAP), Sprachen (z.B. CPL) und Schnittstellen (z.B. SIP-CGI, 3GPP OSA API), die unterschiedliche Aspekte einer Dienststeuerung handhaben. Auch ist es wahrscheinlich, dass Dienste ihre Steuerung über mehrere Protokolle, Netzkomponenten, Sprachen und Schnittstellen anwenden. Der SIP-Server sollte erweiterbar sein, um alle diese Aspekte wie erforderlich zu unterstützen. Diese Dienstanwendungen können sich im Besitz unterschiedlicher Seiten befinden, die unterschiedliche Autorisierungsstufen und unterschiedliche vertragliche Beziehungen mit dem Besitzer des SIP-Servers haben. Die Dienstanwendungen können der Vorgabeverarbeitung von SIP-Anfragen und Antworten in unterschiedlichen spezifizierten Ruf-/Sitzungsverarbeitungspunkten, unter unterschiedlichen Bedingungen etc. einen Wert hinzufügen (sind aber nicht darauf begrenzt, dies zu tun).It gives a range of standardized protocols (e.g., SIP, SDP, SOAP), languages (e.g., CPL), and interfaces (e.g., SIP-CGI, 3GPP OSA API) that handle different aspects of service control. Also, it is likely that services have their control over several Use protocols, network components, languages and interfaces. The SIP server should be extensible to all these aspects like required to assist. These service applications can owned by different sites that have different Authorization levels and different contractual relationships with the owner of the SIP server. The service applications can use the Default processing of SIP requests and responses in different specified call / session processing points, under different conditions, etc. add a value (are but not limited to doing so).
Das
folgende Beispiel veranschaulicht, dass es wahrscheinlich ist, dass
mehrere Dienste basierend auf einem SIP-Ereignis aufgerufen werden
können.
Es wird ein Beispiel betrachtet, wo ein Teilnehmer, sagen wir Bob,
ein SIP-Abonnement mit irgendeinem SIP-Anbieter, sagen wir Telco,
hat. Bob hat einen Bereich von Diensten, die der in dem Netz platzieren
möchte.
Dienste, wie endgeräteunabhängige Dienste
oder Dienste, die zu welchem auch immer Endgerät maßgeschneidert werden, welches
Bob gegenwärtig
verwendet. Es kann auch Dienste geben, die Bob mit Sicherheit, Privatsphäre und Zuverlässigkeit
versehen. Auch wünscht Bob
nicht, seine eigenen Dienste zu managen. Es wird ferner angenommen,
dass Bob in einer Firma arbeitet, sagen wir Corp. Die Dienste, die
aufgerufen werden, um eine eingehende EINLADEN-Nachricht an Bob
zu managen, können
wie folgt aussehen:
Die Telco kann den SIP-Server besitzen
und administrieren. Die Telco stellt auch Teilnehmern SIP-Dienste
bereit und un terhält
Dienste dritter Seiten. Die Telco erkennt, dass Bob ein Teilnehmer
in einem eingehenden EINLADEN ist. Der erste Dienst ist eine Telco-Rufsperranwendung
um zu prüfen,
ob Bob seine letzte Rechnung bezahlt hat. Der zweite Dienst ist
ein Dienst, der durch die Telco bereitgestellt wird. Er prüft einfach,
dass die Medien-Codecs des Anrufers durch Bob's gegenwärtigen Standort/Endgerät gehandhabt
werden können. Falls
nicht, wird die Anwendung einen Medienstromkonverter in den Medienstromfluss
anfordern (unter Verwendung einer Rufsteuerung einer dritten Seite).
Diese Konvertierung ist für
Bob transparent, und die Anwendung wird Antworten von Bob überwachen
und die Sitzungsbeschreibungen je nach Notwendigkeit aktualisieren.
Der dritte Dienst sind Bob's
eigene Präferenzen
für Angerufene,
z.B. ein CPL-Skript. Diese Anwendung überwacht Antworten auf die
bevollmächtigte
Anfrage und leitet basierend darauf möglicherweise das EINLADEN zu
mehreren Zielen weiter. Sagen wir, das EINLADEN ist zu Bob's gegenwärtigen privaten
SIP URL. Bei "keine
Antwort" wird das
EINLADEN stellvertretend zu seiner Frau Alice gegeben. In einigen
Fällen
wünscht Bob,
dass alle privaten Anrufe zu seinem Firmen-SIP-URL umgelenkt werden. Der vierte
Dienst ist auch ein Telco-Dienst, wird aber zu der Telco von einem
Anwendungsdienstanbieter einer dritten Seite bereitgestellt, sagen
wir besafe.com. Dieser Dienst prüft
Nachrichtenrumpfinhalttypen und stellt eine Virusprüfung bereit, wenn
benötigt,
z.B. falls eine animierte vCard inkludiert ist. Der fünfte Dienst
ist ein ISP-Dienst, der die Multimediawerbung des Angerufenen im
Gegenzug zu einer Erstattung der Abrechnung der Telco anbietet.
Falls die Sitzung hergestellt wird, und falls es eine Videokonferenzsitzung
ist, empfängt
Bob einen kleinen fließenden
Balken von Information unten in dem Videobild. Dieser Dienst ist
eine Überwachungsanwendung
und verwendet eine Rufsteuerung einer dritten Seite. Der ISP hat
ein Konto auf dem SIP-Server der Telco und kann Dienste der Teilnehmerbasis,
die im Besitz durch die Telco ist, direkt anbieten. Bob hat diesen
Dienst direkt bei dem ISP abonniert, ohne Einbeziehung der Telco.
Der sechste Dienst ist ein Dienst, der durch die Firma gemanagt
wird, wo Bob arbeitet. Falls der Ruf direkt zu Bob's gegenwärtigem Firmen-SIP-URL
ist, wird der Ruf dann zu Bob weitergeleitet, basierend auf Daten,
die nur innerhalb des privaten LAN-Netzes der Corp bekannt sind.
Der letzte und siebte Dienst dient administrativen Zwecken, da die
Telco irgendeine Protokollierung durchführen wollen kann.The following example demonstrates that it is likely that multiple services can be called based on a SIP event. Consider an example where a subscriber, say Bob, has a SIP subscription with some SIP provider, say Telco. Bob has a range of services that the user wants to place on the network. Services, such as terminal-independent services or services tailored to whatever terminal Bob is currently using. There may also be services that provide Bob with security, privacy and reliability. Also, Bob does not want to manage his own services. It is also assumed that Bob works in a company, say Corp. The services that are called to manage an incoming INVITE message to Bob can look like this:
Telco can own and administer the SIP server. Telco also provides subscribers with SIP services and third-party services. The Telco recognizes that Bob is a participant in an incoming INVITE. The first service is a Telco call barring application to check if Bob paid his last bill. The second service is a service provided by the Telco. He simply checks that the caller's media codecs can be handled by Bob's current location / terminal. If not, the application will request a media stream converter into the media stream flow (using third page call control). This conversion is transparent to Bob, and the application will monitor Bob's responses and update the session descriptions as necessary. The third service is Bob's own preferences for called parties, eg a CPL script. This application monitors responses to the authorized request and, based on this, may pass the INVITE to multiple destinations. Say, the INVITE is to Bob's current private SIP URL. at "no answer" is given to the INVITE acting on behalf of his wife Alice. In some cases, Bob wants all private calls redirected to his company SIP URL. The fourth service is also a Telco service, but is provided to the Telco by a 3rd party application service provider, say besafe.com. This service checks message body content types and provides a virus scan if needed, eg if an animated vCard is included. The fifth service is an ISP service that offers the called party's multimedia advertising in return for a refund of the Telco billing. If the session is established, and if it is a videoconference session, Bob receives a small flowing bar of information at the bottom of the video image. This service is a monitoring application and uses third-party call control. The ISP has an account on Telco's SIP server and can directly offer services of the subscriber base owned by Telco. Bob subscribed to this service directly with the ISP, without the involvement of Telco. The sixth service is a service managed by the company where Bob works. If the call is directly to Bob's current corporate SIP URL, the call is then forwarded to Bob based on data known only within the Corp's private LAN network. The last and seventh service is for administrative purposes, as Telco may want to do some logging.
Das obige Beispiel veranschaulicht die Vielfalt von vertraglichen Beziehungen, die mit den unterschiedlichen Diensten in Verbindung stehen, die durch ein Ereignis getriggert werden. Die Dienste können sich im Besitz unterschiedlicher Interessengruppen befinden und können unter Verwendung unterschiedlicher Technologien implementiert sein.The above example illustrates the variety of contractual relationships, that are related to the different services that be triggered by an event. The services can be in the Possession of different interest groups are and can be under Be implemented using different technologies.
Unterschiedliche
Dienste, die in einem Dienstnetz aufgestellt sind, können miteinander
interagieren. Diese Interaktionen können zwischen Diensten, die
sich auf einen einzelnen Benutzer, mehrere Benutzer beziehen, oder
zwischen Kundendiensten und Systemdiensten auftreten. Die Interaktion
kann ferner zwischen Diensten, die in der gleichen Netzkomponente
oder in einer anderen Netzkomponente laufen, auftreten. In
Es
gibt viele Ursachen für
Merkmalsinteraktion, inkludierend "Verletzung von Merkmalsprivilegien" und "Verletzung von Merkmalsannahmen":
Verletzung
von Merkmalsprivilegien: Privilegien von Merkmalen werden gebrochen,
falls Merkmale redundant oder durch nicht-autorisierte Seiten aufgerufen werden.
Das Hauptproblem, das durch Verletzen von Merkmalsprivilegien verursacht
wird, ist redundanter Verbrauch von Ressourcen oder nicht-autorisierter
Zugriff zu Ressourcen. Dies kann im Wesen unbeabsichtigt oder böswillig
sein. Wenn eine Verletzung von Merkmalsprivilegien auftritt, dann
gibt es einen Kampf zwischen Merkmalen, autorisierten oder nicht-autorisierten,
um Zugriff auf die Ressourcen. Falls Merkmale redundant oder durch
nicht-autorisierte Seiten aufgerufen werden, können sie anschließend die
Ursache einer Verletzung von Merkmalsannahmen sein. Es ist klar,
dass Vermeidung von Verletzung von Merkmalsprivilegien wünschenswert
ist.There are many causes for feature interaction, including "violation of feature privileges" and "violation of feature assumptions":
Feature Privilege Violation: Privileges of features are broken if features are called redundantly or through unauthorized pages. The main problem caused by violating feature privileges is redundant consumption of resources or unauthorized access to resources. This may in essence be unintentional or malicious. If a violation of feature privileges occurs, then there is a struggle between features, authorized or unauthorized, for access to the resources. If features are called redundantly or through unauthorized pages, they can subsequently be the cause of feature property violation. It is clear that avoidance of violation of feature privileges is desirable.
Wie nachstehend beschrieben wird, werden gemäß der Erfindung Verletzungen von Merkmalsprivilegien durch Filtern im Kontext, in vertraglichen Beziehungen, in Bedingungen, in Zugriffssteuerlisten, Privilegien und Rechten aufgelöst.As will be described below, according to the invention injuries of feature privileges by filtering in context, in contractual Relationships, in conditions, in access control lists, privileges and Right dissolved.
Filtern im Kontext bezieht sich auf die Notwendigkeit zum Interpretieren eines Ereignisses in einem gewissen Kontext. Dieses Muss wird offensichtlich, wenn vernetzte Multimediadienste gemanagt werden, die in einem konvergierten Netz arbeiten.Filter in context refers to the need for interpretation an event in a certain context. This must becomes obvious when networked multimedia services are managed that converged in one Network work.
Filtern in vertraglichen Beziehungen bezieht sich auf die Notwendigkeit zum Abbilden eines Ereignisses auf eine Menge von Merkmalen, die vertraglich verbunden sind, um dieses Ereignis zu verarbeiten. Dieser Problemkreis ist insbesondere auf einem deregulierten Markt wichtig, wo nicht nur der Anbieter der Netzinfrastruktur und von Sitzungssteuerdiensten Teilnehmern Mehrwertdienste anbieten kann, sondern wo ebenso dritte Seiten ein legales Recht haben, dieses Angebot durchzuführen.Filter in contractual relations refers to the need to map an event to a set of features that contracted to handle this event. This problem area is particularly important in a deregulated market, where not only the provider of network infrastructure and session control services Offer value added services to subscribers, but where also third Pages have a legal right to make this offer.
Filtern in Zugriffssteuerrichtlinien stellt sicher, dass ein Ereignis nur autorisiertes Verhalten in dem Knoten verursacht.Filter in access control policies ensures that an event only causes authorized behavior in the node.
Filtern in Bedingungen stellt sicher, dass ein Merkmal nicht redundant aufgerufen wird, wenn ein Ereignis auftritt, und Merkmale, die auf zurufen sind, basierend auf dem Kontext, auf vertraglichen Beziehungen und Zugriffsprivilegien erfasst werden. Diese Bedingungen können z.B. von den Eigenschaften des Ereignisses, Systemeigenschaften oder Netzeigenschaften abhängen.Filtering in conditions ensures that a feature is not called redundantly when an Er event, and features to be retrieved based on the context, on contractual relationships and access privileges. These conditions may depend, for example, on the properties of the event, system properties or network properties.
Verletzung von Merkmalsannahmen: Annahmen über Merkmalsverhalten werden gebrochen, falls der Kontext eines Merkmals durch ein anderes Merkmal auf eine derartige Weise geändert wird, dass das Merkmal nicht wie beabsichtigt arbeiten kann. Eine Verletzung von Merkmalsannahmen kann mehrdeutiges oder Konfliktverhalten verursachen.injury of feature assumptions: assumptions about Feature behaviors are broken if the context of a feature changed by another feature in such a way that the feature can not work as intended. An injury feature assumptions can cause ambiguous or conflicting behavior.
Merkmale sind das sichtbare Verhalten einer Ausführung einer Dienstanwendung. Eine Instruktion, die durch die Dienstanwendungsausgaben erteilt wird, um das Mehrwertverhalten des SIP-Knotens zu steuern, wird eine Merkmalsinstruktion genannt. Viele Merkmale können jedoch ihr Verhalten auf eine Nachricht anwenden, bevor die steuernde Instruktion zurück zu dem SIP-Knoten gesendet wird. Die steuernde Instruktion oder Instruktionsmenge, die zurück zu dem SIP-Knoten gesendet wird, wird eine Dienststeuerinstruktion genannt. Sie enthält einen resultierenden Ereigniskontext, d.h. die Eigenschaften einer SIP-Nachricht, die als Reaktion auf den ursprünglichen Ereigniskontext stromaufwärts oder stromabwärts zu senden ist, der die Dienstanwendungen getriggert hat. Mehrdeutiges Verhalten tritt auf, wenn die Dienststeuerinstruktion abhängig von der Sequenz, in der die Merkmale Steuerung über den aktuellen Ereigniskontext erlangen, unterschiedlich ist. Mehrdeutige Instruktionen sind nicht notwendigerweise gegenseitig ausschließend.characteristics are the visible behavior of a service application execution. An instruction issued by the service application issues to control the value-added behavior of the SIP node becomes a feature instruction called. Many features can however, apply their behavior to a message before the controlling one Instruction back to the SIP node is sent. The controlling instruction or instruction set, the back to the SIP node is sent, becomes a service control instruction called. It contains a resulting event context, i. the properties of a SIP message that is upstream or in response to the original event context downstream to be sent, which has triggered the service applications. ambiguous Behavior occurs if the service control instruction depends on the sequence in which the features control over the current event context gain, is different. Ambiguous instructions are not necessarily mutually exclusive.
Als ein Beispiel enthalte ein SIP-Nachrichtenrumpf ein Farbbild im GIF-Format. S1 wird definiert, eine Dienstanwendung zu sein, die in einem Nachrichtenrumpfinhalt vom GIF-Format getriggert wird. S1 sei eine Dienstanwendung, die das GIF-Format in ein JPG-Format konvertiert. Des weiteren wird S2 definiert, eine Dienstanwendung zu sein, die auch in einem Nachrichtenrumpfinhalt vom GIF-Format getriggert wird. S2 sei eine Dienstanwendung, die das GIF-Bild in ein Schwarzweißbild konvertiert.When an example contains a SIP message body a color image in GIF format. S1 is defined to be a service application that resides in a message body content triggered by the GIF format. S1 is a service application that the GIF format in converted a JPG format. Further, S2 is defined, a service application which is also in a news content content from GIF format is triggered. Let S2 be a service application containing the GIF image in a black and white picture converted.
S1 sei die erste Anwendung, die aufzurufen ist, getriggert durch den GIF-Inhalt. S1 wird das GIF-Bild zu einem JPG-Bild konvertieren und es zu dem aktuellen Ereignisinhalt schreiben. S2 wird niemals aufgerufen. Der resultierende Ereignisinhalt wird ein JPG-Farbbild enthalten.S1 be the first application to call, triggered by the GIF content. S1 will convert the GIF image to a JPG image and write it to the current event content. S2 never becomes called. The resulting event content becomes a JPG color image contain.
Nun sei S2 die erste aufzurufende Anwendung, getriggert durch den GIF-Inhalt. S2 wird das GIF-Farbbild in ein Schwarzweißbild konvertieren und es zu dem aktuellen Ereigniskontext schreiben. S1 wird anschließend basierend auf dem GIF-Inhalt aufgerufen, wie durch den aktuellen Ereigniskontext spezifiziert. S1 wird das GIF-Bild zu einem JPG-Bild konvertieren und es zu dem aktuellen Ereigniskontext schreiben. Der resultierende Ereigniskontext wird ein JPG-Schwarzweißbild enthalten.Now Let S2 be the first application to call, triggered by the GIF content. S2 will convert the GIF color image to a black and white image and add it to it write to the current event context. S1 is subsequently based called on the GIF content, as by the current event context specified. S1 will convert the GIF image to a JPG image and write it to the current event context. The resulting Event context will contain a JPG black and white image.
S1 und S2 weisen klar mehrdeutiges Verhalten auf, da der Kontext eines Merkmals durch das andere geändert wird.S1 and S2 clearly show ambiguous behavior, since the context of a Feature changed by the other becomes.
In Konflikt stehende Merkmalsinstruktion sind Instruktionen, die sich gegenseitig ausschließen. In Konflikt stehende Instruktionen werden versuchen, einander zu überschreiben. In diesem Fall sind in Konflikt stehende Instruktionen typischerweise auch die Ursache von mehrdeutigem Verhalten.In Conflicting feature instructions are instructions that arise exclude each other. Conflicting instructions will try to overwrite each other. In this case, conflicting instructions are typically also the cause of ambiguous behavior.
Des weiteren sind alle Merkmalsinstruktionen potenzielle nicht-autorisierte Instruktionsmengen, es sei denn, sie sind explizit autorisiert. Nicht-autorisierte Merkmalsinstruktionen können ein böswilliges Wesen aufweisen oder das Ergebnis einer fehlerhaften Dienstanwendung sein. In jedem Fall können sie die Sicherheit und Integrität des Systems beschädigen und sollten erfasst werden.Of Further, all feature instructions are potential unauthorized ones Instruction sets, unless they are explicitly authorized. Unauthorized feature instructions may or may not be malicious the result of a bad service application. In any case can you the security and integrity damage the system and should be recorded.
Überwachende Dienstanwendungen können zusätzliche Probleme zu jenen bereits erörterten verursachen. Überwachende Dienstanwendungen können jederzeit asynchrone Merkmalsinstruktionen zu dem SIP-Knoten erteilen, da sie kontinuierlich laufen. Da sie zukünftige Ereignisse überwachen, können sie in diesen Ereignissen ausgeführt werden und mehr Merkmalsinstruktionen vorsehen. Falls es mehrere gleichzeitige überwachende Dienstanwendungen gibt, können ihre generierten Merkmalsinstruktionen von der Reihenfolge abhängen, in der sie über das Ereignis benachrichtigt werden. Dies trägt zur Komplexität der zuvor erörterten Probleme bei.Watching Service applications can additional Problems to those already discussed cause. Watching Service applications can at any time grant asynchronous feature instructions to the SIP node, because they run continuously. As they monitor future events, can they executed in these events and provide more feature instructions. If there are several simultaneous monitoring Service applications their generated feature instructions depend on the order in she over the event will be notified. This contributes to the complexity of the previously discussed problems at.
Die Erfassung und Auflösung von Verletzungen von Merkmalsannahmen ist viel komplizierter als die Auflösung von Verletzungen von Merkmalsprivilegien. Wie nachstehend beschrieben wird, werden gemäß der Erfindung vorgesehen Mittel um zu spezifizieren, wie mehrdeutiges Verhalten aufzulösen ist, Mittel, um das Merkmalsinteraktionsmanagement in unabhängige Merkmalsgruppen und Administrationsdomänen zu unterteilen, und eine einfache Vorgaberegel, um Merkmalsinteraktionsinterferenz aufzulösen, die zur Laufzeit erfasst wird. Verletzun gen von Merkmalsannahmen werden durch Merkmalsordnung basierend auf dem kaskadierten Kettenprinzip und Bedingungstriggerung, und Merkmalseigenschaften basierend auf dem Sperr-/Freigabemechanismus aufgelöst. Dies wird nachstehend detaillierter beschrieben.The detection and resolution of feature acceptance violations is much more complicated than the resolution of feature privilege violations. As will be described below, in accordance with the invention, means are provided for specifying how to resolve ambiguous behavior, means for subordinating feature interaction management to independent feature sets and administration domains and a simple default rule to resolve feature interaction interference that is detected at run time. Violations of feature assumptions are resolved by feature ordering based on the cascaded chain principle and condition triggering, and feature properties based on the lock / unlock mechanism. This will be described in more detail below.
Andere Ursachen von Merkmalsinteraktion inkludieren Begrenzungen von Netzunterstützung, z.B. begrenzte Protokollfunktionalität oder begrenzte Benutzerschnittstellen, in verteilten Systemen innewohnende Probleme, wie etwa Ressourcenwettstreit, Merkmalskoordination, Zeiteinstellung oder nichtatomare Operationen, Verletzung von Systemsicherheit, betrügerische, manipulierte oder abgehörte Nachrichten, nicht-kooperative Interaktionen durch Merkmale mit in Konflikt stehenden Interessen etc.Other Causes of feature interaction include limitations of network support, e.g. limited protocol functionality or limited user interfaces, inherent problems in distributed systems, such as resource competition, feature coordination, timing or non-atomic operations, violation of system security, fraudulent, manipulated or eavesdropped News, having non-cooperative interactions with features conflicting interests etc.
Im allgemeinen können drei unterschiedliche Typen von Lösungen für Merkmalsinteraktionsprobleme unterschieden werden: Infrastruktur: Die Entwicklung von Infrastrukturen für die Aufstellung von Merkmalen, die Merkmalsinteraktionsmanagement integrieren, d.h. die die Ursachen von einigen definierten Merkmalsinteraktionen behandeln. Merkmalsinteraktionen werden sowohl vor (Spezifikation) als auch nach (Durchsetzung) der Merkmalsaufstellungszeit gemanagt, d.h. während Spezifikation oder durch Durchsetzung von regelbasierten Richtlinien etc. Gemäß der Erfindung bilden die Regelmodulskripte eine Infrastruktur zum Aufstellen von Merkmalen, die ein Rahmenwerk für ein Merkmalsinteraktionsmanagement vorsieht.in the general can distinguished three different types of feature interaction problem solutions Infrastructure: The development of infrastructures for deployment of features that integrate feature interaction management, i. which discuss the causes of some defined feature interactions. Feature interactions are presented both before (specification) and after (enforcing) the feature-up time, i. while Specification or enforcement of rule-based policies etc. According to the invention The rule module scripts form an infrastructure for setting up Features that are a framework for provides a feature interaction management.
Diensterstellung: Die Gestaltung von Merkmalen in Bezug auf Ursachen von Merkmalsinteraktionen, d.h. die Erfassung von Merkmalsinteraktionen während der Gestaltungsphase. Diese Merkmalsinteraktionen können vor Merkmalsaufstellung gemanagt werden, z.B. über Deutlichkeit, Merkmalsinteraktionsursachen analyse, Verifizierungstest etc. Gemäß der Erfindung werden der Diensterstellung und Merkmalsaufstellungsstrategiespezifikation Anforderungen auferlegt.Service creation: The design of features related to causes of feature interactions, i. the capture of feature interactions during the design phase. These feature interactions can be managed prior to feature mapping, e.g. about clarity, feature interaction causes analysis, Verification test, etc. According to the invention be the service creation and feature deployment strategy specification Imposed requirements.
Laufzeit: Die Auflösung von Merkmalsinteraktionen, wie sie auftreten. Da nicht alle Merkmalsinteraktionen vor einer Merkmalsaufstellung identifiziert werden können, müssen sie zur Laufzeit erfasst werden, z.B. durch kryptografische Authentifizierung, Autorisierung und Geheimhaltung, regelbasierte Richtlinien, Auflösungsalgorithmen, AI-Verhandlung etc. Gemäß der Erfindung werden einfache Regeln dafür vorgesehen, wie Merkmalsinteraktionen aufgelöst werden, die zur Laufzeit erfasst werden. Diese Regeln inkludieren die Überprüfung von Zugriffssteuerlisten, die mit Regelmodulen in Verbindung stehen, die Auflösung von Zugriffsverletzungen durch Alarmbenachrichtigung und Außerbetriebnahme von verletzenden Regelmodulen, die Überprüfung von Skripten, die Privilegien und Rechte spezifizieren, und die Auflösung von Verletzungen von Privilegien und Rechten durch Alarmbenachrichtigung und Außerbetriebnahme von verletzenden Merkmalen.Running time: The resolution feature interactions as they occur. Because not all feature interactions before a feature map can be identified, they must be detected at run time, e.g. through cryptographic authentication, Authorization and secrecy, rule-based policies, resolution algorithms, AI negotiation etc. According to the invention become simple rules for that It provides how feature interactions are resolved at run time be recorded. These rules include checking access control lists, which are related to rule modules, the resolution of Access violations due to alarm notification and decommissioning of offending rule modules, the scrutiny of scripts, the privileges and specify rights, and the resolution of violations of privileges and rights by alarm notification and decommissioning of infringing Features.
Der allgemeine Managementprozess gemäß der Erfindung inkludiert die folgenden Schritte:
- 1. Merkmalsgestaltungsspezifikation, unabhängig von anderen Merkmalen: Ein Dienst wird ohne Betrachtung von Interaktionen mit anderen Merkmalen gestaltet und spezifiziert. Gemäß einer Ausführungsform der Erfindung wird der Dienst jedoch in Hinsicht auf das nachstehend beschriebene Verarbeitungspunktemodell gestaltet.
- 2. Vertragsverhandlung Die Seite, die wünscht, einen Dienst in dem Dienstnetz aufzustellen, verhandelt mit dem Administrator des Dienstnetzes, welche Privilegien und Rechte dem Dienst gewährt werden können. Gemäß einer Ausführungsform der Erfindung wird ein Privilegien- und Rechteskript, das mit dem Dienst in Verbindung steht, erstellt.
- 3. Merkmalsinteraktionsanalyse: Die möglichen Merkmalsinteraktionen werden basierend auf Erfahrung und möglicherweise Kenntnis über einige der Merkmale, die in dem Dienstnetz aufgestellt sind, untersucht.
- 4. Merkmalsaufstellungsstrategiespezifikation: Der Autor eines Regelmoduls, der den Dienst aufstellen muss, erlangt eine administrative Domäne. Basierend auf der Merkmalsinteraktionsanalyse und Kenntnis über den Dienst, Teilnehmer und Benutzer wird die Merkmalsaufstellungsstrategie in einem Regelmodulskript spezifiziert.
- 5. Merkmalsimplementierung.
- 6. Verifizierungstest.
- 7. Merkmalsinstallation und Aktivierung.
- 8. Merkmalslaufzeitverhalten und Management.
- 9. Merkmalsdeaktivierung und Deinstallation.
- 1. Feature design specification, independent of other features: A service is designed and specified without consideration of interactions with other features. However, according to one embodiment of the invention, the service is designed with respect to the processing point model described below.
- 2. Contract Negotiation The party wishing to establish a service in the service network negotiates with the administrator of the service network what privileges and rights the service can be granted. According to one embodiment of the invention, a privilege and rights script associated with the service is created.
- 3. Feature Interaction Analysis: The possible feature interactions are examined based on experience and possibly knowledge of some of the features set up in the service network.
- 4. Feature Population Strategy Specification: The author of a rule module who must set up the service gains an administrative domain. Based on the feature interaction analysis and knowledge of the service, subscribers, and users, the feature deployment strategy is specified in a rule module script.
- 5. Feature implementation.
- 6. Verification test.
- 7. Feature installation and activation.
- 8. Feature Runtime Behavior and Management.
- 9. Feature deactivation and deinstallation.
Gemäß der Erfindung wird ein Rahmenwerk für Merkmalsinteraktionsmanagement vorgesehen, welches
- – der Analysestufe erlaubt, leicht auf Spezifikationsregeln durch Vorsehen einer einfachen Sprache und eines Rahmenwerkes mit leicht zu verstehenden Prinzipien abgebildet zu werden,
- – klare Grenzen zwischen den Gruppierungen von Merkmalen, die zu einer gegebenen Analyseentität bekannt sind, und jenen, die es nicht sind, definiert,
- – einfache und somit leicht verständliche Regeln für die Übergabe einer Steuerung zwischen diesen Gruppen von Merkmalen vorsieht. Wenn von einer Gruppe von Merkmalen zu einer anderen übergeben wird, gibt es einen Mechanismus zum Sicherstellen, dass eine nachfolgende Gruppe von Merkmalen die vorherige Gruppe nicht kompromittiert, und
- – die Analysestufe durch Spezifizieren von Verarbeitungspunkten in der Verarbeitung von Ereignissen vereinfacht, in denen Vorbedingungen garantiert werden und in denen Anwendungen nur erlaubt wird, gewisse Instruktionen zu dem Server zu geben.
- The analysis stage allows to be easily mapped to specification rules by providing a simple language and framework with easy-to-understand principles,
- - define clear boundaries between the groupings of features known to a given analysis entity and those that are not,
- - provides simple and thus easy-to-understand rules for the transfer of control between these groups of characteristics. When passing from one set of features to another, there is a mechanism for ensuring that a subsequent set of features does not compromise the previous set, and
- - Simplifies the parsing stage by specifying processing points in the processing of events where preconditions are guaranteed and where applications are only allowed to give certain instructions to the server.
Ein wichtiger Mechanismus zum Implementieren von Dienstaufstellungsrichtlinien gemäß der Erfindung ist die Spezifikation von Aufstellungsregeln als Dienstausführungsregeln, die in Regelmodulen spezifiziert sind. Dienstausführungsregeln spezifizieren Bedingungen und Aktionen, die unternommen werden müssen, falls die Bedingungen erfüllt sind. Gemäß der Erfindung wird eine Programmiersprache zum Spezifizieren dieser Regeln definiert, die als eine Dienstausführungsregelsprache (Service Execution Rule Language, SERL) bezeichnet wird.An important mechanism for implementing service provisioning policies according to the invention is the specification of deployment rules as service execution rules specified in rule modules. Service execution rules specify conditions and actions that must be taken sen if the conditions are met. In accordance with the invention, a programming language is defined for specifying these rules, which is referred to as a Service Execution Rule Language (SERL).
Die
Regelmodule
Der
Regelantrieb
Name:
sipRequest.Request-URI, Wert: sip:bob@corp.com
Name: sipRequest.To,
Wert: Bob Smith <sip:bob@corp.com>
Name: sipResponse.Status-Code,
Wert: 301The standard drive
Name: sipRequest.Request-URI, value: sip: bob@corp.com
Name: sipRequest.To, value: Bob Smith <sip: bob@corp.com>
Name: sipResponse.Status code, value: 301
Ein
Beispiel einer SDP-Nachrichteneigenschaft ist:
Name: sdp.m,
Wert: video 48232 RTP/AVP 0.An example of an SDP message property is:
Name: sdp.m, value: video 48232 RTP / AVP 0.
Der
Regelantrieb
- – eine Nachrichtenbekanntgabe-API,
die durch den SIP-Stapel
304 zur Nachrichtenbekanntgabe von dem Nachrichtenparser305 zu dem Regelantrieb303 verwendet wird, - – eine
Regelbasisdefinitions-API, die durch den Dienstdefinitionsmanager
312 verwendet wird, - – eine
Dienstinstruktions-API, die durch den Anwendungsausführungsantriebsmanager
302 verwendet wird, um Instruktionen zu dem Regelantrieb303 im Namen der Dienstanwendungen309 –311 zu übergeben, und - – eine
Scharfmachungs-API, die durch den Anwendungsausführungsantriebsmanager
302 verwendet wird, um das Scharfmachen von Triggern und Transaktionsereignissen im Namen der Dienstanwendungen309 –311 anzufordern.
- - A message notification API passing through the SIP stack
304 to the message announcement from the message parser305 to the variable speed drive303 is used, - A rule base definition API created by the service definition manager
312 is used, - A service instruction API provided by the application execution drive manager
302 is used to instructions to the rule drive303 on behalf of the service applications309 -311 to surrender, and - A sharpening API created by the application execution engine manager
302 is used to arming triggers and transaction events on behalf of the service applications309 -311 to request.
Der
Anwendungsausführungsantriebsmanager
Die
APIs, die durch den Anwendungsausführungsantriebsmanager
- – eine Aufruf-API, die durch
den Regelantrieb
303 für Aufrufinstruktionen von dem Regelantrieb zu dem Anwendungsausführungsantriebsmanager302 verwendet wird, und - – eine
Bekanntgabe-API, die durch den Regelantrieb
303 für Bekanntgabeinstruktionen von dem Regelantrieb zu dem Anwendungsausführungsantriebsmanager302 verwendet wird.
- - a call API, through the rule drive
303 for call instructions from the rule engine to the application execution engine manager302 is used, and - - an announcement API by the rule drive
303 for notification instructions from the rule engine to the application execution engine manager302 is used.
Das
Vorgabe-SIP-Serververhalten
Der
Dienstdefinitionsmanager
- – Manuelle Authentifizierung und Autorisierung von neuen Regelmodulen und Dienstanwendungen.
- – Manuelles Konfigurieren von Rechten und Privilegien von Regelmodulen und Dienstanwendungen.
- – Manuelles Laden von Regelmodulen und Dienstanwendungen.
- – Manuelle Aktivierung/Deaktivierung von Regelmodulen und Dienstanwendungen.
- – Manuelle Validierung von Regelmodulen.
- – Manuelle Validierung von Dienstanwendungen, implementiert unter Verwendung von Skriptsprachen.
- – Manuelle Löschung von Regelmodulen und Dienstanwendungen.
- – Manuelle Auflistung aller Regelmodule und Dienstanwendungen gemeinsam mit ihrem Status.
- – Manuelle Modifikation von Regelmodulen.
- - Manual authentication and authorization of new rule modules and service applications.
- - Manually configure the rights and privileges of rule modules and service applications.
- - Manual loading of rule modules and service applications.
- - Manual activation / deactivation of control modules and service applications.
- - Manual validation of control modules.
- - Manual validation of service applications implemented using scripting languages.
- - Manual deletion of rule modules and service applications.
- - Manual listing of all rule modules and service applications along with their status.
- - Manual modification of control modules.
Der
Dienstdefinitionsmanager
Hier
umfasst der Begriff Dienstmerkmale Funktionen, die Dienstanwendungen
angeboten werden. Die Dienstmerkmale werden betrachtet, als in die
Dienstunterstützungsumgebung
Die
Dienstanwendungen
Ein standardisierter Mechanismus zum Zugreifen auf eine Dienstanwendung ist ein Vorteil für Dienstanbieter einer dritten Seite.One standardized mechanism for accessing a service application is an advantage for service providers a third page.
Der
SIP-Server managt nicht notwendigerweise entfernt platzierte Dienstanwendungen,
da er über
sie keine Kenntnis haben kann. In diesem Fall kann der SIP-Server
oder der Anwendungsausführungsantriebsmanager
Der
Nachrichtenparser
Vorzugsweise hat ein jegliches unterstütztes Protokoll einen entsprechenden Nachrichtenparser. Ein Parser kann untergeordnete Parser enthalten, die untergeordneten Protokollen entsprechen, d.h. eingebettet in andere Protokolle wie SIP. Z.B. kann es innerhalb eines SIP-Nachrichtenparsers getrennte Parser zum Handhaben unterschiedlicher Medientypen geben, wie etwa SDP, HTML, XML und XHTML. Vom Standpunkt des Regelantriebs sehen alle Parser wie ein einzelner Antrieb aus. Die API die für einen Nachrichtenparser sollte vorzugsweise derart definiert sein, dass Parser für neue Protokolle und Inhalt modular hinzugefügt werden können.Preferably has any supported Log a corresponding message parser. A parser can Subordinate parsers contain the child logs correspond, i. embedded in other protocols like SIP. For example, It can be a separate parser within a SIP message saver to handle different types of media, such as SDP, HTML, XML and XHTML. From the point of view of the propulsion all see Parser like a single drive out. The API for one Message parser should preferably be defined such that Parser for new protocols and content can be added modularly.
Für ein beliebiges
Protokoll, das durch die Dienstunterstützungsumgebung
- – die Menge von Eigenschaften, die durch den Nachrichtenparser definiert sind, inkludierend den Eigenschaftsnamen, ihre Beziehung zu der Nachricht, die sie charakterisiert, und die Fähigkeit einer Aktion, sie zu ändern, und
- – die Verarbeitungspunkte, in denen Regeln aktiviert werden können.
- The set of properties defined by the message parser, including the property name, its relationship to the message that characterizes it, and the ability of an action to change it, and
- - The processing points where rules can be activated.
In
einer Ausführungsform
der Erfindung können
die Dienstunterstützungsumgebung
Z.B.
können
sich der Regelantrieb
Bezug
nehmend noch auf
- 1. Es wird eine SIP-Anfrage in dem Nachrichtenparser
305 empfangen. - 2. Der SIP-Nachrichtenparser
305 generiert ein SIP-Nachrichtenobjekt. Der Regelantrieb303 konvertiert dies in einen SIP-Ereigniskontext. - 3. Die relevanten Regelmodule befinden sich in der Ausführungsregelbasis
307 basierend auf dem Ereigniskontext, Verarbeitungspunkten und vertraglichen Beziehungen. Eine Ausführungsform dieses Mechanismus wird nachstehend beschrieben. - 4. Der Regelantrieb
303 lädt das gefundene Regelmodul308 von der Ausführungsregelbasis307 in den Regelmodulausführungsantrieb314 und führt es aus. Als ein Beispiel enthalte das geladene Regelmodul die folgende Funktionalität, d.h. eine Regel, die Triggerkriterien und Aufrufaktionen für Dienstanwendungen310 und311 spezifiziert: - 5. Ein Trigger wird erreicht, und die spezifizierte Dienstanwendung
Y (
310 ) wird durch Senden eines Aufrufbefehls zu dem Anwendungsausführungsantriebsmanager302 aufgerufen. - 6. Der Anwendungsausführungsantriebsmanager
302 lokalisiert die Anwendung Y (310 ). - 7. Der Anwendungsausführungsantriebsmanager
302 lädt die relevante Dienstanwendung Y (310 ) in einen Anwendungsausführungsantrieb315 und aktiviert sie anschließend für eine Ausführung. - 8. Die resultierende Instruktion von Anwendung
310 wird zu dem Regelantrieb303 zurückgegeben. - 9. Der Regelantrieb
303 nimmt eine Verarbeitung des Regelmoduls wieder auf und triggert eine andere Anwendung Z (311 ). Dem Anwendungsausführungsantriebsmanager302 wird ein Aufrufbefehl gegeben. - 10. Der Anwendungsausführungsantriebsmanager
302 lokalisiert die Anwendung Z (311 ). - 11. Der Anwendungsausführungsantriebsmanager
302 lädt die relevante Dienstanwendung Z (311 ) in einen Ausführungsantrieb315 , der die Anwendung laufen lassen kann, und aktiviert sie anschließend. - 12. Die resultierende Instruktion von Anwendung
311 wird zu dem Regelantrieb303 zurückgegeben. - 13. Der Regelantrieb
303 nimmt eine Verarbeitung des Regelmoduls wieder auf und findet heraus, dass das Regelmodul keine Regeln mehr auszuführen hat und dass es keine Regelmodule mehr zu laden gibt. Anschließend sendet der Regelantrieb303 das Schlussergebnis der Dienste zu dem SIP-Vorgabeverhalten306 . - 14. Das SIP-Vorgabeverhalten
306 vereinigt die Ausgabe von dem Regelantrieb303 mit einer möglichen Vorgabeausgabe und sendet die SIP-Nachricht zu dem Nachrichtenparser/Konverter305 . - 15. Die SIP-Nachricht wird z.B. vertreten (proxied).
- 1. There will be a SIP request in the message parser
305 receive. - 2. The SIP message parser
305 generates a SIP message object. The standard drive303 converts this to a SIP event context. - 3. The relevant rule modules are in the execution rule base
307 based on the event context, processing points and contractual relationships. An embodiment of this mechanism will be described below. - 4. The variable speed drive
303 loads the found control module308 from the execution rule base307 in the rule module execution drive314 and execute it. As an example, the loaded rules module contains the following functionality, ie a rule, the trigger criteria and invocation actions for service applications310 and311 specified: - 5. A trigger is reached and the specified service application Y (
310 ) is sent by sending a call command to the application execution drive manager302 called. - 6. The application execution drive manager
302 locates the application Y (310 ). - 7. The application execution drive manager
302 loads the relevant service application Y (310 ) into an application execution drive315 and then activates it for execution. - 8. The resulting instruction of application
310 becomes the rule drive303 returned. - 9. The variable speed drive
303 resumes processing of the rule module and triggers another application Z (311 ). The application execution drive manager302 a call command is given. - 10. The application execution drive manager
302 locates the application Z (311 ). - 11. The application execution drive manager
302 loads the relevant service application Z (311 ) in an execution drive315 who can run the application and then activates it. - 12. The resulting instruction of application
311 becomes the rule drive303 returned. - 13. The variable speed drive
303 resumes processing of the rule module and finds out that the rule module no longer has to execute rules and that there are no rule modules to load anymore. Subsequently, the variable speed drive sends303 the final result of the services to the SIP default behavior306 , - 14. The SIP default behavior
306 unites the output from the variable speed drive303 with a possible default output and sends the SIP message to the message parser / converter305 , - 15. The SIP message is represented eg (proxied).
Im
Fall von mehreren Regelmodulen können
die obigen Schritte 13–14
alternativ wie folgt sein
13. Der Regelantrieb
13. The variable speed drive
14.
Gehe zu Punkt 3 in dem vorherigen Beispiel. Falls ein Regelmodul
gefunden wird, wird es wie im vorherigen Beispiel laufen gelassen,
möglicherweise
mit Aufruf anderer Anwendungen, z.B. wird die Anwendung
Wenn
keine Regelmodule oder Dienste installiert sind, eine Sitzung zu
steuern, übergibt
der Regelantrieb
- – Besitzerinformation
409 , die den Besitzer des Regelmoduls angibt, d.h. eine identifizierbare Seite mit einem Interesse an dem SIP-Knoten. Diese Seite kann mehrere Regelmodule besitzen. Die Besitzerinformation kann ferner Information über vertragliche Beziehungen inkludieren. - – Protokollinformation
410 , die den Kontext spezifiziert, in dem die Regeln in dem Regelmodul zu interpretieren sind.
- - Owner information
409 indicating the owner of the rule module, ie an identifiable page with an interest in the SIP node. This page can have several control modules. The owner information may further include information about contractual relationships. - - Protocol information
410 specifying the context in which the rules in the rule module are to be interpreted.
Beispiele von Protokollen sind SIP, SDP, HTTP, H.323 etc. Vorzugsweise sollte nur ein einzelnes Protokoll pro Regelmodul definiert sein. Anderenfalls kann irgendeine Überlappung mehrdeutige Interpretation vorsehen. Z.B. haben sowohl SIP als auch HTTP Inhaltstypheaderfelder.
- – Zugriffssteuerinformation
411 , die spezifiziert, welche Seiten das Recht haben, das Regelmodul aufzurufen, zu administrieren und zu lesen. - – einen
Regelmodulidentifikator
412 , vorzugsweise ein eindeutiger Identifikator. Zusätzlich kann ein Regelmodul eine Zahl von Aliasen inkludieren.
- - Access control information
411 , which specifies which pages have the right to access, administer and read the rule module. - - a rule module identifier
412 , preferably a unique identifier. In addition, a rule module may include a number of aliases.
Ein
Regelmodul kann ferner ergänzende
Information
Ein
Muster
Vorzugsweise hat jedes Regelmodul eine explizite Ordnungspriorität, die ihm zugeordnet ist, d.h. die Reihenfolgeprio rität spezifiziert die Sequenz, in der Regelmodule durch den Regelantrieb geladen werden.Preferably Each rule module has an explicit ordering priority given to it is assigned, i. the order priority specifies the sequence, in the control modules are loaded by the variable speed drive.
Gemäß einer bevorzugten Ausführungsform der Erfindung werden die Knoten des Baums in der grafischen Darstellung durch XML-Elemente dargestellt. Die Verzweigung von einem Knoten zu den nächsten Knoten wird durch Einschließen des Elementes dargestellt, das den (die) nächsten Knoten innerhalb des Elementes darstellt, das den Knoten darstellt, von dem verzweigt wird. Die Gewichtung der Zweige ergibt sich durch die Reihenfolge, in der sie in dem Skript dargestellt werden. Diese Gewichtung ergibt die Reihenfolge, in der die Elemente zu verarbeiten sind, wenn ein Ereignis empfangen wird. Mit anderen Worten wird das Skript von oben nach unten ausgeführt. Somit gibt es in dieser Ausführungsform keine Schleifen innerhalb eines SERL-Skriptes. Vorzugsweise wird das Format eines Regelmoduls als ein XML DTD oder XML-Schema spezifiziert.According to one preferred embodiment of the invention, the nodes of the tree in the graph through XML elements shown. The branch from one node to the next node is by enclosing of the element representing the next node (s) within the Representing element that represents the knot from which branches becomes. The weighting of the branches results from the order, in which they are presented in the script. This weighting results the order in which the elements are to be processed, if one Event is received. In other words, the script is from running down to the top. Thus, there is in this embodiment no loops within a SERL script. Preferably Specifies the format of a rule engine as an XML DTD or XML schema.
Es ist ein Vorteil dieser Ausführungsform, dass sie auf einer standardisierten und erweiterbaren Sprache basiert, um Sprachen zu spezifizieren.It is an advantage of this embodiment, that it is based on a standardized and extensible language, to specify languages.
In einer Ausführungsform der Erfindung können Richtlinien mit Regeln in Verbindung gebracht werden, die Privilegien und Rechte spezifizieren. Jeder Knoten des Regelmoduls kann einen zugehörigen Richtlinienknoten haben, der Zugriffssteuerlisten enthalten kann.In an embodiment of the invention Policies associated with rules, the privileges and specify rights. Each node of the rule module can have a associated Have policy nodes that may contain access control lists.
Das Folgende ist ein Beispiel einer Instanz eines Regelmoduls, das als ein SERL-Skript spezifiziert ist: The following is an example of an instance of a rule module specified as a SERL script:
Die
sechs Verarbeitungspunkte P1–P6
sind eine allgemeine Gruppierung von Diensten. Verarbeitungspunkte
P1–P3
und P4–P6
decken entsprechende Probleme logisch ab. Verarbeitungspunkte P1–P3 inkludieren
Dienste, die in Anfragen
Eine SIP-Nachricht kann grob in zwei Teile unterteilt werden, die Signalisierungseigenschaften, d.h. Eigenschaften in Bezug auf SIP, SDP etc., und den Nachrichtenrumpfinhalt, der nicht auf Signalisierung bezogen ist, wie etwa GIF, HTML etc.A SIP message can be roughly divided into two parts, the signaling characteristics, i.e. Properties related to SIP, SDP, etc., and the message body content, not related to signaling, such as GIF, HTML etc.
Dienste, die in einem SIP-Ereignis aufgerufen werden, können deshalb in jene, die:
- – die Signalisierungseigenschaften beeinflussen,
- – nur den Nicht-Signalisierungs-Nachrichtenrumpfinhalt beeinflussen, und
- – jene, die weder die Signalisierungseigenschaften noch den Nicht-Signalisierungs-Nachrichtenrumpfinhalt beeinflussen,
- - influence the signaling properties,
- - only affect the non-signaling message body content, and
- Those that do not affect the signaling properties nor the non-signaling message body content,
Dies
ergibt die Basisgruppierung von Diensten in drei Gruppen
Hier umfasst der Begriff Signalisierungseigenschaften SIP- und SDP-Nachrichteneigenschaften, die in einer Regelmodulbedingung angepasst werden können, um einen Dienst aufzurufen. Folglich können Anwendungen, die eine Signalisierungseigenschaft ändern, veranlassen, dass eine andere Anwendung aufgerufen wird, die noch eine andere Anwendung aufrufen kann usw. Der Vorteil einer Verschiebung der Handhabung von Dienstanwendungen, die Signalisierungseigenschaften nicht ändern, zu einem Verarbeitungspunkt, nachdem alle Änderungen zu den Signalisierungseigenschaften aufgetreten sind, besteht darin, dass der Administrator eine leichtere Aufgabe beim Ordnen der Anwendungen in den Verarbeitungspunkten P2 und P5 hat.Here the term signaling properties includes SIP and SDP message properties, which can be adjusted in a rule module condition to call a service. Consequently, applications that have a Change signaling property, cause another application to be called that still invoke another application, etc. The benefit of a shift the handling of service applications, the signaling properties do not change, to a processing point, after all changes to the signaling properties occurred, is that the administrator a lighter Task when arranging the applications in the processing points P2 and P5 has.
In einer Ausführungsform der Erfindung können die Verarbeitungspunkte P1–P6 wie folgt definiert sein:
- – Verarbeitungspunkt P1 – Clientanfrage
eines vorherigen Sprungs: Es wurde eine SIP-Anfrage
607 von einem Client eines vorherigen Sprungs empfangen. Für diese bestimmte Anfrage und für diesen bestimmten Teilnehmer wurden keine Regelmodule in einem beliebigen vorherigen Verarbeitungspunkt aufgerufen. Dieser Verarbeitungspunkt umfasst Dienste, die die SIP-/SDP-Signalisierungseigenschaften der resultierenden Nachricht(en) beeinflussen, aber nicht den Nachrichtenrumpfinhalt. - – Verarbeitungspunkt
P2 – Anfrageinhaltspunkt:
Die Signalisierungseigenschaften der resultierenden SIP-/SDP-Nachricht(en)
wurden generiert und gecacht, d.h. dieser Teil der SIP-Nachricht
ist bereit, gesendet zu werden. Zusätzliche Aktualisierungen zu
den Ruf-/Mediensteuersignalisierungseigenschaften sollten nicht
auftreten, es sei denn explizit autorisiert. Die Dienste
602 , die in dem Verarbeitungspunkt P2 aufgerufen werden, sollten die SIP-/SDP-Signalisierungseigenschaften, wie im Verarbeitungspunkt P1 generiert, nicht beeinflussen. Für diese Regel kann es jedoch Ausnahmen geben. Z.B. können Dienste SIP-Header wie Alarm-Info, Ruf-Info, Inhaltsdisposition, Inhaltskodierung, Inhaltssprache, Inhaltslänge, Inhaltstyp und Anfragen beeinflussen. Es sollte spezielle Sorge getragen werden, falls diese Signalisierungseigenschaften in beiden Verarbeitungspunkten P1 und P2 geändert werden. Beispiele von Typen vom Medieninhalt, die in diesem Verarbeitungspunkt verarbeitet werden können, inkludieren SOAP, HTML, vXML, SMIL, GIF, MPEG7, au etc. - – Verarbeitungspunkt
P3 – Anfragestapelpunkt:
Die resultierende(n) SIP-Nachricht(en) wurde(n) generiert und gesendet.
Es können
keine Aktualisierungen an der (den) resultierenden Nachricht(en)
mehr auftreten. Dieser Verarbeitungspunkt entspricht Diensten
603 , die nur aufgerufen werden müssen, aber nicht eine Ausgabe erzeugen, die benötigt wird, um die Anfrage zu verarbeiten. Diese Dienste müssen nur die resultierende(n) Nachricht(en) lesen, sie aber nicht aktualisieren.
- - Processing point P1 - Client request of a previous jump: It became a SIP request
607 received by a client from a previous jump. For this particular request and for this particular subscriber, no rule modules were invoked at any previous processing point. This processing point includes services that affect the SIP / SDP signaling properties of the resulting message (s), but not the message body content. - - Processing Point P2 - Inquiry Summary: The signaling properties of the resulting SIP / SDP message (s) have been generated and cached, ie this part of the SIP message is ready to be sent. Additional updates to the call / media control signaling properties are intended not occur unless explicitly authorized. The services
602 which are called in the processing point P2 should not affect the SIP / SDP signaling characteristics as generated in the processing point P1. There may be exceptions to this rule. For example, services may affect SIP headers such as Alert Info, Call Info, Content Disposition, Content Encoding, Content Language, Content Length, Content Type and Requests. Special care should be taken if these signaling characteristics are changed in both processing points P1 and P2. Examples of types of media content that can be processed at this processing point include SOAP, HTML, vXML, SMIL, GIF, MPEG7, au, etc. - - Processing Point P3 - Request Stack Point: The resulting SIP message (s) have been generated and sent. There will be no updates to the resulting message (s). This processing point corresponds to services
603 which only need to be called, but do not produce an output needed to process the request. These services only need to read the resulting message (s), but not update them.
Die Verarbeitungspunkte
- – P4 – Serverantwort eines vorherigen Sprungs,
- – P5 – Antwortinhaltspunkt, und
- – P6 – Antwortstapelpunkt
- P4 server response of a previous jump,
- - P5 - Answer, and
- - P6 - Response stack point
Alternativ
oder zusätzlich
können
andere Verarbeitungspunkte definiert werden. Z.B. kann ein zusätzlicher
Verarbeitungspunkt P0 (nicht gezeigt) ohne Einschränkungen
in den Merkmalen definiert werden und der in einem beliebigen Ereignis
getriggert wird, d.h. in dem Empfang von sowohl Anfragen
Vorzugsweise können zusätzliche Verarbeitungspunkte mit einem der Verarbeitungspunkte hoher Ebene in Verbindung stehen. Z.B. können Teilverarbeitungspunkte für Verarbeitungspunkt P1 definiert werden, die P1.1, P1.2, P1.2.1, P1.2.2 etc. genannt werden können. Vorzugsweise sollten neue Verarbeitungspunkte nur definiert werden, falls sie eine logische Gruppe von Diensten definieren, die von Nutzen sein können, um gemäß spezifizierten Vorbedingungen aufzurufen.Preferably can additional Processing points with one of the high-level processing points keep in touch. For example, can Part processing points for Processing point P1, the P1.1, P1.2, P1.2.1, P1.2.2 etc. can be mentioned. Preferably, new processing points should only be defined if they define a logical group of services that are used by Can be use according to specified Call preconditions.
Die folgende Tabelle inkludiert einige Beispiele von Diensten, die in den unterschiedlichen Verarbeitungspunkten in einem veranlassenden bzw. abschließenden SIP-Server definiert sein können:The The following table includes some examples of services included in the different processing points in an inducing or final SIP server can be defined:
Durch
Konzentrieren von Diensten, die nur den Nicht-Signalisierungs-SIP-Nachrichtenrumpfinhalt (und
möglicherweise
die in Beziehung stehenden Inhaltsheaderfelder) beeinflussen, im
Verarbeitungspunkt P2 ist die Ausgabe
Wenn
die Ausgabe von Verarbeitungspunkten P1 und P2 bereit ist, ist Verarbeitungspunkt
P3 erreicht. Die Dienste im Verarbeitungspunkt P3 beeinflussen nicht
den Inhalt der resultierenden SIP-Nachricht
Daher hat die Gruppierung von Diensten gemäß Verarbeitungspunkten die folgenden Vorteile: Verarbeitungspunkte vereinfachen das Problem von Merkmalsinteraktion. Verarbeitungspunkte machen das Problem von Merkmalsinteraktion skalierbarer. Verarbeitungspunkte verbessern Latenz von Verarbeitungsnachrichten, wenn parallele Verarbeitung verwendet wird, d.h. Mehrfachprozessoren. Antworten oder Proxy-Anfragen können zu dem Netz schneller zurückgegeben werden, da sich Dienstanwendungen, die nicht Instruktionen zu dem SIP-Server spezifizieren, im Verarbeitungspunkt P3 befinden. Daher muss die Antwort oder Proxy-Anfrage nicht darauf warten, dass die Dienstanwendungen im Verarbeitungspunkt P3 aufgerufen werden.Therefore has the grouping of services according to processing points the The following advantages: Processing points simplify the problem of feature interaction. Processing points make the problem scalable by feature interaction. Improve processing points Latency of processing messages when parallel processing is used, i. Multiple processors. Answers or proxy requests can returned to the network faster because service applications that are not instructions to the Specify SIP server, located at processing point P3. Therefore the answer or proxy request does not have to wait for the Service applications are called in processing point P3.
Gemäß dieser
Ausführungsform
der Erfindung hat jedes Regelmodul zu sich eine Priorität zugewiesen.
Die Priorität
spezifiziert die Beziehung zwischen Regelmodulen. Je höher die
Regelmodulpriorität
ist, desto früher
werden die Regeln in dem Regelmodul angewendet.
Regelmodule mit dem gleichen Besitzer können die gleiche Ordnungspriorität haben. Vorzugsweise sollten sie in diesem Fall unterschiedliche Ereigniskontexte haben (z.B. SIP, HTTP, ...), wobei dadurch vermieden wird, dass mehr als ein Regelmodul mit der gleichen Priorität in dem gleichen Ereigniskontext aufgerufen wird. Mit anderen Worten sollten Regelmodule, die in der gleichen Nachrichteneigenschaft von einem gegebenen Ereigniskontext aufgerufen werden können, unterschiedliche Prioritäten haben.control modules with the same owner the same order priority to have. Preferably they should be different in this case Have event contexts (e.g., SIP, HTTP, ...) thereby avoiding that is, more than one rule module with the same priority in the same event context is called. In other words, should Rule modules that have the same message property of one given event context can have different priorities.
Jede administrative Domäne ist unabhängig von anderen administrativen Domänen. Dies bedeutet, dass eine administrative Domäne kein Wissen über die Dienste haben muss, die in anderen Domänen aufgestellt sind. Jeder Administrator ist für Analysieren und Spezifizieren von Dienstaufstellungsrichtlinien in einer gegebenen Domäne verantwortlich.each administrative domain is independent from other administrative domains. This means that an administrative domain does not know about the Services that are located in other domains. Everyone Administrator is for Analyze and specify service deployment policies in a given domain responsible.
Falls mehr als ein Regelmodul oder eine Dienstanwendung in einem gegebenen Ereignis aufgerufen wird, werden sie je eine Menge von Merkmalsinstruktionen vorsehen, die spezifizieren werden, wie dieses Ereignis zu verarbeiten ist, z.B. ob das Ereignis weitergeleitet oder abgeschlossen werden sollte. Eindeutig sollten derartige Merkmalsinstruktionen nicht gleichzeitig verarbeitet werden, und einige Merkmalsinstruktionen können andere aufheben. In einigen Fällen kann es jedoch nicht wichtig sein, in welcher Reihenfolge Merkmalsinstruktionen angewendet werden oder ob sie gleichzeitig angewendet werden.If more than one rule module or service application in a given one Event is called, they will each have a lot of feature instructions which will specify how to process this event is, e.g. whether the event will be forwarded or completed should. Clearly, such feature instructions should not can be processed at the same time, and some feature instructions may be different cancel. In some cases however, it may not be important in what order feature instructions applied or used simultaneously.
Gemäß der Erfindung
wird ein Mechanismus vorgesehen, um administrativen Domänen zu erlauben, ihre
Merkmalsinstruktionen zu schützen,
wenn die Steuerung zu einer anderen administrativen Domäne übergeben
wird. Dies bedeutet, dass jede administrative Domäne die Übergabe
einer Steuerung zu Ei genschaften begrenzen kann, die für das korrekte
Verhalten ihrer Merkmale unwichtig sind. Das Objekt, das von einem Dienst
zu einem anderen weitergegeben wird, ist der aktuelle Ereigniskontext
Mit anderen Worten können Regelmodule höherer Priorität Nachrichteneigenschaften sperren, falls sie die Privilegien haben, dies zu tun, und gesperrte Nachrichteneigenschaften können durch Regelmodule nicht freigegeben werden, es sei denn, sie haben die Privilegien, dies zu tun.With other words can Control modules higher priority Lock message properties if they have the privileges to do this, and locked message properties can be through Rule modules will not be released unless they have the Privileges to do this.
Das folgende Beispiel eines Fragmentes eines Regelmoduls veranschaulicht das Sperren/Freigeben von Nachrichteneigenschaften, nachdem ein Merkmal F1 ausgeführt wurde: The following example of a fragment of a rule module illustrates locking / unlocking message properties after a feature F1 has been executed:
In einer Ausführungsform der Erfindung kann eine Aktionsausgabe das Regelmodul abschließen, d.h. die stromabwärtigen Anwendungen werden nicht aufgerufen. Des weiteren können Aktionen explizit Privilegien in Nachrichteneigenschaften in dem aktuellen Ereigniskontext setzen, falls sie die Privilegien haben, dies zu tun. Es ist ein Vorteil dieser Ausführungsform, dass die administrativen Domänen unabhängig sind, sobald ihnen eine Priorität zugeordnet wurde.In an embodiment According to the invention, an action output may terminate the rule module, i. the downstream Applications are not called. Furthermore, actions can explicitly set privileges in message properties in the current Set event context if you have the privileges to do so do. It is an advantage of this embodiment that the administrative domains independently are as soon as they give priority was assigned.
Gemäß dieser Ausführungsform ordnet ein übergreifender Administrator die Prioritäten oder Bereiche von Prioritäten der Regelmodule basierend auf vertraglichen Beziehungen mit jedem der Regelmodulbesitzer zu. Der übergreifende Domänenadministrator wäre natürlich auch der Besitzer des Regelmoduls mit der höchsten Priorität. Z.B. ist an der Spitze der Hierarchie der SIP-Dienstanbieter, der den Domänennamen und die IP-Adresse des Hosts besitzt. Der SIP-Dienstanbieter kann vielen Seiten viele Dienste bereitstellen. Er kann auch für seine eigenen Zwecke Anwendungen laufen lassen, z.B. Protokollierung, Abrechnung, Statistiksammlung, Betrugserfassung, Werbung etc. Er kann ein oder mehr Regelmodule auf dem Server platzieren.According to this embodiment arranges an overarching Administrator's priorities or areas of priorities the rule modules based on contractual relationships with everyone the rule module owner too. The overarching domain administrator would of course be too the owner of the highest priority rule engine. For example, At the top of the hierarchy is the SIP service provider who runs the domain name and the IP address of the host. The SIP service provider can provide many services to many sites. He can also be for his own applications run applications, e.g. logging, Billing, statistics collection, fraud detection, advertising etc. He can place one or more rule modules on the server.
Z.B. kann der SIP-Dienstanbieter ein Regelmodul für jeden seiner Teilnehmer platzieren. Wenn ein SIP-Ereignis in dem SIP-Server empfangen wurde, kann das Hauptregelmodul des SIP-Dienstanbieters einige seiner eigenen Dienste aufrufen und dann die Steuerung zu dem Regelmodul für den geeigneten Teilnehmer übergeben. In diesem Regelmodul kann es Regeln geben, Dienste zu triggern, die für den spezifischen Teilnehmer maßgeschneidert sind. Diese Dienste können durch den SIP-Dienstanbieter selbst bereitgestellt werden, oder können durch den SIP-Dienstanbieter von Dienstanbietern einer dritten Seite eingekauft werden. Der SIP-Dienstanbieter wäre für eine Analyse von Merkmalsinteraktionsproblemen zwischen diesen Diensten und Spezifizieren von Ordnungsprioritäten und Instruktionsprioritäten zwischen den Dienstanwendungen, vorzugsweise durch Verwenden von SERL, verantwortlich. In diesem Fall sind sowohl das Hauptregelmodul als auch das Teilnehmerregelmodul im Besitz durch den SIP-Dienstanbieter und werden durch ihn administriert. Von ihnen wird gesagt, in einer Administrationsdomäne zu sein. In irgendeinem Punkt in der Ordnungspriorität kann der SIP-Dienstanbieter entscheiden, zu einem Regelmodul zu übergeben, das im Besitz des Teilnehmers selbst ist. Es ist zu beachten, dass einzelne Teilnehmer in der Lage sein können, ihre eigenen SERL-Skripte zu schreiben, oder sie können nur in der Lage sein, Präferenzen zu aktualisieren, z.B. über eine HTML-Form, aus der ein SERL-Skript generiert werden kann. Das Regelmodul des Teilnehmers kann ein CPL-Skript aufrufen, oder kann wiederum ein anderes Regelmodul, irgendein Regelmodul eines Dienstanbieters einer dritten Seite oder dergleichen aufrufen. Falls das Regelmodul des Teilnehmers mehr als eine Aktion inkludiert, muss der Teilnehmer spezifizieren, welche Aktion zuerst ausgeführt werden sollte. Gleichermaßen sollten in dem Regelmodul dritter Seiten die Aktionen gemäß den Wünschen der dritten Seite geordnet werden.For example, the SIP service provider may place a rule module for each of its participants. When a SIP event has been received in the SIP server, the main rule module of the SIP service provider may invoke some of its own services and then hand over control to the rule module for the appropriate party. In this rule module, there may be rules to trigger services that are tailor-made for the specific participant. These services may be provided by the SIP service provider itself, or may be purchased by the SIP service provider from third-party service providers. The SIP service provider would be responsible for analyzing feature interaction problems between these services and specifying ordering priorities and instruction priorities between the service applications, preferably by using SERL. In this case, both the main rule module and the subscriber rule module are owned by and administered by the SIP service provider. They are said to be in an administration domain. At some point in the ordering priority, the SIP service provider may decide to hand over to a rule module owned by the subscriber himself. It should be noted that individual participants may be able to write their own SERL scripts, or they may only be able to update preferences, eg via an HTML form, from which a SERL script can be generated. The subscriber's policy module may invoke a CPL script or, in turn, invoke another policy module, any rule module of a third party service provider, or the like. If the participant's rule module includes more than one action, the participant must specify which action should be performed first. Likewise, in the rule module of third parties, the actions should be ordered according to the wishes of the third party.
In einem anderen Szenarium kann der Teilnehmer ein Angestellter eines Firmenkunden sein. In diesem Fall kann das Regelmodul des SIP-Dienstanbieters zuerst zu dem Regelmodul des Firmenkunden übergeben, das irgendwelche Anwendungen aufrufen und dann zu dem Regelmodul des einzelnen Teilnehmers übergeben kann.In In another scenario, the subscriber may be an employee of a Being corporate clients. In this case, the rule module of the SIP service provider first handed over to the rule module of the corporate client, which has any Call applications and then transfer them to the rule module of the individual participant can.
Der
Administrator oberster Ebene kann wünschen, die Prioritätsreihenfolge
mit einer Zahl von Regelmodulen zu vermischen. Es kann jedoch umständlich sein,
Regelmodule mit Regelmodulen unterer Priorität von anderen Seiten zu vermischen.
Eine Lösung
für dieses
Problem ist, Regelmodulprioritäten
mit ausreichenden Sicherungsbereichen zu trennen, die zu einer späteren Zeit
verwendet werden können.
Alternativ kann ein hierarchisches Administrationsdomänenmodell
angewendet werden, wie in Verbindung mit
Vorzugsweise unterstützt die Dienstunterstützungsumgebung einen Mechanismus zum Benachrichtigen von Administratoren, wenn eine Anwendung versucht, eine geschützte Eigenschaft zu ändern. Vorzugsweise wird eine Anwendung, die versucht, eine geschützte Eigenschaft zu ändern, außer Dienst genommen.Preferably supports the service support environment a mechanism for notifying administrators when An application tries to change a protected property. Preferably An application attempting to change a protected property is taken out of service taken.
Es wird vermerkt, dass Modifikationen des obigen Schemas möglich sind. Z.B. kann in einer Hierarchie von administrativen Domänen jeder Administrator einer Ebene einen vollständigen Geltungsbereich haben, um Regelmodule auf Ebenen mit unterer Priorität anzuordnen, innerhalb eines zugeordneten Prioritätsbereiches. Der Administrator höherer Ebene würde diesen Geltungsbereich delegieren.It It is noted that modifications of the above scheme are possible. For example, can be in a hierarchy of administrative domains each Administrator of a level have a full scope, to arrange rule modules on lower priority levels, within one assigned priority range. Of the Administrator higher Level would delegate this scope.
Es ist ein Vorteil dieser Ausführungsform, dass sie einen skalierbaren Mechanismus zum Managen und Implementieren von Dienstaufstellungsrichtlinien vorsieht. Gemäß dieser Ausfüh rungsform ist die Dienstunterstützungsumgebung in der Lage, Dienstaufstellungsrichtlinien einer dritten Seite ohne beträchtliche zusätzliche Arbeit für den Domänenadministrator zu unterhalten. Es ist ein weiterer Vorteil, dass Begrenzungen auf die Zahl von Interessengruppen oder die Zahl von vertraglichen Beziehungen zwischen ihnen platziert werden.It is an advantage of this embodiment, that they have a scalable mechanism for managing and implementing of service listing guidelines. According to this embodiment is the service support environment able to service page a third page without considerable additional Work for the domain administrator to entertain. There is another advantage to that limitations the number of interest groups or the number of contractual relationships be placed between them.
Es ist ein weiterer Vorteil dieser Ausführungsform, dass die Aufgabe von Merkmalsinteraktionsanalyse in administrative Domänen herunter gebrochen wird, wobei dadurch eine Verteilung des Problems zwischen den betroffenen Seiten erlaubt wird.It Another advantage of this embodiment is that the task from feature interaction analysis to administrative domains is broken thereby giving a distribution of the problem between the affected pages is allowed.
Gemäß dieser Ausführungsform werden Regeln in einer Sequenz der Verarbeitungspunkte angewendet. Wenn Regelmodule verarbeitet werden, werden folglich nur die Dienstausführungsregeln ausgeführt, die zu dem aktuellen Verarbeitungspunkt gehören.According to this embodiment Rules are applied in a sequence of processing points. Consequently, when rule modules are processed, only the service execution rules become executed that belong to the current processing point.
Für jeden Verarbeitungspunkt gibt es Mengen von Regelmodulen, die gemäß Priorität gruppiert sind, und die in diesem Verar beitungspunkt aufgerufen werden können. Alle Regelmodule von Priorität 1 sind in Menge 1 gruppiert, alle Regelmodule von Priorität 2 sind in Menge 2 gruppiert usw. In einem gegebenen Ereigniskontext wird jedoch höchstens ein Regelmodul in jeder dieser Mengen aufgerufen. Ein Regelmodul kann über mehrere Verarbeitungspunkte verteilt sein.For each Processing point, there are sets of rule modules grouped according to priority are, and that can be called in this processing point. All Control modules of priority 1 are grouped in set 1, all rule modules are of priority 2 grouped in set of 2, etc. In a given event context becomes however, at most called a rule module in each of these sets. A rule module can over several processing points be distributed.
In
dem Beispiel von
Die
Regelmodule
Die obigen Regeln vermeiden, dass Regelmodule in der Regelbasisverarbeitungsprozedur zufällig zweimal aufgerufen werden.The avoid the above rules rule modules in the rule base processing procedure by chance twice be called.
In
dem Beispiel, das in
Daher
wird ein hierarchischer Aufrufprozess durchgeführt, der eine Sequenz von aktuellen
Ereigniskontexten generiert, die durch die Nummerierung der Ereigniskontexte
Es wird vermerkt, dass falls mehr als ein Verarbeitungspunkt definiert ist, die obige Beschreibung von Regelmodulverarbeitung als pro Verarbeitungspunkt verstanden werden sollte, d.h. für jeden Verarbeitungspunkt wird eine entsprechende Hierarchie von Regelmodulen verarbeitet.It it is noted that if defined more than one processing point is the above description of rule module processing as per processing point should be understood, i. For each processing point will have a corresponding hierarchy of Process control modules processed.
Eine
wichtige Aufgabe der Regelbasisverarbeitungsprozedur des Regelantriebs
Wenn eine SIP-Anfragenachricht in einem SIP-Server ankommt, sollte mindestens eine von den From- oder Request-URI-Nachrichteneigenschaften einen Teilnehmer spezifizieren, der eine vertragliche Beziehung mit einem der Netzbetreiber des SIP-Servers hat. Die Nachrichteneigenschaften von From oder Request-URI können einen Domänennamen, wie netopX.com, oder eine IP-Adresse von einem der Netzbetreiber des SIP-Servers, wie 123.123.123.000, enthalten. Außerdem inkludieren die From oder Request-URI einen Teilnehmeridentifikator, wie einen Namen oder eine Telefonnummer. Dies ist in der SIP URL oder TEL URL enthalten. Die SIP-URL hat auch Parameter wie "transport-param", "user-param" ("Benutzer-param") und "other-param" ("andere-param"). Diese Parameter können Information inkludieren, die für einen Netzbetreiber spezifisch ist, wie die IMSI, um Teilnehmer eines mobilen Endgerätes und Endgeräte zu identifizieren.If a SIP request message arrives in a SIP server should at least one of the From or Request URI message properties Specify participants who have a contractual relationship with one the network operator of the SIP server Has. The message properties of From or Request-URI can be one Domain name like netopX.com, or an IP address from one of the network operators of the SIP server, such as 123,123,123,000. Also included the From or Request URI has a subscriber identifier, such as a Name or phone number. This is in the SIP URL or TEL URL included. The SIP URL also has parameters such as "transport-param", "user-param" and "other-param". These parameters can Include information for a network operator is specific, such as the IMSI, to subscribers a mobile terminal and terminals to identify.
Unter Verwendung z.B. der obigen Eigenschaften kann ein SIP-Ereignis auf einen eindeutigen Netzbetreiber abgebildet werden, falls eine Zahl von Anforderungen erfüllt sind, z.B. falls jeder der Netzbetreiber des SIP-Servers einen eindeutigen Domänennamen hat, wie netopX.com und netopY.com, und falls sie unterschiedliche IP-Adressen haben. Falls sie die gleiche IP-Adresse gemeinsam nutzen, können mutmaßliche Beziehungsauflösungen mehrdeutig sein, da die Nachrichteneigenschaften der From und Request-URI eine IP-Adresse und nicht einen Domänennamen enthalten können.Under Use e.g. The above properties can have a SIP event on one unique network operator, if a number of requirements fulfilled are, e.g. if each of the network operators of the SIP server has a unique domain name has, like netopX.com and netopY.com, and if they are different Have IP addresses. If they share the same IP address, can suspected relationship resolutions be ambiguous, since the message properties of the From and Request URI can contain an IP address and not a domain name.
Dienstanbieter einer dritten Seite, die Dienstanwendungen auf den SIP-Server hochladen/registrieren, haben eine vertragliche Beziehung mit dem Netzbetreiber, die erfasst werden kann. Z.B. kann der Dienstanbieter einer dritten Seite eine zuge wiesene ID von dem Netzbetreiber empfangen, mit dem der Dienstanbieter einer dritten Seite eine vertragliche Beziehung hat. Falls der Netzbetreiber einen Domänennamen hat, z.B. netopX.com, und eine zugehörige IP-Adresse, kann der Dienstanbieter einer dritten Seite mit einem eindeutigen Namen partyZ zugewiesene IDs empfangen, die einer Namenskonvention folgen, z.B. "partyZ.netopX.com". Nun können die From und Request-URI auf relevante Regelmodule abgestimmt werden. Da sowohl netopX.com als auch partyZ.netopX.com in einem Ereignis aufgerufen werden sollten, das netopX.com in entweder dem From oder Request-URI enthält, sollten sie unterschiedliche explizite Ordnungsprioritäten haben. Es wird verstanden, dass stattdessen andere Namenskonventionen eingeführt werden können.service provider a third party to upload / register service applications to the SIP server a contractual relationship with the network operator that is captured can. For example, The service provider may assign a assigned value to a third party ID received from the network operator with which the service provider a third party has a contractual relationship. If the network operator a domain name has, e.g. netopX.com, and an associated IP address, may be the service provider assigned a third page with a unique name partyZ Receive IDs that follow a naming convention, e.g. "PartyZ.netopX.com". Now you can From and Request URI are matched to relevant rule modules. Because both netopX.com and partyZ.netopX.com in one event should be called netopX.com in either the From or Contains request URI, they should have different explicit ordering priorities. It is understood that other naming conventions are being introduced instead can.
Es
wird verstanden, dass die Mechanismen von Ordnungspriorität und Regelmodulhierarchie
unabhängig
voneinander oder in Kombination miteinander angewendet werden können, wie
in Verbindung mit
Der
Regelantrieb
Daher
basiert Triggern von nachfolgenden Dienstanwendungen auf dem aktuellen
Ereigniskontext. Der aktuelle Ereigniskontext wird ferner für mögliche Merkmalsinteraktionsprobleme
bereinigt, so dass anschließend
aufgerufenen Dienstanwendun gen auf ihm beruhen können. Wenn die Steuerung von
einer Dienstanwendung zu der nächsten
durch den Aufrufmechanismus übergeben
wird, der durch den Regelantrieb bereitgestellt wird, wird der Besitz
des aktuellen Ereigniskontextes übergeben.
Auf diese Weise wird, wenn alle Dienstanwendungen aufgerufen wurden
und ihre Instruktionen angewendet haben, der endgültige resultierende
Ereigniskontext
Es wird ferner vermerkt, dass eine Dienstanwendung eine Anfrage zu mehreren Zielen aufspalten kann. Dies führt zur Generierung von mehreren aktuellen Ereigniskontexten.It It is further noted that a service application requests to can split several goals. This leads to the generation of several current event contexts.
Wenn eine Anfrage empfangen wird, wird ein Dienst umso eher basierend auf diesem Ereignis aufgerufen, desto mehr logisch stromaufwärts er in der Kette von kaskadierten Diensten betrachtet wird. Wenn eine Antwort empfangen wird, wird der Dienst basierend auf diesem Ereignis umso eher aufgerufen, desto mehr logisch stromabwärts er in der Kette von kaskadierten Diensten betrachtet wird. Daher werden die Anwendungen behandelt, als ob sie auf unterschiedlichen Hosts getriggert wären.If When a request is received, a service becomes all the more likely to be based called on this event, the more logically upstream he in the chain of cascaded services is considered. If an answer is received, the service will be based on this event rather, the more logically downstream it's cascaded in the chain Services is considered. Therefore, the applications are treated as if they were triggered on different hosts.
Dieses Modell ist konzeptionell einfach und sieht einen natürlichen Algorithmus zum Auflösen von Konflikten zwischen den Instruktionen von mehreren Dienstanwendungen in dem gleichen SIP-Ereignis vor.This Model is conceptually simple and looks natural Algorithm for resolution conflicts between the instructions of multiple service applications in the same SIP event.
Bei Empfang eines SIP-Ereignisses werden die Aktionen in der Reihenfolge einer Priorität auf die folgende Art und Weise ausgeführt:
- 1) Steuerung wird zu der ersten Anwendung weitergegeben.
- 2) Es wird irgendeine Antwort von der ersten Anwendung empfangen.
- 3) Steuerung wird zu der zweiten Anwendung weitergegeben.
- 4) Es wird irgendeine Antwort von der zweiten Anwendung empfangen usw.
- 1) Control is passed to the first application.
- 2) Any response from the first application is received.
- 3) Control is passed to the second application.
- 4) Any response from the second application will be received, etc.
Falls jedoch die erste Anwendung die Anfrage beendet, wird die zweite Anwendung nicht aufgerufen.If however, the first application completes the request, becomes the second Application not called.
Auf diese Weise kann eine Entscheidung darüber, ob eine nachfolgende Anwendung aufzurufen ist, von der Ausgabe von der vorherigen Anwendung abhängen. Des weiteren sind Instruktionsprioritäten, die mit Aktionen in Verbindung stehen, per Vorgabe gemäß dem kaskadierenden Prinzip geordnet.On This way can make a decision about whether to have a subsequent application depends on the output of the previous application. Of others are instruction priorities associated with actions stand by default according to the cascading Arranged principle.
Falls eine Anwendung eine Anfrage aufspaltet, gibt es keine einfache Kette von kaskadierten Diensten, sondern vielmehr einen Baum von kaskadierten Diensten. Dies wird als der "Anfragebaum" bezeichnet. Ein Anfragebaum repräsentiert eine Zahl von kaskadierten Ketten von Anwendungen. Jeder Pfad von der Wurzel des Baums zu einem der Blätter repräsentiert eine kaskadierte Kette.If An application splits a request, there is no simple chain of cascaded services, but rather a tree of cascaded ones Services. This is referred to as the "request tree". One Request tree represents a number of cascaded chains of applications. Every path from The root of the tree to one of the leaves represents a cascaded chain.
Wenn
es keine Aktionen mehr in einem Regelmodul gibt, werden alle aktuellen
Ereigniskontexte zu der Regelbasisverarbei tungsprozedur
Es wird vermerkt, dass in einigen Fällen eine Anwendung eine asynchrone Merkmalsinstruktion zu der Dienstunterstützungsumgebung, d.h. nicht bezogen auf eine existierende Transaktion, senden kann. In diesem Fall hat die Anwendung eine neue Transaktion gestartet und wird betrachtet, in der Wurzel eines neuen kaskadierten Kettenbaums zu sein.It It is noted that in some cases an application an asynchronous feature instruction to the service support environment, i.e. not related to an existing transaction. In this case, the application has started a new transaction and is considered in the root of a new cascaded chain tree to be.
Um parallele Verarbeitung von Diensten zu erlauben, kann die Dienstunterstützungsumgebung zum gleichzeitigen Weitergeben der Steuerung zum mehr als einem Dienst fähig sein. Dies steht nicht im Widerspruch zu dem kaskadierten Dienstmodell, da die Instruktionen von den parallelen aufgerufenen Diensten in der Reihenfolge der Kaskadierung angewendet werden sollten. Falls der stromabwärtigere Dienst vor dem stromaufwärtigeren Dienst antwortet, wartet der Regelantrieb darauf, dass der stromaufwärtigere Dienst antwortet, bevor er die Instruktionen vermitteln kann. Diese Instruktionen werden vermittelt, als ob die Dienste einer nach dem anderen aufgerufen wären. Der Administrator sollte fähig sein zu spezifizieren, ob eine Gruppe von Aktionen auf diese Art und Weise gleichzeitig angewendet werden sollte.Around Allowing parallel processing of services may be the service support environment for simultaneously transferring the control to more than one Service capable be. This is not inconsistent with the cascaded service model, as the instructions of the parallel services called in the Order of cascading should be applied. If the stromabwärtigere Service before the upstream Service answers, the rule drive is waiting for the upstream Service responds before it can convey the instructions. These Instructions are conveyed as if the services were after the others would be called. The administrator should be capable be to specify if a group of actions in this way and should be applied simultaneously.
Wenn
ein SIP-Ereignis dem Regelantrieb in der Form eines ursprünglichen
Ereigniskontextes
In
Schritt
Wie zuvor erwähnt, sind einige Dienste, z.B. Überwachungsanwendungen, an zukünftigen Ereignissen interessiert. Um dem Regelantrieb über dieses Interesse an zukünftigen Ereignissen mitzuteilen, muss die Dienstanwendung nach Ereignisberichten nachfragen, was auch dynamisches Scharfmachen für Ereignisberichte genannt wird.As previously mentioned, are some services, e.g. Monitoring applications, at future Interested in events. To rule over this interest in future To notify events, the service application must post event reports ask what is also called dynamic arming for event reports becomes.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist dynamisches Scharfmachen von Transaktionsereignissen an die Verarbeitung einer SIP-Transaktion gebunden, was zeitlich gebunden ist. Transaktionen können typischerweise von zwischen einigen Millisekunden bis zu einigen Minuten dauern, abhängig von der Konfiguration des SIP-Servers. Da dynamisches Scharfmachen von Transaktionsereignissen nur auf die Lebensdauer einer Transaktion zutrifft, ist dieser Typ vom Scharfmachen nicht permanent und wird implizit entschärft, wenn die Transaktion beendet ist, wobei dadurch ein schneller Mechanismus vorgesehen wird. Falls eine Anwendung Ereignisse scharfmacht, die die Transaktion betreffen, in der sie getriggert wurde, behält die Anwendung ihren Platz in dem kaskadierten Dienstmodell. Antworten werden allen Anwendungen gemeldet, die sie scharfgemacht haben, beginnend mit dem Blatt des Baums, d.h. der stromabwärtigsten Anwendung. Während der Lebensdauer einer Transaktion existiert der Anfragebaum in dem Speicher des Regelantriebs. Nachfolgende Ereignisse, die sich auf die gleiche Transaktion beziehen, werden somit auf den Anfragebaum bezogen. Ereignisse, die sich auf den Anfragebaum bezie hen, können von Anwendungen, von stromabwärtigen Servern und von stromaufwärtigen Clients kommen.According to one preferred embodiment The invention is dynamic arming of transaction events tied to the processing of a SIP transaction, which is timed is bound. Transactions can typically from a few milliseconds to a few Take minutes, depending on the configuration of the SIP server. Because dynamic arming of Transaction events only on the lifetime of a transaction is true, this type of arming is not permanent and will defused implicitly, when the transaction is completed, thereby providing a faster mechanism is provided. If an application fires events, the Affecting the transaction in which it was triggered retains the application their place in the cascaded service model. Answers will be all Applications reported that have spiked them, starting with the leaf of the tree, i. the most downstream application. During the Lifetime of a transaction, the request tree exists in the store of the standard drive. Subsequent events that affect the same Transaction, are thus related to the request tree. Events related to the request tree may be from Applications, from downstream Servers and upstream Clients come.
Ereignisse von stromaufwärtigen Clients betreten den Anfragebaum an der Wurzel. Dies bedeutet, dass sie zuerst der Anwendung an der Wurzel des Baums gemeldet werden. Diese Anwendung kann das Ereignis abschließen oder umlenken, in welchem Fall es nicht weiter in dem ursprünglichen Baum gesendet wird, sondern ein neuer Anfragebaum aufgebaut werden kann. Eine Anfrage kann auch zu allen gleichen Zielen wie die ursprüngliche Anfrage weitergeleitet werden müssen, oder die Anfrage kann zu einem der Ziele gesendet werden müssen, zu denen die ursprüngliche Anfrage weitergeleitet wurde. Ereignisse von Anwendungen betreten den Anfragebaum in dem geeigneten Knoten. Ereignisse von stromabwärtigen Servern betreten den Anfragebaum in einem der Blätter.Events from upstream Clients enter the request tree at the root. This means that they are first reported to the application at the root of the tree. This application can complete or redirect the event in which Case it is not sent further in the original tree, but instead a new request tree can be established. A request can also forwarded to all the same goals as the original request Need to become, or the request may need to be sent to one of the destinations, too which the original one Request was forwarded. Enter events of applications the request tree in the appropriate node. Events from downstream servers enter the request tree in one of the leaves.
Dies führt zu dem Mechanismus von Anfrage-Baum-Traversal, in dem sich der Regelantrieb die Reihenfolge merkt, in der Anwendungen aufgerufen wurden, d.h. der Anfragebaum. Es ist ein Vorteil dieser Ausführungsform, dass sie eine klare Regel für die Reihenfolge vorsieht, in der Ereignisse innerhalb des Kontextes einer Transaktion gemeldet werden. Die klare Regel ist das kaskadierte Dienstmodell, welches eine konzeptionell einfache Regel ist, die durch Administratoren und Anwendungsgestalter leicht verstanden werden kann. Dies vereinfacht auch die API, über die die Anwendungsausführungsantriebe der Regelbasis Regeln hinzufügen. An Stelle LÖSCHEN eines spezifischen Zweiges in einem Regelmodul scharfmachen zu müssen, kann es einfach zum Löschen des gegebenen Rufabschnittes scharfmachen.This leads to the mechanism of request tree traversal in which the rule engine remembers the order in which applications were invoked, ie the request tree. It is an advantage of this embodiment that it provides a clear rule for the order in which events are reported within the context of a transaction. The clear rule is the cascaded service model, which is a conceptually simple rule that can be easily understood by administrators and application designers. This also simplifies the API over which the application execution engines add rules to the rule base. To be able to focus on DELETING a specific branch in a rule module may just arm it to clear the given call section.
Es gibt verschiedene Wege, um das Anfrage-Baum-Traversal zu implementieren.It There are several ways to implement the request tree traversal.
Z.B. kann der Regelantrieb dieses Traversal durch Verwenden des VIA-Headers und Zweigparameters erreichen. In der Tat würde dies Erstellen einer getrennten Instanz des Regelantriebs jedes Mal bedeuten, wenn die Zieladresse durch Weiterleiten der Anfrage zu dem SIP-Server geändert wird. Das DNS-Nachschlagen, das durch den SIP-Stapel geschieht, würde dann bestimmen, ob die Anfrage zurückkommt oder nicht, um durch den Server ein zweites Mal verarbeitet zu werden. Wenn eine Anfrage von dem SIP-Server empfangen wird, würde sie als eine neue Anfrage behandelt. Der Regelantrieb sollte einen Mechanismus haben um sicherzustellen, dass Dienste, z.B. jene, die in dem FROM-Feld getriggert werden, nicht fehlerhaft erneut aufgerufen werden.For example, The rule drive can do this traversal by using the VIA header and reach branch parameters. In fact, this would create a disconnected one Instance of the rule drive every time the destination address is changed by forwarding the request to the SIP server. DNS lookup, that happens through the sip stack would then determine if the Request returns or not to be processed by the server a second time. If a request is received from the SIP server, it would treated as a new request. The variable speed drive should have a mechanism to ensure that services, e.g. those in the FROM field can not be retried.
Alternativ wird in einer bevorzugten Ausführungsform das Ereignis in dem Host für den gesamten Anfragebaum behandelt, d.h. inkludierend alle Weiterleitungen, bis alle Blätter des Anfragebaums Ziele anderswo in dem Netz darstellen. Diese Ausführungsform hat den Vorteil, dass sie effizienter ist, da weniger Instanzen von signalisierenden Zustandsmaschinen und Managerklassen erforderlich sind. Z.B. kann der Anfragebaum implementiert werden, indem er für jeden Trigger einer Anwendung eine Instantiierung eines Knotenobjekts hat, die Zeiger zu den vorherigen und den nächsten Knoten in dem Baum haben kann. Das folgende Pseudocodefragment zeigt, wie das Aufbauen eines Anfragebaums in die Algorithmen für Regelbasisverarbeitung und Regelmodulverarbeitung einbezogen werden kann. Die Idee besteht darin, jeden Ereigniskontext mit einem RequestTreeNode (AnfragenBaumknoten) zu verbinden. Dies ist das RequestTreeNode, in dem der Ereigniskontext erstellt wurde. Jeder Knoten ist entweder die Wurzel des Baums oder er steht mit einer Aktionsausführung in Verbindung: Alternatively, in a preferred embodiment, the event is handled in the host for the entire request tree, ie including all forwards, until all leaves of the request tree represent destinations elsewhere in the network. This embodiment has the advantage of being more efficient as fewer instances of signaling state machines and manager classes are required. For example, the request tree may be implemented by instantiating a node object for each trigger of an application, which may have pointers to the previous and next nodes in the tree. The following pseudo code snippet shows how building a request tree can be incorporated into the rule base processing and rule engine processing algorithms. The idea is to connect each event context to a RequestTreeNode. This is the RequestTreeNode in which the event context was created. Each node is either the root of the tree or it is associated with an action execution:
Bei Betrachtung des Modells einer logischen Kaskadierung von Dienstanwendungen können die folgenden zwei allgemeinen Regeln für die Dienstausführungsumgebung wie folgt formuliert werden:
- – Ereignisse, die sich stromaufwärts bewegen, sollten zuerst den logisch stromabwärtigsten Anwendungen gemeldet werden.
- – Ereignisse, die sich stromabwärts bewegen, sollten zuerst den logisch stromaufwärtigsten Anwendungen gemeldet werden.
- - Events that move upstream should first be reported to the logically most downstream applications.
- - Events moving downstream should first be reported to the most logically upstream applications.
Die logische kaskadierte Reihenfolge von Diensten wird beibehalten, wenn Ereignisbenachrichtigungen verteilt werden, um die hoch komplexe und nicht managbare Situation zu verhindern, dass Ereignisse in einer beliebigen Reihenfolge kaskadierten Diensten gemeldet werden können.The logical cascaded order of services is maintained When event notifications are distributed to the highly complex and not manageable situation to prevent events in one Any order of cascaded services can be reported.
Vorzugsweise werden die Anwendungen, die derartige Ereignisse scharfmachen, in Verarbeitungspunkt 1 oder 4 und ihren Teilverarbeitungspunkten aufgerufen. Vorzugsweise kann der Netzbetreiber in der Regelliste für Verarbeitungspunkt 4 einen Punkt spezifizieren, wo die dynamisch scharfgemachten Trigger gemeldet werden sollten. Dies bedeutet, dass die logisch kaskadierte Kette von Diensten, die für die Anfrage hergestellt ist, beibehalten wird, und neue Dienste entweder vor oder nach dieser Kette getriggert werden. Die gleiche Regel kann auf nachfolgende Anfragen zutreffen, die sich auf eine existierende Transaktion beziehen. Dieses Mal wird es in dem Verarbeitungspunkt 1 sein, dass der Administrator spezifizieren kann, wann dynamisch scharfgemachte Ereignisse zu berichten sind.Preferably The applications which will cause such events to be in Processing point 1 or 4 and its partial processing points. Preferably, the network operator may be in the rule list for processing point 4 Specify a point where the dynamically armed triggers should be reported. This means that the logically cascaded Chain of services for the request is made, maintained, and new services be triggered either before or after this chain. The same Rule may apply to subsequent requests that relate to one refer to an existing transaction. This time it will be in the processing point 1, that the administrator can specify when dynamically spiced Events are to be reported.
Alternativ oder zusätzlich kann ein anderer Typ zum Scharfmachen eingesetzt werden, der als dynamisch scharfgemachte Trigger bezeichnet wird, die als Regeln einem geeigneten Regelmodul in der Regelbasis hinzugefügt werden. Dynamisch scharfgemachte Trigger sehen einen weniger aufwändigen Mechanismus im Sinne von Verarbeitungsleistung und Ausführungsspeicher für das Melden von Ereignissen vor, die nicht die Transaktion betreffen, in der die Anwendung getriggert wurde. Vorzugsweise sollten diese Anfragen nach Ereignisberichten in einem persistenten Speicher gespeichert werden, d.h. sie werden Regeln in der Regelbasis. Diese Regeln können durch Spezifizieren eines Ablauftimers nicht-permanent sein, oder permanent sein. In dem letzteren Fall sollte die Dienstanwendung die Anfrage nach Ereignisberichten explizit entschärfen, um sie zu entfernen. Alternativ können sie auch in einem Modus "einmal berichten, dann entschärfen" scharfgemacht werden. Falls keine Ablauf zeit angegeben ist, kann des weiteren eine Vorgabezeit, z.B. 1 Stunde, auf die Regel angewendet werden. Wenn diese Zeit abgelaufen ist, wird die Regel gelöscht. Dies hat den Vorteil, dass vermieden wird, dass dem Server Datenspeicherkapazität ausgeht.alternative or additionally another type of arming can be used, which is considered as dynamically armed trigger is referred to as rules be added to a suitable rule module in the rule base. Dynamically armed triggers see a less elaborate mechanism in the game Meaning of processing power and execution memory for reporting of events that do not affect the transaction in which the application was triggered. Preferably, these requests should stored in a persistent store after event reports are, i. they become rules in the rule base. These rules can be through Specify a drain timer to be non-permanent, or permanent be. In the latter case, the service application should request Explicitly defuse according to event reports to remove them. Alternatively you can she also in a mode "once report, then "defuse". If no expiry time is specified, a default time, e.g. 1 hour to be applied to the rule. When this time has expired, the rule will be deleted. This has the advantage that prevents the server from running out of data storage capacity.
Vorzugsweise werden Triggerregeln einem Regelmodul hinzugefügt, für den die Anwendung die Privilegien und Rechte zum Aktualisieren hat. Es wird normalerweise das gleiche Regelmodul sein, von dem die Anwendung getriggert wurde. Wo genau in der Prioritätsreihenfolge innerhalb eines Regelmoduls diese Regeln hinzugefügt werden sollten, kann durch eine implizite Regelprioritätsreihenfolge bestimmt werden, d.h. eine ganze Zahl, die darstellt, wo die Regel innerhalb des existierenden Regelmoduls platziert sein sollte. Wenn zuerst ein SERL-Skript hinzugefügt wird, werden die Regeln in der Reihenfolge geordnet, wie sie in dem Skript erscheinen. Falls es N Regeln gibt, stehen die ganzen Zahlen 1 bis N impliziert mit den Regeln in Verbindung. Eine Regel kann durch Verweisen auf diese Zahlen gelöscht werden. Eine Regel kann durch Verweisen auf die Regel hinzugefügt werden, nach der die neue Regel platziert werden sollte. Dies hat den Vorteil, dass die Menge von Daten, die ausgetauscht werden muss, wenn eine Regel einem großen Regelmodul hinzugefügt wird, reduziert wird.Preferably Trigger rules are added to a rule engine for which the application has the privileges and rights to update. It usually gets the same Rule module from which the application was triggered. Where exactly in the order of priority within a rule module these rules are added can be determined by an implicit rule priority order, i.e. an integer that represents where the rule is within the existing rule module should be placed. If first one Added SERL script the rules are ordered in the order they are placed in appear in the script. If there are N rules, stand the whole Numbers 1 through N implies the rules. A rule can be deleted by referring to these numbers. A rule can be added by referring to the rule after which the new one Usually should be placed. This has the advantage that the amount of data that needs to be exchanged when a rule is a large rule module added is reduced.
Falls keine Position spezifiziert ist, dann kann der Regelmodulantrieb dem folgenden Algorithmus folgen, wenn diese Trigger hinzugefügt werden: Durchsuchen des Regelmoduls nach dem gleichen Eigenschaftsmuster wie in der neuen Regel. Falls ein Muster gefunden wird, Suchen nach einem beliebigen Teilmuster usw. Falls kein Teilmuster gefunden wird, Einfügen der Regel als die Regel höchster Priorität in der eingeschlossenen Liste von Aktionen. Falls kein ähnliches Muster bereits in dem Regelmodul ist, Einfügen als das erste Muster. Dieser Algorithmus sieht eine logisch vorteilhafte Platzierung der Regel vor. Er stellt z.B. sicher, dass die Aktionen für den Anrufer, wo TARGET = FROM (ZIEL = VON) ist, nicht mit Aktionen für Angerufene vermischt werden, wo TARGET = RequestURI (ZIEL = AnfrageURI) ist. Es bedeutet auch, dass Regeln, die zuletzt hinzugefügt werden, auch die ersten sind, auf die getroffen wird, wenn ein Ereignis geschieht. Dies ist das einfachste Vorgabeverhalten.If no position is specified, then the control module drive follow the following algorithm when adding these triggers: Search the rule engine for the same property pattern as in the new rule. If a pattern is found, look for any partial pattern, etc. If no partial pattern found will, paste usually the highest as the rule priority in the included list of actions. If no similar Pattern is already in the rule module, paste as the first pattern. This Algorithm provides a logically advantageous placement rule in front. He represents e.g. sure the actions for the caller where TARGET = FROM is NOT to be mixed with actions for called party, where TARGET = RequestURI. It also means that rules that are added last, also the first ones are hit upon when an event happens. This is the simplest default behavior.
Es kann möglich sein anzuzeigen, ob eine Triggerregel permanent ist oder automatisch gelöscht werden sollte, sobald das Ereignis gemeldet ist. Welchen Typ von Regeln eine Anwendung dynamisch hinzufügen kann, kann mit den Privilegien und Rechten verknüpft werden, die der Anwendung zugewiesen sind.It may be possible to indicate whether a trigger rule is permanent or automatic deleted should be as soon as the event is reported. Which type of Rules an application can dynamically add can be used with the privileges and rights linked which are assigned to the application.
In einer anderen alternativen Ausführungsform wird der kaskadierte Anfragebaum nur für die Lebensdauer eines Ereignisses aufrechterhalten. In diesem Fall ist dann, wenn die letzte Anwendung in der Kette ihre Verarbeitung beendet hat und das SIP-Ereignis gesendet ist, die kaskadierte Kette nicht länger relevant. Bis zu diesem Punkt kann es für den Regelantrieb nützlich sein, eine Darstellung der kaskadierten Kette im Speicher zu halten. Dies ist so, da Anwendungen auf getrennten Servern laufen können und es einige Zeit brauchen kann, auf den Aufruf zu reagieren. Während der Regelantrieb auf eine Antwort wartet, kann eine frühere Anwendung in der Kette die Anfrage löschen. Falls dies geschieht, wird der Regelantrieb den Anwendungsausführungsantrieb der Anwendung, auf die er wartet, informieren müssen. Dies bedeutet, dass sich der Regelantrieb daran erinnern sollte, was die nächste Anwendung in der Kette war. Zu der Zeit, zu der das SIP-Ereignis weitergeleitet wurde, sollten alle Anwendungen in der Kette scharfgemachte Regeln für die Ereignisse haben, für die sich interessieren, somit gibt es für den Regelantrieb nicht län ger eine Notwendigkeit, sich an die kaskadierte Kette zu erinnern. Der Vorteil dieser Lösung besteht darin, dass der Regelantrieb selbst einfach ist. Er meldet einfach Ereignisse basierend auf Regelmodulen in den relevanten Verarbeitungspunkten. Diese Lösung ist jedoch komplex zu administrieren und platziert die Komplexität einer Ordnung der Ereignisse in die Anwendungen, d.h. die Anwendungen müssen entscheiden, in welcher Prioritätsposition die Regel in einem Regelmodul hinzugefügt werden sollte.In another alternative embodiment becomes the cascaded request tree only for the lifetime of an event maintained. In this case, then, if the last application in the chain has finished processing and the SIP event is sent, the cascaded chain no longer relevant. Until this Point can it for the control drive useful be to keep a representation of the cascaded chain in memory. This is because applications can run on separate servers and It may take some time to respond to the call. During the Control drive waiting for a response, may be an earlier application in the chain delete the request. If this happens, the variable speed drive becomes the application execution drive the application he is waiting for. This means that yourself the governor should remember what the next application was in the chain. By the time the SIP event is forwarded was, all applications in the chain should be sharp-set rules for the Have events for which are of interest, so there is no longer a rule for the Regelantrieb Need to remember the cascaded chain. The advantage this solution is that the variable speed drive itself is easy. He reports simply events based on rule modules in the relevant Processing points. This solution however, it is complex to administer and places the complexity of one Order of events into the applications, i. the applications have to decide in which priority position the rule should be added in a rule module.
Die
obige Verarbeitungsstruktur, die in
Es wird vermerkt, dass eine Dienstanwendung das From-Headerfeld oder den Request-URI ändern kann. Des weiteren können das resultierende From-Headerfeld oder der resultierende Request-URI zu einem anderen Teilnehmer gehören, der sogar dem SIP-Server, der das Ereignis verarbeitet, unbekannt sein kann. Falls der resultierende From und/oder der Request-URI ein neuer, aber bekannter Teilnehmer in dem SIP-Server ist, werden die Dienste, die mit diesem Teilnehmer in Verbindung stehen, ebenso aufgerufen. In diesem Fall kann die Regelbasisverarbeitungsprozedur rekursiv aufgerufen werden, was zu einer hierarchischen Struktur von Regelbasisbäumen führt.It It is noted that a service application has the From header field or can change the request URI. Furthermore, you can the resulting From header field or the resulting Request URI belong to another participant, even unknown to the SIP server processing the event can be. If the resulting From and / or the Request URI a new but well-known subscriber in the SIP server is the services associated with this subscriber as well called. In this case, the rule base processing procedure recursively, resulting in a hierarchical structure of rule base trees leads.
Verarbeiten eines Regelmoduls umfasst den Schritt zum Ausführen jeder Aktion wiederum in Prioritätsreihenfolge, wobei evaluiert wird, ob die einschließenden Muster mit dem aktuellen Ereigniskontext übereinstimmen, und falls ja, Anwenden der Aktion. Im Folgenden wird ein Verfahren gemäß einer Ausführungsform der Erfindung detaillierter beschrieben.To process a rule module includes the step to perform each action turn in priority order, whereby it is evaluated whether the enclosing patterns match the current one Match event context, and if yes, apply the action. The following is a procedure according to a embodiment the invention described in more detail.
Das folgende Pseudocodefragment sieht eine Beschreibung hoher Ebene eines Algorithmus zum Verarbeiten eines Regelmoduls vor: The following pseudo code fragment provides a high-level description of an algorithm for processing a rule module:
Hier gibt die Methode enclosingPatternsTrue einen booleschen Wert zurück, der anzeigt, ob die Muster, die die Aktionen einschließen, wahr sind. Die Methode processAction kann wie in dem folgenden Pseudocodefragment angezeigt implementiert sein: wobei EC[] die Menge von Weiterleitungen des Ereigniskontextes ist. Falls sie leer ist, hat der Dienst die Anfrage oder Antwort abgeschlossen.Here, the enclosingPatternsTrue method returns a Boolean value that indicates whether the patterns that include the actions are true. The processAction method can be implemented as shown in the following pseudo-code snippet: where EC [] is the set of event context redirects. If empty, the service has completed the request or response.
Die Dienstanwendung kann ferner Instruktionen erteilen, die nicht Instruktionen sind, um den Ereigniskontext weiterzuleiten. Diese werden in dem obigen Algorithmus nicht gezeigt. Derartige Instruktionen können durch den Regelbasismanager verarbeitet werden.The Service application may also issue instructions that are not instructions are to forward the event context. These are in the above algorithm not shown. Such instructions can by the rule base manager.
Wenn Aktionen in Prioritätsreihenfolge ausgeführt werden, kann das Ergebnis der Aktion sein, den aktuellen Ereigniskontext zu ändern. Nach einer derartigen Aktion setzt sich die Verarbeitung des aktuellen Regelmoduls fort. Nach Ausführen des aktuellen Regelmoduls können weitere Regelmodule gemäß der Regelbasisverarbeitungsprozedur ausgeführt werden. Die Aktionen unterer Prioritätsreihenfolge werden nur ausgeführt, falls das (die) Muster, das (die) sie einschließ(t)(en), mit den neuen Nachrichteneigenschaften übereinstimm(t)(en), wie durch den aktuellen Ereigniskontext spezifiziert. Dies wird durch das folgende Beispiel eines Fragmentes eines Pseudoskriptes veranschaulicht, welches zwei Aktionen beschreibt, die durch zwei Muster eingeschlossen sind: When actions are performed in order of priority, the result of the action may be to change the current event context. After such an action, the processing of the current rule module continues. After executing the current rule module, further rule modules may be executed according to the rule base processing procedure. The lower priority order actions are executed only if the pattern (s) they include (t) match the new message properties (t) as specified by the current event context. This is illustrated by the following example of a fragment of a pseudo-script describing two actions that are included by two patterns:
Die zwei Aktionen werden durch zwei Muster eingeschlossen, die anzeigen, dass die Aktionen nur angewendet werden sollten, falls die Anfrage ein EINLADEN ist und der RequestURI den Domänennamen xcorp.com enthält. Die erste Aktion ruft ein vom Benutzer bereitgestelltes CPL-Skript auf. Falls das Benutzer-CPL-Skript das Ziel der Anfrage nicht ändert, wird das Standard-Proxy-Verhalten aufgerufen, um den Benutzer zu lokalisieren und die Anfrage stellvertretend zu behandeln. Falls das CPL-Skript das Ziel ändert, sodass das Ziel zu einem anderen Host auflösen wird, muss das Standard-Proxy-Verhalten nicht aufgerufen werden.The two actions are enclosed by two patterns that indicate that the actions should only be applied if the request is an INVITE and the requestURI contains the domain name xcorp.com. The first action invokes a user-supplied CPL script. If the user CPL script does not change the destination of the request, then called the default proxy behavior to locate the user and treat the request proxy. If the CPL script the goal changes, The default proxy behavior must be that the destination will resolve to another host not be called.
Falls sich die Nachrichteneigenschaft, die das Regelmodul getriggert hat, ändert, sodass sie einen neuen Benutzer darstellt, wird die Verarbeitung dieses Regelmoduls gestoppt. Der Zweck davon ist, dass von Regelmodulen gedacht werden kann, im Namen eines einzelnen Benutzers verarbeitet zu werden. Dies vereinfacht die Regelmodulverarbeitung und Skriptentwicklung.If the message property that triggered the rule engine changes so that she represents a new user, processing this Control module stopped. The purpose of this is that of rule modules can be thought of, processed on behalf of a single user to become. This simplifies rule module processing and script development.
Wie
durch das Beispiel von
Falls
die fünf
Anwendungen
Des weiteren kann der Mechanismus verwendet werden, um Privilegien und Rechte von Dienstanwendungen zu managen. Falls ein Teilnehmer ein CPL-Skript hochlädt, kann es ein zugehöriges Regelmodul geben, das diesen Dienst in dem richtigen Zeitpunkt auf ruft. In diesem Fall sollte das Regelmodul explizite Privilegien und Rechte haben dies zu tun. Dies kann durch Verbinden von Zugriffssteuerlisten mit dem CPL-Skript gemanagt werden. Der Mechanismus kann ferner verwendet werden, um Privilegien und Rechte der Dienstanwendung explizit zu spezifizieren, z.B. welche Dienstmerkmale, APIs etc. die Dienstanwendung verwenden kann. Deshalb erlaubt er dem Administrator, Privilegien und Rechte von Dienstanwendungen zu managen.Of Further, the mechanism can be used to set privileges and Manage rights of service applications. If a participant enters Upload CPL script, it may be an associated Give rule module this service at the right time calls. In this case, the rules engine should have explicit privileges and rights have to do that. This can be done by connecting access control lists be managed with the CPL script. The mechanism may further used to privileges and rights of the service application to specify explicitly, e.g. which service features, APIs etc. can use the service application. Therefore, he allows the administrator Manage privileges and rights of service applications.
Bezug
nehmend auf die nummerierten Kreise in
- 1) Es wird ein ursprünglicher
Ereigniskontext
2001 zu dem Regelmodul nach richtiger Authentifizierung von Teilnehmern gesendet (A ist der Anrufer, B der Aufgerufene). Regelmodule und Dienstanwendungen sind alle authentifiziert, und ihnen wurden Privilegien und Rechte gegeben. - 2) Der Regelbasisprozessor
2002 versucht, auf Regelmodule in der Regelbasis2003 zuzugreifen, die mit einem authentifizierten Teilnehmer A oder B oder beiden in Verbindung stehen. Dem Regelbasisprozessor2002 sollte nicht erlaubt werden, auf Regelmodule zuzugreifen, die mit anderen Teilnehmern in Verbindung stehen, wenn dieses Ereignis verarbeitet wird. Die Regelbasis2003 kann sich auf einem ent fernten Server befinden, in welchem Fall sich der Regelantrieb selbst authentifizieren sollte. - 3) Falls gemäß der Zugriffssteuerliste
2005 erlaubt, kann der Regelbasisprozessor2002 das geladene Regelmodul2004 aufrufen, sagen wir Regelmodul 1, das sich im Besitz von A befindet. - 4) Falls gemäß der Zugriffssteuerliste
2006 erlaubt, kann Regelmodul2004 versuchen, ein anderes Regelmodul2007 aufzurufen, das mit einem anderen Besitzer B in Verbindung steht. - 5) Falls gemäß der Zugriffssteuerliste
2008 erlaubt, kann der Regelbasisprozessor2002 das geladene Regelmodul2007 aufrufen. - 6) Falls gemäß den Zugriffssteuerlisten
2005 und2012 erlaubt, kann Regelmodul2004 versuchen, Dienstanwendung2010 aufzurufen, falls erlaubt. Die Dienstanwendung2010 kann gemäß Zugriffssteuerliste2011 auf den Ereigniskontext2013 zugreifen. - 7) Die Dienstanwendung
2010 kann eine Menge von Instruktionen2014 zurückgeben, die zu dem Regelmodulprozessor zurück vermittelt wird, falls gemäß Zugriffssteuerliste2015 erlaubt. - 8) Die Dienstanwendung
2010 kann für Ereignisse scharfmachen/entschärfen, falls gemäß Zugriffssteuerliste2015 erlaubt. - 9) Die Dienstanwendung
2010 kann versuchen, einem anderen Regelmodul2007 als dem einen, den sie aufgerufen hat, Instruktionen zu geben, falls gemäß Zugriffssteuerliste2012 erlaubt.
- 1) It becomes an original event context
2001 sent to the rule module after proper authentication of subscribers (A is the caller, B the called). Rule modules and service applications are all authenticated, and given privileges and rights. - 2) The rule base processor
2002 Attempts to control modules in the rule base2003 accessing an authenticated subscriber A or B or both. The rule base processor2002 should not be allowed to access rule modules that are in contact with other participants when this event is processed. The rule base2003 can be located on a remote server, in which case the rule drive should authenticate itself. - 3) If according to the access control list
2005 allowed, the rule base processor2002 the loaded control module2004 call, say, rule module 1, which is owned by A. - 4) If according to the access control list
2006 allowed, can rule module2004 try another rule module2007 call that is associated with another owner B. - 5) If according to the access control list
2008 allowed, the rule base processor2002 the loaded control module2007 call. - 6) If applicable, according to the access control lists
2005 and2012 allowed, can rule module2004 try service application2010 call, if allowed. The service application2010 can according to access control list2011 on the event context2013 access. - 7) The service application
2010 can be a lot of instructions2014 which is returned to the rule module processor, if according to the access control list2015 allowed. - 8) The service application
2010 can arm / disarm events for events, as per access control list2015 allowed. - 9) The service application
2010 can try another rule module2007 as the one she has called to give instructions, if according to access control list2012 allowed.
Zugriffssteuerung auf Regelmodule kann durch die Richtlinienknoten in einem Regelmodul durchgesetzt werden. Ein Beispiel einer Regelmodul-Zugriffssteuerliste, die in einem Regelmodul eingebettet ist, kann wie folgt aussehen: Access control to rule engines can be enforced by the policy nodes in a rule engine. An example of a rule module access control list embedded in a rules engine might look like this:
Diese Richtlinie (policy) könnte auf das gesamte Regelmodul angewendet werden, in welchem Fall sie festlegt, dass der Teilnehmer Alice dieses Regelmodul aufrufen kann, sie es aber nicht lesen oder schreiben darf.These Directive (policy) could be applied to the entire rule module, in which case it determines that the subscriber Alice can call this rule module, they can do it but not allowed to read or write.
Derartige Richtlinien-XML-Skripte können innerhalb von Regelmodulen eingebettet sein, sie können aber auch mit Datenelementen in Verbindung stehen. Z.B. kann der Netzbetreiber ein Richtlinien-XML-Skript mit dem Regelmodul eines Teilnehmers verknüpfen, das die Privilegien spezifiziert, die dem Besitzer des Regelmoduls durch den Netzbetreiber gewährt werden. Diese Privilegien könnten die Dienste oder Dienstmerkmale spezifizieren, welche dem Regelmodul erlaubt werden aufzurufen, wie durch das folgende Beispiel einer derartigen Dienstzugriffssteuerliste veranschaulicht wird: Such policy XML scripts may be embedded within rule modules, but may also be associated with data items. For example, the network operator may associate a policy XML script with the subscriber's policy module specifying the privileges granted to the owner of the policy module by the network operator. These privileges could specify the services or service features that will allow the policy module to invoke, as illustrated by the following example of such a service access control list:
Es wird vermerkt, dass eine SIP-Server-Dienstunterstützungsumgebung ferner angepasst sein kann, Abrechnungsdatensätze zu generieren, z.B. für Inhaltsabrechnung, Anwendungsabrechnung, Benutzungsabrechnung oder dergleichen. Z.B. können die Datensätze über Protokolle von SERL-Skripten oder CPL-Skripten bereitgestellt, über Bibliotheksfunktionen oder Dienstanwendungen gemanagt werden etc.It It is noted that a SIP server service support environment Further, it may be adapted to generate billing records, e.g. for content billing, Application billing, usage billing or the like. For example, can the records via logs provided by SERL scripts or CPL scripts, via library functions or service applications to be managed etc.
Des weiteren implementiert ein System, das Diensttriggerung gemäß der Erfindung implementiert, vorzugsweise Sicherheitsmaßnahmen, um Sicherheit und Integrität des SIP-Knotens zu bewahren, obwohl Teilnehmern und Dienstanbietern einer dritten Seite erlaubt sein kann, nicht nur Dienstanwendungen hochzuladen, sondern auch Instruktionen dazu, wie und wann sie aufzurufen sind, inkludierend irgendeinen Grad von Merkmalsinteraktionsauflösung. Mögliche Sicherheitsmaßnahmen in kludieren die Konfiguration von Privilegien und Rechten von Regelmodulen, Dienstanwendungen, Namensraumkonventionsrichtlinien, Authentifizierungsmechanismen, Autorisierungsmechanismen, Zugriffsschutz, Authentifizierung und Validierung von hochgeladenen Regelmodulen, Protokollierung und Überwachung etc.Of another implements a system, service triggering according to the invention implements, preferably security measures, to security and integrity of the SIP node, although subscribers and service providers a third party may be allowed, not just service applications but also instructions on how and when to call them are inclusive of any degree of feature interaction resolution. Possible security measures in declare the configuration of privileges and rights of rule modules, Service applications, namespace convention policies, authentication mechanisms, Authorization mechanisms, access protection, authentication and Validation of uploaded rule modules, logging and monitoring Etc.
Es wird vermerkt, dass die Erfindung hauptsächlich in Verbindung mit Netzdiensten beschrieben wurde. Sie ist jedoch auch anwendbar, in einer Endbenutzerausrüstung verwendet zu werden.It It is noted that the invention is primarily related to network services has been described. However, it is also applicable when used in end-user equipment to become.
Des weiteren wird vermerkt, dass die Erfindung, obwohl hauptsächlich in Verbindung mit SIP beschrieben, ebenso andere Signalisierungsprotokolle annehmen kann. SERL ist nicht darauf begrenzt, Dienste basierend auf SIP-Ereignissen aufzurufen, sondern kann einen beliebigen Typ einer Dienstanwendung basierend auf einem beliebigen Typ eines Ereignisses in dem Kontext eines beliebigen Typs eines Geschäftsmodells aufrufen. Die Erfindung kann angewendet werden, Dienste für einen beliebigen SIP-freigegebenen Knoten zu managen. Unter Verwendung von SERL-Skripten können Dienste von Knoten aufgerufen werden, die Benutzeragenten, Archivare, Umlenkungsserver oder Proxyserver implementieren.Of Further, it is noted that the invention, although mainly in Connection with SIP described, as well as other signaling protocols can accept. SERL is not limited to services based can call on SIP events, but can be of any type a service application based on any type of event in the context of any type of business model. The invention can be applied services for any SIP-shared To manage knots. Using SERL scripts, services can called by nodes, the user agents, archivists, redirection servers or implement proxy servers.
Schließlich wird vermerkt, dass in der 3GPP-Architektur alle Teilnehmerdaten in dem so genannten Heimatteilnehmerserver (Home Subscriber Server, HSS) administrieren werden. Auf SIP-bezogene Anwendungen werden von einem Knoten aufgerufen, der eine bedienende Rufzustandssteuerfunktion (Serving Call State Control Function, S-CSCF) genannt wird. Wenn sich ein Teilnehmer mit einem Netz verbindet, führt seine Benutzerausrüstung (User Equipment, UE) eine CSCF-Ermittlung durch, um eine geeignete S-CSCF auszuwählen. Die S-CSCF registriert bei dem HSS, den sie bedient, den in Frage kommenden Teilnehmer.Finally will notes that in the 3GPP architecture all subscriber data in the so-called Home Subscriber Server (HSS) to administer. On SIP-related Applications are called by a node that has a serving Call State Control Function (Serving Call State Control Function, S-CSCF). When a subscriber connects to a network, carries his user equipment (User Equipment, UE) performs a CSCF determination to obtain a suitable S-CSCF select. The S-CSCF registers with the HSS it serves upcoming participants.
Diensttrigger könnten dann von dem HSS zu der S-CSCF in der Form von Dienstausführungsregeln in dem SERL-Format transportiert werden. Der HSS könnte auch die Dienstausführungsregeln verwenden, die mit einem Teilnehmer in Verbindung stehen, um zu entscheiden, eine andere S-CSCF zuzuordnen, basierend darauf, welche S-CSCF die richtigen Dienste installiert hat. Daher kann eine Ausführungsform der Erfindung verwendet werden, damit der HSS die teilnehmerbasierten Trigger in dem richtigen Verarbeitungspunkt und Priorität und somit in der richtigen Prioritätsreihenfolge mit permanenten Diensten, die in der S-CSCF installiert sind, platziert. Daher kann ein Mechanismus gemäß der Erfindung in der 3GPP-IPMM-Domäne eingebettet sein.Service triggers could then pass from the HSS to the S-CSCF in the form of service execution rules be transported in the SERL format. The HSS could also use the service execution rules associated with a subscriber to decide to assign another S-CSCF based on which S-CSCF has installed the correct services. Therefore, one embodiment of the invention may be used to allow the HSS to place the subscriber-based triggers in the correct processing point and priority, and thus in the proper priority order with permanent services installed in the S-CSCF. Therefore, a mechanism according to the invention may be embedded in the 3GPP IPMM domain.
Claims (27)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DK200100707 | 2001-05-07 | ||
DKPA200100707 | 2001-05-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60108725D1 DE60108725D1 (en) | 2005-03-10 |
DE60108725T2 true DE60108725T2 (en) | 2006-04-13 |
Family
ID=8160475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60108725T Expired - Lifetime DE60108725T2 (en) | 2001-05-07 | 2001-11-22 | Architecture for triggering the services |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1257129B1 (en) |
AT (1) | ATE288658T1 (en) |
DE (1) | DE60108725T2 (en) |
ES (1) | ES2233590T3 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20012406A (en) * | 2001-12-05 | 2003-06-06 | Comptel Corp | A method and arrangement for processing a transaction in mobile telecommunications |
DE102004030290A1 (en) * | 2004-06-23 | 2006-01-19 | Siemens Ag | Establishing a connection for the exchange of data of an IP-based service |
JP4830503B2 (en) * | 2006-01-18 | 2011-12-07 | 株式会社日立製作所 | Communication session establishment mediating system and method protecting personal information |
EP1860844A3 (en) * | 2006-05-26 | 2007-12-05 | Vodafone Group PLC | A process for transforming and managing messages from SIP signalling into an event-managed asynchronous system |
EP2316193A1 (en) | 2008-07-02 | 2011-05-04 | Telefonaktiebolaget L M Ericsson (PUBL) | Service enablement/disablement based on service relationships |
EP2517439B1 (en) * | 2009-12-22 | 2017-03-08 | Telefonaktiebolaget LM Ericsson (publ) | Method for coordinating the provision of a composite service |
CN110297675A (en) * | 2019-04-23 | 2019-10-01 | 五八有限公司 | Method, apparatus, electronic equipment and the storage medium that intermodule mutually calls |
CN110083342B (en) * | 2019-04-26 | 2023-04-18 | 重庆紫光华山智安科技有限公司 | Program generation method and device and computer readable storage medium |
-
2001
- 2001-11-22 ES ES01610120T patent/ES2233590T3/en not_active Expired - Lifetime
- 2001-11-22 DE DE60108725T patent/DE60108725T2/en not_active Expired - Lifetime
- 2001-11-22 AT AT01610120T patent/ATE288658T1/en not_active IP Right Cessation
- 2001-11-22 EP EP01610120A patent/EP1257129B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1257129A1 (en) | 2002-11-13 |
ATE288658T1 (en) | 2005-02-15 |
ES2233590T3 (en) | 2005-06-16 |
EP1257129B1 (en) | 2005-02-02 |
DE60108725D1 (en) | 2005-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030187992A1 (en) | Service triggering framework | |
DE69921455T2 (en) | SYSTEM AND METHOD FOR ACCESS CONTROL TO STORED DOCUMENTS | |
DE69818008T2 (en) | DATA ACCESS CONTROL | |
DE60013227T2 (en) | Communication Service Offer | |
DE60031788T2 (en) | SYSTEM FOR PROVISION OF SERVICES | |
DE60133648T2 (en) | SYSTEM AND METHOD FOR LEADING RUNTIME DATA IN A SERVER NETWORK | |
DE69929340T2 (en) | PROCESS AND SYSTEM FOR INTELLIGENT, DISTRIBUTED NETWORK ARCHITECTURE | |
DE69910816T2 (en) | METHOD AND DEVICE FOR PROVIDING REAL-TIME CALL HANDLING SERVICES IN AN INTELLIGENT NETWORK | |
DE60018446T2 (en) | ARCHITECTURE FOR DESCRIPTIVE DESIGN AND MANAGEMENT | |
DE69738309T2 (en) | DISTRIBUTED PROCESSING | |
DE60020518T2 (en) | Administration of user profiles | |
DE19882235B4 (en) | Use of web technology for subscriber management activities | |
DE69835158T2 (en) | ACCESS POINT FOR SERVICE MANAGEMENT | |
DE102011016864A1 (en) | ANWENDUINGSLADEN | |
DE112011102129T5 (en) | Security model for operations that merge secure third-party services | |
DE10295699T5 (en) | An arrangement and method related to session management in a portal structure | |
DE10311074A1 (en) | Methods and arrangements in a telecommunications network | |
DE60035348T2 (en) | Extendable provisioning mechanism for a service gateway | |
DE60108725T2 (en) | Architecture for triggering the services | |
DE10238546A1 (en) | Process for the provision of resources in communication networks | |
DE10314597A1 (en) | Service providing system for public switched telephone network, includes data records in which service information is stored, for facilitating centralized provision of service in service network | |
EP1010052B1 (en) | Method for controlling distribution and use of software products with network-connected computers | |
DE60004216T2 (en) | CONNECTION IDENTIFIER | |
JP3982691B2 (en) | Service triggering framework | |
DE10295700T5 (en) | An arrangement and method related to end user station access to a portal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |