JP2005515519A - Method and apparatus for automatic notification and response - Google Patents
Method and apparatus for automatic notification and response Download PDFInfo
- Publication number
- JP2005515519A JP2005515519A JP2002590633A JP2002590633A JP2005515519A JP 2005515519 A JP2005515519 A JP 2005515519A JP 2002590633 A JP2002590633 A JP 2002590633A JP 2002590633 A JP2002590633 A JP 2002590633A JP 2005515519 A JP2005515519 A JP 2005515519A
- Authority
- JP
- Japan
- Prior art keywords
- communication flow
- recipient
- message
- sender
- response
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- 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
-
- 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/42025—Calling or Called party identification service
- H04M3/42085—Called party identification service
- H04M3/42102—Making use of the called party identifier
- H04M3/4211—Making use of the called party identifier where the identifier is used to access a profile
-
- 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/42229—Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location
-
- 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/42382—Text-based messaging services in telephone networks such as PSTN/ISDN, e.g. User-to-User Signalling or Short Message Service for fixed networks
-
- 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/436—Arrangements for screening incoming calls, i.e. evaluating the characteristics of a call before deciding whether to answer it
-
- 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/46—Arrangements for calling a number of substations in a predetermined sequence until an answer is obtained
-
- 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/46—Arrangements for calling a number of substations in a predetermined sequence until an answer is obtained
- H04M3/465—Arrangements for simultaneously calling a number of substations until an answer is obtained
-
- 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/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
-
- 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/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/53—Centralised arrangements for recording incoming messages, i.e. mailbox systems
-
- 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
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/205—Broadcasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2066—Call type detection of indication, e.g. voice or fax, mobile of fixed, PSTN or IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2207/00—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
- H04M2207/08—ISDN systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2207/00—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
- H04M2207/12—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place intelligent networks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Multimedia (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Transfer Between Computers (AREA)
Abstract
開示されている通知および応答システムを使用すると、さまざまな種類の媒体を使用してアプリケーションと受信者との通信が可能になる。通知および応答システムは(i)それぞれの個別受信者により指定された媒体を使用して1人または複数の受信者に要求を送信し、(ii)応答を収集して処理し、(iii)最終宛先により指定された媒体を使用して最終宛先に応答を転送する。アプリケーション、少なくとも1つのサポートされている人間の言語および媒体形式で要求をフレーム化し、要求を該当する受信者に、その環境設定に応じて配送する。通信フロー式で、指定された要求の受信者および各受信者が要求をいつ、どこで、どのように、受信するかを指定する。要求は、動的に更新され、通信フロー式のパラメータは、要求が配送されるまで、評価されない。通信フロー規則により、受信者の通信の環境設定を指定し、送信者側の特性、トピック、またはスケジューリングの制約条件に合わせて通信フローを手直しする。通信フロー式は、通知失敗(maybe)、応答失敗(false)、および応答成功(true)の3値論理を使用して評価する。プリミティブは、同時または順次連絡を指定し、また成功検査結果の論理結合を定義することによりいつ部分式の実行を終了すべきかを指定する。 Using the disclosed notification and response system, communication between the application and the recipient is possible using various types of media. The notification and response system (i) sends a request to one or more recipients using the media specified by each individual recipient, (ii) collects and processes the responses, and (iii) finals Forward the response to the final destination using the media specified by the destination. The application frames the request in at least one supported human language and media format and delivers the request to the appropriate recipients according to their preferences. In the communication flow equation, the designated request recipients and each recipient specify when, where and how the request is received. The request is updated dynamically and the communication flow parameters are not evaluated until the request is delivered. The communication flow rules specify the communication environment settings of the receiver, and the communication flow is revised according to the sender's characteristics, topics, or scheduling constraints. The communication flow expression is evaluated using a ternary logic of notification failure (maybe), response failure (false), and response success (true). Primitives specify simultaneous or sequential communication, and specify when subexpression execution should end by defining logical combinations of success check results.
Description
本発明は、一般に1人または複数の受信者と通信するための方法および装置に関するものであり、より具体的には、アプリケーションと1つまたは複数の異なる種類の媒体を使用する1人または複数の受信者との間で自動的な通知および応答を行うための方法および装置に関するものである。 The present invention relates generally to a method and apparatus for communicating with one or more recipients, and more specifically, one or more applications and applications that use one or more different types of media. The present invention relates to a method and apparatus for automatic notification and response with a recipient.
本出願は、2001年5月15日に出願した米国仮出願番号60/291,087の特権を主張するものである。 This application claims the privilege of US Provisional Application No. 60 / 291,087, filed May 15, 2001.
企業向けアプリケーションでは、人々との連絡が必要であり、またその連絡の取り方および応答があった場合にどのような応答を収集するかに関して要求条件が設定されている。たとえば、アプリケーションにより、ある種の関心を持つすべての人々、または特定のリストに載っている人々または1人の人と連絡を取らなければならない場合がある。また、今まさに危機的状態にある人に連絡を取る必要がある場合や、適切な時期にタスクのあることを知らせて思い出させたい場合がある。企業向けアプリケーションではさらに、何が成功かということが企業によって定義されている場合に、連絡が不成功だった場合に何をすべきかについても必要条件を定めている。 Enterprise applications require contact with people, and there are requirements on how to get in touch and what responses are collected when there is a response. For example, an application may have to contact all people of a certain interest, or people on a particular list or one person. You may also need to contact someone who is in a critical state right now, or you may want to be reminded and reminded of a task at an appropriate time. Enterprise applications also set requirements for what to do if the contact is unsuccessful where what is successful is defined by the company.
一方、受信者側は、連絡の取り方および連絡を取る時期について各自の環境設定(preference)がある。たとえば、受信者は、上司や家族などの特定の人々、あるいはフォーチュン500社のリストに載っている会社の企業幹部などの特定の利害を代表する人々がリアルタイムで連絡をより自由に取れるようにしたいと考えている。さらに、受信者は、日常的に、週別状況または支出更新などの知られているタスクについての連絡を、都合のよい時期または場所が確定するまで遅らせたい場合もある。多くの場合、受信者側の環境設定は、企業側の環境設定または特定のアプリケーションの実装に反する。そのような場合には、受信者は受信者の環境設定がかなえられるように何とかやりくりしてアプリケーションの制約事項に対処するが、そうでなければ、企業のプロセスにフラストレーションを感じたり、さらには煩わしくなったりする。 On the other hand, the receiver side has their own preferences regarding how to contact and when to contact. For example, the recipient wants to be more free in real time to contact specific people, such as bosses and family members, or representatives of specific interests, such as company executives on a Fortune 500 list. I believe. In addition, recipients may routinely want to delay communication about known tasks such as weekly situations or spending updates until a convenient time or place is established. In many cases, recipient-side preferences are contrary to enterprise-side preferences or specific application implementations. In such cases, the recipient manages to address the application constraints to ensure that the recipient's preferences are met, but otherwise it feels frustrated by the corporate process, and even It becomes annoying.
アプリケーションが1人または複数の受信者と通信できるようにする通知システムが多数、提案されたり開発されたりしている。しかし、既存の通知システムは、媒体および機能の点で制限があるのがふつうである。たとえば、通知システムは、電子メール・メッセージを携帯電話またはポケットベルにしか送信できないことがある。さらに、既存の通知システムでは、異なる通信インフラ基盤の柔軟な使用に対応していない。たとえば、WAP Forum、「Wireless Access Protocol 1.2.1」、June 2000で説明されているWireless Access Protocol(WAP)を使用するサービスなどの無線サービスが成長し、1つのデバイスとのみ連絡を取り、それにより、携帯電話のWebフォームへの応答のプッシュおよび受信を行う通知および応答サービスが多数開発されてきている。 Many notification systems have been proposed or developed that allow applications to communicate with one or more recipients. However, existing notification systems are usually limited in terms of media and functionality. For example, a notification system may only be able to send an email message to a cell phone or pager. Furthermore, existing notification systems do not support the flexible use of different communication infrastructure platforms. For example, wireless services such as the WAP Forum, “Wireless Access Protocol 1.2.1”, and the services using the Wireless Access Protocol (WAP) described in June 2000 have grown and contacted only one device, As a result, many notification and response services have been developed that push and receive responses to web forms on mobile phones.
たとえば、M.Handley et al.「SIP:Session Initiation Protocol」RFC 2543、1999年3月で説明されているようなSession Initiation Protocol(SIP)は、デバイスのSIP Uniform Resource Locator(URL)を登録することにより特定のデバイスにユーザーを関連付けることができるレジストリを備える。ユーザーとの通信を確立するのと並行して、または順次、所定のユーザーについてレジストリに記録されているURLのリストを使って連絡を取ることができる多数のSIPプロキシが存在する。たとえば、J.Lennox and H.Schulzrinne「CPL:A Language for User Control of Internet Telephony Services」Draft RFC draft−ietf−iptel−cpl−05.txt、2001年11月で説明されているようなCall Processing Language(CPL)はSIPプロキシに関して提案されている言語である。 For example, M.M. Handley et al. Session Initiation Protocol (SIP), as described in "SIP: Session Initiation Protocol" RFC 2543, March 1999, associates a user with a specific device by registering the device's SIP Uniform Resource Locator (URL). Provide a registry that can. There are a number of SIP proxies that can be contacted using a list of URLs recorded in the registry for a given user in parallel or sequentially with establishing communication with the user. For example, J.A. Lennox and H.M. Schulzrin "CPL: A Language for User Control of Internet Telephony Services" Draft RFC draft-ietf-iptel-cpl-05. Call Processing Language (CPL), as described in txt, November 2001, is a proposed language for SIP proxies.
CPLでは、ユーザーはあらかじめ、送信者および宛先のアドレスまたはINVITEの件名内の文字列の解釈など、SIP INVITEメッセージ(SIPプロトコルに従ってユーザーとの連絡を確立するために使用される)の特性を付加された特定のURLを選択する方法を指定することができる。CPLではさらに、ユーザーはタイムアウトを指定することができるため、受信者との通信確立を試みるときに順次INVITEメッセージ列を特定のデバイスに送ろうとすることができる。さらに、SIPでは、各SIPデバイスまたはエンド・ポイント側でユーザーの環境設定を媒体タイプおよび人間の言語の重み付きリストとして指定することができる。送信者は、利用できるようにしている媒体タイプおよび人間の言語から、最も高い重み付けの媒体タイプおよび人間の言語を用意するように求められる。SIPおよびCPLは、通信の結果の解釈、およびその結果に応じてさまざまなアクションを実行することについてはサポートしていない。たとえば、電話がかかって応答に成功した後、SIPおよびCPLは、ユーザーが電話を切ったのか、実際に要求に応答したのかを検出しない。 In CPL, a user is pre-added with the characteristics of a SIP INVITE message (used to establish contact with the user according to the SIP protocol), such as interpretation of the sender and destination addresses or strings in the subject of the INVITE. A method for selecting a specific URL can be designated. In addition, the CPL allows the user to specify a timeout so that a sequence of INVITE message sequences can be sent to a particular device when attempting to establish communication with the recipient. In addition, in SIP, each SIP device or endpoint can specify user preferences as a weighted list of media types and human languages. The sender is asked to provide the highest weighted media type and human language from the media types and human languages that are made available. SIP and CPL do not support interpretation of communication results and performing various actions depending on the results. For example, after receiving a call and successfully responding, SIP and CPL do not detect whether the user hung up or actually responded to the request.
システム内のデータ・フローまたはプログラム・フローを指定する十分な技術は存在しているが、通信フローを指定するのに利用できる手法は通常、初歩的なものである。通信フローは、要求者側から受信者側への要求の経路である。これらの既存の通信フローの技術では、要求に関して受信者を指定することを、電子メール・メッセージをメールボックスに送ったり、メッセージをポケットベルに送信したりするなどの何らかのあらかじめ定められている連絡方法と同一視している。通信フロー経路は多くの場合、2人の当事者間の単純な接続と考えられるが、現代的な通信機能により、さまざまな通信フローが可能である。たとえば、与えられた通信フローは、(i)並行してまたは順次に受信者または受信者が使用するデバイスと連絡を取るか、(ii)すべての受信者または受信者の一部だけが要求に応答するのを待つか、または(iii)通信エラーが発生したときに別の方向を選択することができる。 Although sufficient techniques exist to specify data flow or program flow within the system, the techniques available for specifying communication flows are usually rudimentary. The communication flow is a request path from the requester side to the receiver side. These existing communication flow technologies specify a recipient for the request, some predefined contact method, such as sending an email message to a mailbox or sending a message to a pager. Are identified. The communication flow path is often considered as a simple connection between two parties, but various communication flows are possible due to modern communication functions. For example, a given communication flow may either (i) contact the receiver or the device used by the receiver in parallel or sequentially, or (ii) all the recipients or only some of the recipients Wait for a response or (iii) another direction can be selected when a communication error occurs.
したがって、要求に対する受信者、および各受信者が要求をいつどこでどのように受信し、それに対する応答でさらにどのように通信を進めるかなどの、通信フローのパラメータを都合よく、正確に指定する一般的な手法が要求される。さらに、アプリケーションの要件および受信者の環境設定を捕捉し、組み合わせるような方法で通信のパラメータを指定する手法も必要である。
概して、1つまたは複数のアプリケーションが、電子メール、電話、Webページ、ポケットベル、またはFAXなどの多様な複数の媒体を使用して1人または複数の受信者と通信することができる通知および応答システムが開示されている。一般に、通知および応答システムは(i)それぞれの個別受信者により指定された媒体を使用して1人または複数の受信者に要求を送信し、(ii)応答を収集して処理し、(iii)最終宛先により指定された媒体を使用して最終宛先に応答を転送する。 In general, notifications and responses that allow one or more applications to communicate with one or more recipients using a variety of multiple media such as email, phone, web page, pager, or fax. A system is disclosed. In general, the notification and response system (i) sends a request to one or more recipients using media specified by each individual recipient, (ii) collects and processes the responses, and (iii) ) Forward the response to the final destination using the media specified by the final destination.
アプリケーションでは、サポートされている多数の人間の言語および媒体形式のうちの1つで要求をフレームにまとめることができ、要求は、それぞれの受信者の媒体および人間の言語に対する環境設定に応じて、該当する受信者に自動的に配送される。したがって、受信者は、指定された環境設定およびエンド・ポイントの能力に応じて、異なるアプリケーションまたはシステム(またはその両方)からメッセージを受信する。応答は、対応するアプリケーションに都合のよい形式でそれぞれのアプリケーションに返される。アプリケーションは、メッセージを1人または複数の指定された受信者に送信するか、あるいはあらかじめ定められている受信者リストまたはロールに従って送信することができる。受信者の環境設定およびロール・データベースは、受信者リスト、ロール、受信者環境設定を集中管理することができる。受信者の環境設定およびロール・データベースには、ロール、人、およびデバイスの情報だけでなく、関連する通信フロー情報も記録される。 Applications can frame requests in one of many supported human languages and media formats, depending on the environment settings for each recipient's media and human language, Automatically delivered to appropriate recipients. Thus, the recipient receives messages from different applications and / or systems depending on the specified environment settings and end point capabilities. The response is returned to each application in a format convenient for the corresponding application. The application can send the message to one or more designated recipients or according to a predetermined recipient list or role. The recipient preferences and role database can centrally manage recipient lists, roles, and recipient preferences. The recipient preferences and role database records not only role, person, and device information, but also associated communication flow information.
アプリケーションでは、通信フロー式を使用して、連絡相手(「Bob」)、連絡条件(「Annが「yes」の返事をした場合のみ」)、および連絡日時(「週末の午前9時から午後5時までの間」を指定する。受信者は、デバイスをどのように使用するか、つまり、どのデバイスを使用し、いつ連絡するかという詳細を使用して通信フロー式を精密化する規則を指定する。受信者は、さらに、いくつかの要求を他の受信者に自動的に委託することもできる。本発明の一特徴によれば、要求は、要求が配送されるまで新しい情報で動的に更新することができ、したがって、受信者は最近のビジネス情報を受信する。さらに、通信フロー式のパラメータ(誰が、何を、およびいつ)は、要求が配送されたときに評価され、要求は最新の受信者環境設定に応じて配送される。 The application uses a communication flow formula to identify the contact ("Bob"), contact conditions ("Ann answers" yes "only"), and contact date and time ("9am to 5pm on weekends") Specify how long the recipient will use the device, that is, the rules that refine the communication flow expression using details about which device to use and when to contact. The recipient can also automatically delegate some requests to other recipients.According to one aspect of the invention, the request is dynamically updated with new information until the request is delivered. Therefore, the recipient receives recent business information, and the communication flow parameters (who, what, and when) are evaluated when the request is delivered, and the request is Latest recipient It is delivered in accordance with the boundary set.
アプリケーションは、特定の通知メッセージを一人または複数の受信者に送信し、その通知に対する応答を収集して要求者に返すか、または他のアプリケーションに転送することを求める要求を開示されている通知および応答システムに送信する。要求は、(i)通知メッセージ、(ii)要求パラメータ、(iii)通信フロー式、および(iv)応答からなる。通信メッセージは、サポートされている多数の人間の言語および媒体形式のうちの1つでフレームにまとめることができ、要求は、それぞれの受信者の媒体および人間の言語に対する環境設定に応じて、該当する受信者に自動的に配送される。要求パラメータにより、要求の振る舞いを制御したり、要求の形式を適切に定める(またはその両方を行う)通知および応答システムから利用できるようになっていなければならない情報を指定する。 An application may disclose a request to send a specific notification message to one or more recipients and collect a response to that notification and return it to the requestor or forward it to another application. Send to response system. The request consists of (i) a notification message, (ii) request parameters, (iii) a communication flow expression, and (iv) a response. Communication messages can be framed in one of a number of supported human languages and media formats, and the request is applicable depending on the respective recipient's media and human language preferences. Automatically delivered to recipients. Request parameters specify information that must be made available to the notification and response system that controls the behavior of the request and / or appropriately defines the request type (or both).
通信フロー式では、アプリケーションの要件および受信者の環境設定を捕捉して組み合わせる。要求の通信フロー式部分により、要求に関連付けられている受信者(「Who」)だけでなく、そのような受信者がどのようにして、いつ、どこで、要求を出すかを指定する。受信者は、ロール(たとえば、「顧客サービス」)、人(たとえば、「Jerry」、アドバイス(たとえば、「800−555−1234」)、または評価すべき他の通信フロー式とすることができる。各受信者はアクティブであるが、それは、受信者がその通信の環境設定を指定し、通信フローを送信者側の特性、要求のトピック、またはスケジュールの要求条件に合わせて手直しする通信フローの規則を定めることができるからである。一般に、通信フローの規則では、受信者の環境設定に応じて、通信フローの中の受信者の名前を受信者と連絡を取る時期、場所、および方法に関する詳細で置き換える。通信フロー式はさらに、特定の受信者が要求に対し正常に応答できなかった場合に実行すべきアクションを指定する。 The communication flow method captures and combines application requirements and recipient preferences. The communication flow part of the request specifies not only the recipient ("Who") associated with the request, but also how, when and where such a recipient issues the request. The recipient can be a role (eg, “customer service”), a person (eg, “Jerry”, advice (eg, “800-555-1234”), or other communication flow expression to be evaluated. Each recipient is active, but it is a communication flow rule that allows the recipient to specify its communication preferences and to tailor the communication flow to the sender's characteristics, request topic, or schedule requirements. In general, the rules of communication flow detail the details of when, where, and how to contact the name of the recipient in the communication flow, depending on the recipient's preferences. The communication flow expression further specifies the action to be taken if a particular recipient fails to respond normally to the request.
通知および応答システムでは、通信フローの中で成功テストを使用し、応答性側によって指定された対応を評価して特定の連絡が成功したか失敗したかを判別することができる。応答者側は、要求を受信し、応答を返した人である。応答が受信されると、通知および応答システムは各個別応答の属性値ペア、または要求が完了した後では、照合された結果を最初の要求で指定された最終宛先に転送する。 In the notification and response system, a success test can be used in the communication flow to evaluate the response specified by the responsive side to determine whether a particular contact has succeeded or failed. The responder is a person who receives the request and returns a response. When a response is received, the notification and response system forwards each individual response attribute value pair or, after the request is completed, the matched result to the final destination specified in the initial request.
通信フローが2つの理由で失敗することがある。1つは、単に受信者と連絡を取れなかったか、または受信者がまったく通知に応答できない場合であって、通知失敗(その逆を通知成功)と呼ぶ。もう1つは、受信者と連絡を取ることができ、その後要求を受理するか、または拒絶する場合であって、応答成功(「true」または「yes」を示す)または応答失敗(「false」または「no」を示す)とそれぞれ呼ぶ。 The communication flow can fail for two reasons. One is simply a case where the recipient could not be contacted or the recipient could not respond to the notification at all, and is referred to as a notification failure (the opposite is a notification success). The other is the case where the recipient can be contacted and then accept or reject the request, with a successful response (indicating “true” or “yes”) or a failed response (“false”). Or “no”).
本発明の他の特徴では、3値論理を使用して通信フロー式を評価する。この論理の3つの可能な値は、通知失敗(maybe)、応答失敗(false)、および応答成功(true)である。通知成功は、応答成功または応答失敗の前に発生する、識別された一時的状態である。多数のデバイスが使用されている場合、受信者からの応答を受信したときに知ることができるのは、通知を受信したということだけである。そのため、要求と関連付けられた成功式で、受信者から受信した応答に含めることができる変数に対する3値論理式を指定することができる。成功式で、応答の中の値の論理的組み合わせを検査し、応答成功がある場合、連絡は「true」に評価され、応答失敗がある場合、連絡は「false」に評価され、それ以外については、応答に対し時間の余裕がない場合、通知失敗があり、連絡は「maybe」に評価される。 In another aspect of the invention, communication flow equations are evaluated using ternary logic. The three possible values of this logic are a notification failure, a response failure, and a response success. Notification success is an identified temporary state that occurs before a response success or response failure. If a large number of devices are used, all that can be known when receiving a response from the recipient is that a notification has been received. Therefore, a ternary logical expression for a variable that can be included in a response received from a recipient can be specified with a successful expression associated with the request. In the success formula, check the logical combination of values in the response, if there is a response success, the contact evaluates to "true", if there is a response failure, the contact evaluates to "false", otherwise If there is not enough time for the response, there is a notification failure and the communication is evaluated as “maybe”.
各通信フロー式は、受信者に同時に連絡するかまたは順次連絡するか、およびいつ部分式の実行を成功検査結果の論理結合を定義することにより終了すべきかを指定する1つまたは複数のプリミティブを含む。具体的には、プリミティブでは、並行または順次通信の方向と受信者との通信の状況を通信フローにどのような影響を及ぼすかということの評価と組み合わせる。他のプリミティブは、連絡を取る時期またはディレクトリを探索することにより見つかった対象のリストから通信フローを構築する方法を制御する。 Each communication flow expression has one or more primitives that specify whether the recipient should be contacted simultaneously or sequentially and when execution of the subexpression should be terminated by defining a logical combination of success check results. Including. Specifically, the primitive combines with the evaluation of how the direction of parallel or sequential communication and the status of communication with the recipient affect the communication flow. Other primitives control how the communication flow is constructed from the list of objects found by searching the directory or searching the directory.
開示されている通知および応答システムにより採用されているプリミティブは、当然、and/then、or/else、races/delegates、およびvotes/pollsのように並行/順次のペアにグループ化することができる。並行プリミティブと順次プリミティブは、オペランドの評価方法が異なる。並行プリミティブでは、それぞれの受信者に並行して連絡を取る。未処理要求(outstanding request)は、プリミティブのtrue値を決定するためにもはや必要なくなれば取り消される。順次プリミティブでは、要求は現れる順序でそれぞれの受信者に送られる。受信者が応答すると、要求は次の受信者に送信され、必要ならば、プリミティブのtrue値を決定する。それぞれのプリミティブは、受信者との通信が成功したかどうかに応じて「true」、「false」、または「maybe」に評価される。
本発明、および本発明の他の特徴と利点の詳細については、後述の説明および図面を参照することで得られる。
The primitives employed by the disclosed notification and response system can of course be grouped into parallel / sequential pairs such as and / then, or / else, races / delegates, and votes / pols. There are different operand evaluation methods for concurrent primitives and sequential primitives. Concurrent primitives contact each recipient in parallel. An outstanding request is canceled when it is no longer needed to determine the primitive's true value. With sequential primitives, requests are sent to each recipient in the order in which they appear. When the recipient responds, the request is sent to the next recipient and, if necessary, determines the primitive's true value. Each primitive evaluates to “true”, “false”, or “maybe” depending on whether the communication with the recipient is successful.
Details of the present invention and other features and advantages of the present invention can be obtained with reference to the following description and drawings.
本発明は、電子メール、電話、Webページ、ポケットベル、またはFAXなどのさまざまな種類の媒体により、図1に示されている、1つまたは複数のアプリケーション110−1〜110−N(これ以降アプリケーション110と総称する)と1つまたは複数の受信者120−〜120−N(これ以降受信者120と総称する)との通信を可能にするための通信および応答システム100を実現する。一般に、通知および応答システム100は(i)それぞれの個別受信者120により指定された媒体を使用して1人または複数の受信者120に要求を送信し、(ii)応答を収集して処理し、(iii)最終宛先により指定された媒体を使用して最終宛先に応答を転送する。
The present invention may include one or more applications 110-1 to 110-N (hereinafter referred to) shown in FIG. 1 by various types of media such as email, telephone, web page, pager, or fax. A communication and
図2は、通知および応答システム100の詳細な図である。図2に示されているように、また後述のように、アプリケーション110は、要求の送信または取り消し、要求のステータスのチェック、およびアプリケーション110に結果を返す動作を行うサービスを提供するアプリケーション・インターフェイス220を使用して要求を要求マネージャ1200に送信する。アプリケーションでは、通知要求および保留通知の取り消し要求を適切なアプリケーション・インターフェイス220に、たとえば、HTTP POSTを介して送信することができる。
FIG. 2 is a detailed diagram of the notification and
アプリケーション・インターフェイス220は、たとえば、Simple Object Access Protocol(SOAP)、またはIBM Corp.が販売しているMQSeries(商標)インターフェイスやSun Microsystems,Inc.が販売しているJ2EE(商標)インターフェイスなどの各種の市販Enterprise Application Integration(EAI)インターフェイスとして実現することができる。アプリケーション・インターフェイス220は、要求毎に、外部要求表現と通知および応答システム100の内部表現との間のマッピングを行う。同様に、アプリケーション・インターフェイス220は、応答毎に、通知および応答システム100の内部表現と外部要求表現との間のマッピングを行う。
The
図11に関して以下で説明する要求マネージャ1200は、送信されたすべての要求を追跡する。図3に関して後述するように、要求マネージャ1200は、各要求に関する情報を格納している要求データベース300を保持し、保留、取り消し、あるいは完了などのそれぞれの要求のステータスを示す。要求データベース300は、メモリまたは永続的データベースに保持することができ、要求およびその現在状態(応答を含む)をそこに格納することができる。機能はいろいろあるが特に、要求マネージャ1200は、受信者120が受信する要求および応答が適用される要求を識別するために使用することができるそれぞれの要求に一意の識別子を割り当てる。さらに、要求マネージャ1200は、必要に応じて、要求を修正し、必ず応答を通知および応答システム100に返送するようにする。
すでに示しているように、アプリケーション110では通信フロー式を使用して、与えられた要求のパラメータを指定する。要求マネージャ1200は、受信者とのそれぞれの媒体特有の通信を実行する際に通信フローの方向に従う。要求マネージャ1200では、図13に関して後述する通信フロー・マネージャ1300の通信フロー式サービスを使用する。要求マネージャ1200と通信フロー・マネージャ1300との間の相互作用を、図11に関して後述する。
As already indicated,
一般に、通信フロー・マネージャ1300は、要求の中で定義されているターゲット通信フローを解釈してより効率の高いツリー構造の内部表現に変える。さらに、通信フロー・マネージャ1300は、ツリー表現のトラバースを繰り返し、その実行中に、非デバイス受信者を展開して、デバイスをインスタンス化する。繰り返し毎に、通信フロー・マネージャ1300は、利用可能になっていた成功検査結果を入力し、保留中の連絡を取り消すか、それとも新規連絡を開始するかを決定する。そこで、通信フロー・マネージャ1300は、通信フロー式を解釈して実行し、要求を適切な受信者120にどのように配送するかを決定し、また通信の各試行結果の成功または失敗にどのように応答するかを決定する。
In general, the
ディレクトリ・インターフェイス250は、通知および応答システム100で使用しているロール、人、およびデバイスの内部表現と受信者環境設定およびロール・データベース500内の表現との間のマッピングを行う。さらに、ディレクトリ・インターフェイス250は、検索およびその他の要求も処理する。通信フロー・マネージャ1300は、全体として、通知および応答システム100が連絡方法を認識しているデバイスに対して解決される必要があるロールおよび受信者の名前を連絡する通信フローで示されている。ディレクトリ・スキーマおよび通知および応答システム100の内部表現を単一のクラス内にマッピングすることにより、他の種類のデータベースも使え、内部表現を、使用している特定のディレクトリ・スキーマから独立させることもできる。このクラスはさらに、一組の特定の検索および取り出し方法も提供する。
媒体特有の連絡270では、通知および場合によっては応答収集結果の実際の配送を処理する。指定可能な持続時間または試行回数の後、特定の媒体を介した連絡を実行できない場合、通知失敗メッセージが要求マネージャ1200に返される。媒体特有のインターフェイス270については、以下の「媒体特有のインターフェイス」という表題の項目で説明する。通知メッセージ毎に、媒体特有のインターフェイス270は、通知および応答システム100の内部要求ドキュメント表現と外部表現との間でマッピングを行う。同様に、媒体特有のインターフェイス270は、応答毎に、外部要求表現と通知および応答システム100の内部表現との間のマッピングを行う。
The media-
Webポータル280は、さまざまな媒体を介してデータを受信者120に提供し、応答を収集する。Webポータル280は、受信者の保留、完了、および取り消された通知へのアクセスを可能にするサーブレット集である。これは、保留通知のリストを表示し、受信者がそこから読み込むまたは聞き取ることができるようにするサーブレット、および通知を表示するサーブレット、および応答を収集する他のサーブレットを含む。Webポータル280はこのように構造化され、すべての通知が、通知および応答システム100により直接配送され、すべての応答は通知および応答システム100により収集されるようになっている。集中型実装により、通知の内容を制御し、通知を個人化し、通知に前回の応答を組み込むようにすることができる。受信者環境設定およびロール・データベース500からの個人化データは、formアクション・タグを修正して適切なサーブレットを指すようにするのと同じ書き換えメカニズムによって処理される。
通知および応答システム100は、通信フロー式内で指定された受信者120へのすべての要求を仲介する。これにより、通知および応答システム100は、応答を記録し、それらの応答を通信フロー・マネージャ1300に伝達する。通信フロー・マネージャ1300は、これらの応答の内容に基づき通信フローを通る異なる経路を取る。たとえば、Webアプリケーション・プログラム・インターフェイス(API)の例では、要求はすべてWebページとして表され、応答を必要とするものはその応答を受け付けるためのフォームを含む。要求は、応答を指定のURLに送るように書き換えられ、通知および応答システム100に対し行われた元の要求で指定されている最終の宛先への経路選択を行う前に完了ステータスを記録することができる。通知および応答システム100の経路選択および戻り処理は、ユニファイド・メッセージング・システムまたはXMLベースのAPIのものなどの要求および応答を指定するさまざまな方法に適合させることができる。
The notification and
したがって、本発明では、個人化されたメッセージ配送を実現する(受信者は自分を望むときおよび望む方法でメッセージを受信する)。通知および応答システム100は、電子メール、電話、Webページ、ポケットベル、またはファクスなどさまざまなサポートされている人間の言語および媒体形式をのうちの1つで、要求を配送し応答を収集することができる。さらに、通知および応答システム100は、要求者および受信者の一括集中要求管理、応答照合、および既存のアプリケーションからの要求(および既存のアプリケーションへの応答)の透過的経路選択を行う。
Thus, the present invention implements personalized message delivery (recipients receive messages when and how they want). Notification and
要求
アプリケーション110は、特定の通知メッセージを1人または複数の受信者に送信し、その通知に対する応答を収集して要求者に返すか、または他のアプリケーションに転送することを求める要求を通知および応答システム100に送信する。本明細書で使用しているように、要求は、(i)通知メッセージ、(ii)要求パラメータ、(iii)通信フロー、および(iv)応答からなる。
通知メッセージ
アプリケーション110は、異なる媒体を介した、異なる人間の言語による配送をサポートするため、要求の1つまたは複数のバージョンを作成することができる。つまり、アプリケーション110は、受信者が受信するのを好む種類のドキュメントにサーブレットによって変換されるデータ・ファイルを作成し、その後、サーブレットのURLを通知および応答システム100に受け渡す。たとえば、1人または複数の受信者に会合通知を送信することを望んでいるアプリケーション110は、応答がもしあればそのような応答を処理するためのフォームとともにメッセージを含むHTMLドキュメントを作成することができる。その後、このHTMLドキュメントは、Webサーバ上に格納され、URLが通知および応答システム100に渡される。
サーブレットを使用して特定の媒体形式でメッセージを生成する方法には、本発明の利点の1つが示されている。配送時にメッセージの媒体を受信者のニーズおよび環境設定に合わせて手直しし、配送時にメッセージの内容を生成することで、常に最新の情報が含まれるようにすることができる。たとえば、本発明で使用している媒体連絡の多くでは最初に、通知メッセージを取り出すために受信者が指定された電話番号に電話をかけなければならないことを指示するページまたは通知メッセージを含むWebページを指しているハイパーリンクを含む電子メール・メッセージなどの受信者が通知メッセージを利用できる状態にあることを示す情報を受信者に送る。その後、受信者が通知メッセージにアクセスすると、アクセス時点で最新バージョンの通知メッセージが表示される。このようにして、要求者は、受信者が実際に通知メッセージにアクセスするまで、通知メッセージを更新することができる。 One of the advantages of the present invention is shown in the method of generating a message in a specific media format using a servlet. By updating the message medium at the time of delivery according to the needs and environment settings of the recipient and generating the message contents at the time of delivery, the latest information can always be included. For example, many of the media contacts used in the present invention first include a page or a notification page that indicates that the recipient must call a specified telephone number to retrieve the notification message. Information indicating that the recipient is ready to use the notification message, such as an e-mail message containing a hyperlink pointing to the recipient. Thereafter, when the recipient accesses the notification message, the latest version of the notification message is displayed at the time of access. In this way, the requester can update the notification message until the recipient actually accesses the notification message.
要求パラメータ
要求は、関連する一組のパラメータを持つ。これらのパラメータにより、要求の振る舞いを制御したり、要求の形式を適切に定める(またはその両方を行う)通知および応答システム100から利用できるようになっていなければならない情報を指定する。すでに示されているように、要求マネージャ1200は、各要求に関する情報を格納している要求データベース300を使用して送信されたすべての通知要求を追跡し、保留、取り消し、あるいは完了などのそれぞれの要求の現在ステータスを示す。
Request parameters A request has a set of related parameters. These parameters specify the information that must be available from the notification and
図3は、要求データベース300の例からのサンプル・テーブルである。図3に示されているように、要求データベース例300は、複数のレコード305〜315を備え、それぞれのレコードは異なる要求に関連付けられている。フィールド330で識別されている要求毎に、要求データベース300に記録されているパラメータは、(i)フィールド335内の要求者識別子(つまり、要求を生成した人またはアプリケーションの名前)、(ii)フィールド340内の応答宛先(たとえば、応答の転送先であるURLまたは応答の経路を選択する方法を示す通信フロー式、および照合された応答を要求の終了時に送信するか、各応答を受信時に転送するかを示す情報)、(iii)フィールド345内の件名(つまり、たとえば電子メールの件名行内で使用できる要求の簡単な説明)、(iv)フィールド350内の最大存続期間(つまり、すべての保留要求が取り消され、収集された応答が最終宛先に送信されるまで、通知および応答システム100が通知の配送および応答の収集の試行を続ける時間の長さ)、(v)フィールド355内の言語(つまり、有効な通知メッセージの言語)、(vi)フィールド360内のHTML、VXML、およびプレーン・テキストなどのメッセージが利用可能なコンテンツ・タイプ、フィールド365内の通信フロー式、(vii)受信した応答が他の指定受信者から見えるか、または利用できるかを示すパブリック/プライベート・フラグ、および(viii)フィールド375内の要求の現在ステータスを含む。
FIG. 3 is a sample table from the example request database 300. As shown in FIG. 3, the example request database 300 comprises a plurality of records 305-315, each record associated with a different request. For each request identified in
件名見出しを含むそれぞれの通知メッセージの内容は、所定のアプリケーション110により1つまたは複数のサポートされている人間の言語で供給することができるか、または望ましいサポートされている人間の言語に自動的に翻訳できることに注意されたい。他のバリエーションでは、フィールド355内の言語パラメータは、言語翻訳を取得する方法と時期を指定する規則で置き換えることができ、またコンテンツ・タイプ・パラメータは、コンテンツ・タイプを生成する方法と時期を指定する規則で置き換えることができる。
The content of each notification message, including the subject heading, can be supplied by a given
通信フロー
後述のように、「通信フロー」という表題のセクションでは、通知および応答システム100は、通信フロー式を使用して通信を行う際の、誰が、どのように、いつ、およびどこで、を指定する。通信フロー式により、要求の対象の受信者を指定する。受信者は、ロール(たとえば、「顧客サービス」)、人(たとえば、「Jerry」)、アドバイス(たとえば、「800−555−1234」)、ソフトウェア・アプリケーションまたはエージェント(たとえば、「カレンダー・エージェント」)、または他の通信フロー式とすることができる。さらに、通信フロー式では、受信者が要求をいつ、どのように、どこで受信するかを指定する。通信フロー式はさらに、特定の受信者が要求に対し正常に応答できなかった場合に実行すべきアクションを指定する。
Communication Flow As described below, in the section titled “Communication Flow”, the notification and
通信フロー式では、アプリケーションの要件および受信者の環境設定を捕捉して組み合わせる。通信フロー式は、アクティブ受信者リストである。各受信者は、通信フロー内の名前を受信者の環境設定に応じていつ、どこで、どのように連絡するかに関する詳細で置き換える通信フロー規則を用意しているため、アクティブである。これらの通信フロー規則により、受信者は個人通信フローを要求の通信フロー式に組み込むことができる。受信者はこれらの規則を使用して、通信の環境設定を指定し、通信フローを送信者側の特性、要求のトピック、またはスケジュールの要求条件に合わせて手直しする。 The communication flow method captures and combines application requirements and recipient preferences. The communication flow formula is an active recipient list. Each recipient is active because it provides a communication flow rule that replaces the name in the communication flow with details about where and how to contact, depending on the recipient's preferences. These communication flow rules allow the recipient to incorporate the personal communication flow into the requested communication flow formula. Recipients use these rules to specify communication preferences and tailor the communication flow to the sender's characteristics, request topics, or schedule requirements.
応答
後述のように、「通信フロー」という表題のセクションで、通知および応答システム100は、通信フローの中で成功テストを使用し、応答性側によって指定された対応を評価して特定の連絡が成功したか失敗したかを判別することができる。応答者側は、要求を受信し、応答を返した人である。応答が受信されると、通知および応答システム100は各個別応答の属性値ペア、または要求が完了した後では、照合された結果を最初の要求で指定された最終宛先に転送する。一実施例では、通知および応答システム100は、通信フロー全体が実行されるまで待機し、その後、結果を返すが、受信するときにそれぞれの応答を返すように修正することは自明なことである。
Response As described below, in the section entitled “Communication Flow”, the notification and
通信フロー
通信フローは、通信フロー式、成功指定、通信フロー規則、およびパラメータによって特徴付けられる。通信フロー式は、アプリケーションの通信要件をユーザーの通信環境設定に取り込む。通信フロー式により、要求に対する受信者を指定する(直接名前で、または定義されている受信者リストまたはロールを使用して)。さらに、通信フロー式では、受信者が要求をいつ、どのように、どこで受信するかを指定する。通信フロー式はさらに、特定の受信者が要求に対し正常に応答できなかった場合に実行すべきアクションを指定する。
Communication flow A communication flow is characterized by a communication flow expression, a success specification, a communication flow rule, and parameters. The communication flow formula incorporates the communication requirements of the application into the user's communication environment settings. A communication flow expression specifies the recipient for the request (either directly or using a defined recipient list or role). Furthermore, in the communication flow formula, the recipient specifies when, how, and where the request is received. The communication flow expression further specifies an action to be performed if a particular recipient fails to respond normally to the request.
通信フローの成功/失敗の指定
通信フローの成功指定では、通信フローにおける各ステップでの応答の成功および失敗に対する条件を記述する。この実施例では、通信フローの成功指定は、特定の通信フローに対してシステム規模のデフォルト成功指定および要求者定義のデフォルト成功指定の両方をサポートしている。それとは別に、要求者は、後述のテスト応答ステータス・プリミティブを使用して、通信フロー内の受信者毎に成功指定を指定することができる。
Specification of success / failure of communication flow In success specification of communication flow, conditions for success and failure of response at each step in the communication flow are described. In this embodiment, the communication flow success designation supports both a system-wide default success designation and a requester-defined default success designation for a particular communication flow. Alternatively, the requester can specify a success designation for each recipient in the communication flow using the test response status primitive described below.
通信フローが2つの理由で失敗することがある。1つは、単に受信者と連絡を取れなかったか、または受信者がまったく通知に応答できない場合であって、通知失敗(その逆を通知成功)と呼ぶ。もう1つは、受信者と連絡を取ることができ、その後要求を拒絶するか、または否定的な応答をする場合であって、応答失敗(「no」を示す)または応答成功(「yes」を示す)と呼ぶ。「no」と「yes」は意味論的要素を持つが、それは、通信フローを継続する目的で要求に対して受信者が肯定的に応答(たとえば、「yes」という)したかどうかを判別することができる唯一のアプリケーションだからである。たとえば、応答成功は、受信者がドキュメントをレビューして、その受け入れを否決するときに生じることがある。受信者は「はい、レビューを終えました」と応え、通信フローは次のレビューアへ続く。その一方で、受信者がソフトウェアのリビジョンの要求をレビューし、拒絶した場合に応答失敗が発生する。受信者は、「いいえ、このソフトウェアのリビジョンは行いません」と応え、通信フローは終了するか、またはエラー処理へ進む。 The communication flow can fail for two reasons. One is simply a case where the recipient could not be contacted or the recipient could not respond to the notification at all and is referred to as a notification failure (the opposite is a notification success). The other is when the recipient can be contacted and then rejects the request or responds negatively, with a response failure (indicating “no”) or response success (“yes”). Is called). “No” and “yes” have semantic elements, which determine whether the recipient responded positively to the request (eg, “yes”) for the purpose of continuing the communication flow. Because it is the only application that can. For example, a successful response may occur when the recipient reviews the document and rejects it. The recipient responds “Yes, the review is complete” and the communication flow continues to the next reviewer. On the other hand, if the recipient reviews and rejects the software revision request, a response failure occurs. The receiver responds “No, we will not be revising this software” and the communication flow ends or proceeds to error handling.
本発明の一態様では、通信フロー式は、図4に示されている3値論理エバリュエータ400を使用して評価する。この論理の3つの可能な値は、ステップ420での通知失敗(maybe)、ステップ450での応答失敗(false)、およびステップ440での応答成功(true)である。図4に示されているように、通知成功は、応答成功または応答失敗の前に実行されるステップ410で識別される一時的状態であり、直接的に表されることはない。多数のデバイスが使用されている場合、受信者からの応答を受信したときに知ることができるのは、通知を受信したということだけである。
In one aspect of the invention, the communication flow equation is evaluated using the
成功式では、受信者120から受信した応答に含めることができる変数に対する3値論理式を指定する。つまり、一般に、通知にはHTMLフォーム、VXMLダイアログ、または相当するオブジェクトが含まれる。たとえば、フォームは、名前を応答者によって指定された値に関連付ける。成功式で、応答の中の値の論理的組み合わせを検査し、応答成功がある場合、連絡は「true」に評価され、応答失敗がある場合、連絡は「false」に評価され、それ以外については、応答に対し時間の余裕がない場合、通知失敗があり、連絡は「maybe」に評価される。
The success formula specifies a ternary logical formula for variables that can be included in the response received from the
たとえば、クリックされたときにボタンの値が「true」に設定される「Submit」という名前の単一のボタンがある1つのフォームを含む通知が収められているHTMLページを考察する。このページに対する成功式は、「Submit=true」である。株価変更の通知には、値「buy」または「sell」を取ることができる「Action」という名前のラジオ・ボタンと数値を取ることができる「Quantity」という名前のもう1つの別のフィールドのペアを含めることができる。このページに対する成功式は、「Action=buy & Quantity>1000」である。たとえば、「A ? Submit=「true」?」は、Aと連絡を取るという意味だが、成功検査をこれに指定すると、応答を受け取ったときに、応答により値「true」がパラメータ「Submit」に割り当てられた場合その連絡を「true」と定義する。「Submit」の値がtrue以外の場合、連絡は「false」であり、応答を受け取れる時間がもうない場合には連絡は「maybe」に評価される。 For example, consider an HTML page containing a notification that contains a form with a single button named “Submit” whose button value is set to “true” when clicked. The success formula for this page is “Submit = true”. The stock price change notification includes a radio button named “Action” that can take the value “buy” or “sell” and another pair of fields named “Quantity” that can take a numeric value. Can be included. The success formula for this page is “Action = buy & Quantity> 1000”. For example, “A? Submit =“ true ”? ”Means to contact A, but if the success check is specified for this, when the response is received, if the value“ true ”is assigned to the parameter“ Submit ”when the response is received, the communication is set to“ true ”. Define. If the value of “Submit” is other than true, the contact is “false”, and if there is no more time to receive a response, the contact evaluates to “maybe”.
例には、2値論理に対する通信フロー式で使用する3値論理の利点が示されている。Joannとの連絡が成功した場合にはTomに連絡し、Joannとの連絡が失敗した場合にはPriyaに連絡することを望んでいるとする。従来の2値論理プリミティブのthenおよびelseを使用すると、この関係は、次のように表すことができる。 The example shows the advantages of ternary logic used in communication flow formulas for binary logic. Suppose that he wants to contact Tom when the contact with Joann succeeds, and contact Priya when the contact with Joann fails. Using the conventional binary logic primitives then and else, this relationship can be expressed as:
(Joann then Tom)or(Joann else Priya)
そこで、さらに、Joannが同じ論理を使用して、携帯電話で、あるいは事務所の電話経由で失敗した場合、あるいは要求をJerryに委託するするのに失敗した場合に、連絡を取ることを好んでいることを指定するものとする。
(Joann the Tom) or (Joann else Priya)
So, furthermore, Joann prefers to use the same logic to contact if he fails on his mobile phone or via the office phone, or fails to delegate his request to Jerry. Shall be specified.
cell else office else Jerry
この式には固有の問題があるが、それは、要求者は間違いなく、Joannからの実際の応答の結果に基づいてTomまたはPriyaと連絡を取りたがっており、JoannはPriyaが応答に失敗した場合にのみJerryと連絡を取りたがっている(つまり、「no」で応答する場合は連絡を取らない)からである。これらの結果すべてを従来の2値論理から得ることは不可能である。以下の項で説明するが、本発明の3値論理では、Tomは、Joannが「yes」と言った場合のみ連絡が取られ、Priyaは、Joannが「yes」で応答しなかった場合にのみ連絡が取られ、Jerryは、Joannがまったく応答できなかった場合にのみ連絡が取られる。
cell else office else Jerry
There is an inherent problem with this formula, which is that the requester definitely wants to contact Tom or Priya based on the results of the actual response from Joann, and Joann is the one who fails to respond This is because only Jerry wants to contact Jerry (that is, if he responds with “no”, he / she does not contact). It is impossible to get all of these results from conventional binary logic. In the ternary logic of the present invention, as described in the following section, Tom is contacted only when Joann says “yes”, and Priya is only when Joann does not respond with “yes”. A contact is made and Jerry is contacted only when Joann fails to respond at all.
通信フロー受信者
すでに示しているように、通信フロー式は、要求に対する受信者および受信者から受け取った返信に対する応答での通信の方向を決める方法を指定する柔軟性の高い一般的な手法を提供する。一実施例では、図5に示されているように、受信者環境設定およびロール・データベース500は、Lightweight Directory Access Protocol(LDAP)ディレクトリとして実現することができるが、これについては、たとえば、参照により本明細書に組み込まれているM.Wahl et al.「Lightweight Directory Access Protocol(v3)」、RFC 2251(1997年12月)で説明されている。受信者環境設定およびロール・データベース500は、通信フロー式内に現れる可能性のある受信者を記述したオブジェクトを保持する。図5に示されているように、受信者環境設定およびロール・データベース例500は、複数のレコード505〜520を備え、それぞれのレコードは異なる受信者に関連付けられている。
Communication Flow Recipients As already shown, communication flow expressions provide a flexible and general way to specify how to determine the direction of communication in the receiver for a request and in response to a reply received from the receiver. To do. In one embodiment, as shown in FIG. 5, the recipient configuration and
フィールド530で識別されている受信者毎に、受信者と環境設定およびロール・データベース500により、フィールド540内の受信者タイプとフィールド550で受信について定義されている個人通信フローが識別される。フィールド540に現れる受信者のタイプは、人、ロール、アプリケーション、デバイス、名前付き通信フロー、または個々の受信者と連絡を取るための方法である。人、ロール、または名前付き通信フロー・オブジェクトでは受信者と連絡を取るための通信フロー式を指定することができるが、個々の受信者またはアプリケーション(または媒体連絡オブジェクト)と連絡を取るための方法は受信者名の変換におけるターミナル・オブジェクトである(つまり、オブジェクトはディレクトリ内でさらに変換されないということである)。オブジェクトには、個人に対するエージェントとして動作することが可能な個人またはアプリケーションと連絡を取るのに重要な属性が含まれ、特に、アドレス、プロトコル、タイムアウト、および連絡を取る再試行間隔がある。
For each recipient identified in
動的通信フロー式代入と呼ばれる本発明の他の態様では、受信者名を受信者環境設定およびロール・データベース500内の情報にバインドする操作を連絡のときが来るまで遅らせる。したがって、本発明の遅延バインドの態様では、会社のCEOなどのロールとして記述されている受信者は、システム100がCEOへの通知の試行を開始するまで変えられる。さらに、オフィス電話番号などの受信者の個人通信フローは、出張先の電話に切り替えることができ、出張が始まる前に送信した要求によりそのまま正常に使用できる。
In another aspect of the present invention, called dynamic communication flow expression substitution, the operation of binding the recipient name to the recipient configuration and information in the
媒体連絡で受信者と連絡を取る場合、受信者は、異なる通信フロー式を通信フロー内の自分の式の代わりに使用するよう要求することができる。このため、受信者はタスクをさらに多くの適切な受信者に動的に委託することができる。また、受信者は通信フロー内に遅延節を含む通信フロー式、たとえば、4時間遅れた後に要求を処理する催促を行う通知を生成する「Joann after +04:00」を代入することにより、タスクの実行を遅らせることができる。 When contacting a recipient via media contact, the recipient can request that a different communication flow expression be used instead of his own expression in the communication flow. Thus, the recipient can dynamically delegate the task to more appropriate recipients. In addition, the recipient substitutes a communication flow expression including a delay clause in the communication flow, for example, “Joann after +04: 00” that generates a notification for prompting to process the request after a delay of 4 hours. Execution can be delayed.
図5は、さまざまな種類の受信者を説明する受信者環境設定およびロール・データベース500内の多数のオブジェクト例を示している。受信者と環境設定およびロール・データベース500で採用しているプリミティブの例について、以下の「プリミティブ」という表題の項で説明する。たとえば、レコード505に示されているように、受信者「Joann」は次のような式ですべての要求に対する以下の個人の通信フローを指定する。
FIG. 5 shows a number of example objects in the recipient configuration and
(cell races email)delegates Jerry
したがって、Joannに連絡する場合、Joannの携帯電話に電話をかけ、それと同時に電子メールをJoannに送信しなければならない。Joannが応答しない場合、Jerryに、Joannの代わりに要求を受け取るよう連絡する(Jerryの個人通信フローに従って)。Joannが自分で要求に応答した場合、Jerryに対してはまったく連絡がいかない。
(Cell races email) delegates Jerry
Therefore, when contacting Joann, he must call Joann's cell phone and at the same time send an email to Joann. If Joann does not respond, contact Jerry to receive the request on behalf of Joann (according to Jerry's personal communication flow). If Joann responds to the request himself, he will not be contacted at all.
レコード510に示されている例では、ロールSysAdminが、現在の交代に関する要求の経路を管理者に設定する個人通信フローを指定する。
(Sam between 08:00−16:59 or Sue between 17:00−00:59 or Greg between 01:00−07:59)delegates SysAdmin
レコード510内のロールにより、午前8時から始まる平日の特定の時間に働いているシステム管理者に要求が回される。要求処理の第1作業日にどの管理者とも連絡がつかない場合、かっこ内の節は失敗し、再帰的SysAdmin参照により次の日に連絡試行が繰り返される。
In the example shown in
(Sam between 08: 0-16: 59 or Sue between 17: 00-00: 59 or Greg between 01: 00-07: 59) delegates SysAdmin
The role in
受信者への再帰的参照、たとえば、SysAdminロールでの再帰的参照は、他の終了条件が存在している場合に限り通信フロー内の順次プリミティブをたどることを許されることに注意されたい。SysAdminの例では、要求は、応答を受信した場合にtrueまたはfalseで完了し、要求者設定タイムアウトが発生した場合に通知失敗(maybe)で完了する。 Note that recursive references to recipients, eg, recursive references in the SysAdmin role, are allowed to follow sequential primitives in the communication flow only if other exit conditions exist. In the SysAdmin example, the request is completed with true or false when a response is received, and is completed with a notification failure (maybe) when a requester setting timeout occurs.
このような予防をしていても、ディレクトリ内で循環名前参照をループする可能性がある。たとえば、Joannの通信フロー式で「Tom」と言い、Tomの通信フロー式で「Joann」と言うことができる。この場合も、並列再帰的参照と順次再帰的参照とを区別することにより、無統制の大量のリソースが消費されるループが回避される。他に終了条件のないすべての並列循環参照および順次循環参照は、名前変換履歴を通じて防止される。JoannおよびTomに関する前の例はエラーとなるが、Joannの通信フロー式が電子メールを介して連絡を取ろうとし、失敗の場合にTomに委託し、Tomの通信フロー式は単にJoannに戻す(Tomが休暇中であるため)という状況は受け付けられる。同じ受信者に素早くループする、あるいは長期間にわたってループする要求に対する最終的な予防として、通信フロー式は、受信者に対する連絡の指定最大試行回数を超えたときにエラーを返すことができる。 Even with this precaution, it is possible to loop circular name references in the directory. For example, “Tom” can be said in the Jonn communication flow equation, and “Joann” can be said in the Tom communication flow equation. Again, by distinguishing between parallel recursive references and sequential recursive references, loops that consume large amounts of uncontrolled resources are avoided. All parallel and sequential circular references without any other termination conditions are prevented through the name translation history. The previous example for Joann and Tom would be an error, but Joann's communication flow expression would try to contact via email, delegate to Tom in case of failure, and Tom's communication flow expression would simply return to Joann ( (Since Tom is on vacation) is accepted. As a final precaution against requests that loop quickly or loop over the same recipient, the communication flow formula can return an error when a specified maximum number of attempts to contact the recipient is exceeded.
図5の例を続行するには、レコード415の名前付き通信フローで、レビューのため並行して連絡を取らなければならない受信者のリストを指定する。
Chris and Jerry and Benji and Jenny
すべてのレビューアが正常に応答した場合、レビューアに対する要求は成功する。以下の「通信フローのプリミティブ」という表題の項で説明しているように、「votes」プリミティブを使用して、このリストに対する成功基準を変更することができる。
たとえば、
Reviewers votes 2
は、2人のレビューアが正常に応答した場合に正常に完了する。
To continue the example of FIG. 5, the named communication flow of record 415 specifies a list of recipients that must be contacted in parallel for review.
Chris and Jerry and Benji and Jenny
If all reviewers respond successfully, the request for reviewers is successful. The “votes” primitive can be used to change the success criteria for this list, as described in the section entitled “Communication Flow Primitives” below.
For example,
Reviewers votes 2
Completes successfully when the two reviewers respond normally.
受信者環境設定およびロール・データベース500内の媒体連絡オブジェクトもエージェントであってよいことに注意されたい。たとえば、カレンダー・エージェントは、以下の通信フロー内で結合された3つの媒体連絡を供給することができる。
HoldCal then(Cell then ScheduleCal else CancelCal)
HoldCalで利用可能な要求データが見つかると、携帯電話でユーザーに連絡を取り、会合目的の承認を得る。ユーザーが会合目的を承認した場合、会合時間のスケジュールを決定し、そうでなければ、会合は取り消される。
Note that the recipient preferences and media contact objects in
HoldCal then (Cell then ScheduleCal cancel CancerCal)
Once the request data available on HoldCal is found, the user is contacted with the mobile phone to obtain approval for the meeting purpose. If the user approves the purpose of the meeting, the meeting time schedule is determined, otherwise the meeting is canceled.
LDAPディレクトリ・ツリー
図6は、多数の受信者の個人名前付けコンテキストを示すLDAPディレクトリ・ツリー600の一部を示している。LDAPディレクトリ・ツリー600は、受信者環境設定およびロール・データベース500に記録されているユーザーの環境設定の表現である。たとえば、図6に示されているLDAPディレクトリ・ツリー600は、受信者Joannの個人名前付けコンテキスト610と受信者Tomの個人名前付けコンテキスト620を含む。受信者Joannの個人名前付けコンテキスト610では、規則、通信フロー式、および媒体連絡を定義している。受信者Tomは、デフォルトの規則、通信フロー式、および媒体連絡を使用する。
LDAP Directory Tree FIG. 6 shows a portion of an
通信フローの規則およびパラメータ
通信フローの規則では、受信者名をいつ特定の個人通信フロー式に変換するかを指定する。受信者は、タイトルおよび要求者パラメータなどの、特定の要求に対してどの個人通信フロー式を使用するかを制御する、要求のパラメータに関する条件を指定することができる。たとえば、受信者は、タイトルで表されるときには特定のトピック、または携帯電話による即時注意の要求者を選択することができる。電子メールまたはWebで後から注意するある種の要求を選択することができる。
Communication Flow Rules and Parameters Communication flow rules specify when a recipient name is converted to a specific personal communication flow expression. The recipient can specify conditions on the request parameters that control which personal communication flow expression is used for a particular request, such as title and requester parameters. For example, a recipient can select a specific topic or a requester for immediate attention via a mobile phone when represented by a title. Certain requests can be selected for later attention via email or Web.
他の環境設定に基づくシステムとは異なり、通信フロー・マネージャ1300の環境設定処理は、要求の配送を処理するこに組み込まれている一般的なメカニズムである。受信者120の規則および個人通信フロー式により、その受信者120の個人名前付けコンテキスト610が確立される。受信者の名前および受信者が規則または通信フロー式内にある名前は、受信者のコンテキストに応じて変換される。他のコンテキストに基づく名前付けシステムとは異なり、この規則に基づく環境設定処理では、名前の大域的な意味を隠さない。大域的名前は、常に見えたままである、全員が使用できる。このような理由から、受信者は特定の種類の要求を誰か他の人に委託したいことを指定するために大域的名前を簡単に使用することができる。個人名前付けコンテキスト610では、受信者のコンテキストにとって重要であり適切である変換を実行するが、意味のある大域的名前をサポートしている。
Unlike other environment-based systems, the
したがって、図6に示されているように、Joannの個人名前付けコンテキスト610は、3つの通信フロー規則に対応するノード、つまり、マネージャ規則630、家族規則640および事務処理規則650を含む。受信者の個人名前付けコンテキスト610などの各受信者の個人名前付けコンテキストをLDAPディレクトリ・ツリー600にあるInetOrgPerson{RFC2798}またはInetOrgRoleオブジェクトを根とする部分ツリーとして確立する。LDAP内のInetOrgPersonオブジェクトは、人々に関する連絡情報を記述するLDAP標準オブジェクトであり、InetOrgRoleオブジェクトは、LDAP標準オブジェクト・クラスOrgRole{RFC2256}の部分クラスである。たとえば、図6で、Joannの個人名前付けコンテキスト610は「UID=joann」というラベルが付いているInetOrgPersonノードをルートとする。
Thus, as shown in FIG. 6, Joann's
それぞれの個人名前付けコンテキスト610は、通信フロー式、名前付き通信フロー式、および媒体連絡オブジェクトを処理する通信フロー式に関係する3種類のオブジェクトを備えることができる。図6では、個人名前付けコンテキスト610の一番上の3つのエントリ630、640、650は、MgrRule、FamilyRule、およびPaperwrkRという名前を持つ3つの通信フロー式を表している。ノード660、670、680は、それぞれ、web、cell、およびemailという名前が付けられた3つの媒体連絡オブジェクトに対応している。ノード690、695は、UrgentCFおよびRelaxedCFという2つの名前付き通信フロー式に対応している。
Each
Joannによって指定されたマネージャ規則630、家族規則640、および事務処理規則650は、受信者環境設定およびロール・データベース500で定義される。マネージャ規則630、家族規則640、および事務処理規則650を定義する受信者環境設定およびロール・データベース500からの対応するオブジェクトは、図7に示されている。特に、受信者環境設定およびロール・データベース500は、マネージャ規則630を定義するレコード710、家族規則640を定義するレコード720、および事務処理規則650を定義するレコード730を含む。
Manager rules 630, family rules 640, and
図7に示されているような、それぞれの通信フロー規則は、アクティブ、順序、条件、および通信フロー式という4つの属性を含む。アクティブは、「yes」または「no」に設定される。非アクティブである規則、つまり、「no」に設定されている規則は、受信者の名前を個人通信フローに変換する場合には考慮されない。順序属性は、評価対象の名前付けコンテキスト610内のすべてのアクティブ規則の順序を指定する場合に使用される。order内のそれぞれの規則の条件が次に検査される。条件は、等式、不等式、範囲、および正規表現マッチングなどの属性値比較からなる論理式である。条件が満たされると、要求配送のため、受信者の名前が随伴する通信フロー式に変換される。MgrRuleの条件では、ユーザー名またはuidで特定の要求者を検査する。FamilyRuleの条件では、「Family」で始まるタイトルを検査する。PaperwrkRの条件は、常に満たされる。PaperwrkRは、他の規則が満たされない場合に適用されるデフォルトの規則である。このため、その順序番号は最高位の番号である。
Each communication flow rule, as shown in FIG. 7, includes four attributes: active, order, condition, and communication flow expression. Active is set to “yes” or “no”. Rules that are inactive, ie, rules set to “no” are not considered when converting a recipient's name to a personal communication flow. The order attribute is used to specify the order of all active rules within the naming
図7に示されているように、レコード710、720、および730の規則例ではそれぞれ、少なくとも1つの名前付き通信フロー式(urgentCF 690またはrelaxedCF 695)を参照している。urgentCFまたはrelaxedCF通信フロー式は、以下のように、受信者環境設定およびロール・データベース500内の名前付き通信フロー式として定義することができる。
As shown in FIG. 7, the example rules of
UrgentCF:cell races officephone races homephone
RelaxedCF:email races web
この方法では、名前付き通信フロー式により、受信者Joannは、規則で指定されている条件に基づき連絡のためさまざまな規則を確立することができる。
UrgentCF: cell races officephone races homephone
RelaxedCF: email races web
In this way, the named communication flow formula allows recipient Joann to establish various rules for contact based on the conditions specified in the rules.
規則を構成する場合、連絡の共通方法の名前付き通信フロー式を作成すると便利なことが多い。この方法で、受信者は名前付き通信フロー式内の特定の環境設定を1回更新することができ、変更された名前付き通信フロー式を参照するすべての通信フロー式が自動的に更新される。その後、ときにはさまざまな目的のために同じ名前付き通信フローを使用して、規則で名前付きフローを参照できる。規則PaperwrkRでは、単純に名前付き通信フロー(relaxedCF 695)を使用するだけである。規則MgrRuleでは、受信者に緊急連絡を取ることができる場合に対して時間的制約を加え、いつでも緩和された連絡通信フローを使用する。規則FamilyRuleでは、利用可能なすべての媒体連絡を使用する。 When constructing rules, it is often convenient to create a named communication flow expression for a common method of contact. In this way, the recipient can update a particular environment setting in the named communication flow expression once and all communication flow expressions that reference the changed named communication flow expression are automatically updated. . You can then refer to the named flow in a rule, sometimes using the same named communication flow for various purposes. The rule PaperwrR simply uses a named communication flow (relaxed CF 695). The rule MgrRule uses a relaxed contact communication flow at any time, adding time constraints to when the recipient can be contacted urgently. The rule FamilyRule uses all available media contacts.
通信フロー規則を使用すると、さらに、企業の従業員は段階的に緊急応答を行うことができる。たとえば、企業が顧客からの要求に即時応答しなければならず、要求はキーワード「urgent business」を含むタイトルとともに顧客から受信する。さらに、企業の少なくとも1人の従業員が以下の通信フロー規則を指定していると仮定する。
Title=「*Urgent Business*」;
Communication flow:(cellphone races pager)before +0:05 delegates manager
Using communication flow rules, further, corporate employees can make urgent responses in stages. For example, a company must immediately respond to a request from a customer, and the request is received from the customer with a title that includes the keyword “urgent business”. Further assume that at least one employee of the company has specified the following communication flow rules:
Title = “* Urgent Business *”;
Communication flow: (cellphone races pager) before +0: 05 delegates manager
「manager」は、正しいマネージャを見つけるために受信者のディレクトリ・エントリ内のマネージャ・リンクを使用するデフォルトの名前付き通信フローである。キーワード「urgent business」を含むタイトルとともに要求を受信したときに、段階規則がトリガされる。従業員が5分以内に自分の携帯電話またはポケットベルに出ない場合、要求は上位レベルの「manager」に伝達される。 “Manager” is the default named communication flow that uses the manager link in the recipient's directory entry to find the correct manager. A grading rule is triggered when a request is received with a title that includes the keyword “urgent business”. If the employee does not appear on his mobile phone or pager within 5 minutes, the request is communicated to a higher level “manager”.
通常、段階処理を行う通信フローでは、要求が次の上位レベルに回される前に取り消される場合にdelegatesプリミティブを使用する。他のバリエーションでは、通信フローは、連鎖の前の方にいる人々への未処理要求を取り消さずに段階処理を実行できる。たとえば、以下の通信フロー例は、連鎖の前の方にいる人々への未処理要求を取り消さずに段階処理を実行する。 Typically, a communication flow that performs step processing uses a delegates primitive when the request is canceled before it is routed to the next higher level. In other variations, the communication flow can perform staged processing without canceling outstanding requests to people earlier in the chain. For example, the following communication flow example performs staged processing without canceling outstanding requests to people in the front of the chain.
(Tom else Manager)races(Manager after +04:00)
この通信フローは、最初に、Tomだけと連絡を取り、初期応答が失敗した場合に即座に定義済みのManagerに連絡する。さらに、4時間経過したら要求を1段上のManagerに伝え、TomまたはManagerからの第1の応答のみが受け付けられる。通信および応答システム100は任意選択により、指定された要求が取り消された理由に関する情報を保持し、そのような情報を取り消された要求と関連する受信者に供給することができる。
(Tom else Manager) races (Manager after +04: 00)
This communication flow first contacts only Tom, and immediately contacts a defined Manager if the initial response fails. Further, after 4 hours have passed, the request is transmitted to the manager one level higher, and only the first response from Tom or Manager is accepted. Communication and
この通信フロー式では、最適化を使用することにより、受信者指定Managerが同時に通信フロー内で2回アクティブになっている可能性があるという事実があろうと、1回Mangagerと連絡を取る。受信者名の各インスタンスは、その要求に寄与したエンティティ、つまり、要求者、または個人通信フローに関わるロールにより所有される。受信者名により同じオブジェクト/受信者が識別され、受信者名の所有者が同じである場合、受信者はそれらの名前に関して1回だけ連絡が取られる。所有者が異なる場合、受信者が所有者の代理として異なる方法で行動したがっていると仮定する、したがって受信者は、要求を受信者に委託した人に関する記録により複数回連絡が取られる。 In this communication flow equation, optimization is used to contact the Manager once, regardless of the fact that the recipient designated Manager may be active twice in the communication flow at the same time. Each instance of the recipient name is owned by the entity that contributed to the request, i.e., the requestor, or the role involved in the personal communication flow. If the recipient name identifies the same object / recipient and the recipient name has the same owner, the recipient is contacted only once for their names. If the owners are different, assume that the recipient wants to act differently on behalf of the owner, so the recipient is contacted multiple times with records about who has delegated the request to the recipient.
受信者環境設定およびロール・データベース500およびLDAPディレクトリ・ツリー600に記録されているユーザーの環境設定は、図5〜7に関して上で説明したように、存在および利用可能性の情報により修正することができる。たとえば、受信者は、次のように、自分の環境設定を指定することができる。
(present(cell)then cell)delegates(present(email)then email)
Recipient preferences and user preferences recorded in the
(Present (cell) then cell) delegates (present (email) then email)
present機能により、携帯電話媒体連絡に使用できる受信者およびデバイス情報により存在サーバと連絡を取る。携帯電話がオンになっていることを存在サーバが示した場合、present機能は「true」を返す。そうでなければ、「maybe」を返す。同様に、受信者が電子メール媒体連絡に対しネットワーク上に存在している場合、present機能は「true」を返す。そうでなければ、「maybe」を返す。受信者が携帯電話を使用できる状態にある場合、携帯電話で連絡が取られる。受信者が携帯電話を使用できる状態にない、または連絡が失敗した場合、ネットワークがチェックされ、受信者がそこにいれば電子メールが送信される。present機能は、存在サーバによって提供される機能にもよるが多かれ少なかれ高度なものである。また、通信フロー規則により、受信者は存在サーバを通じてアクセスできる要求者または要求の種類を制限することもできることに注意されたい。 The present function contacts a presence server with recipient and device information that can be used for mobile phone media contact. If the presence server indicates that the mobile phone is turned on, the present function returns “true”. Otherwise, “maybe” is returned. Similarly, if the recipient is on the network for email media contact, the present function returns “true”. Otherwise, “maybe” is returned. If the recipient is ready to use the mobile phone, the mobile phone is contacted. If the recipient is not ready to use the cell phone or the contact fails, the network is checked and an e-mail is sent if the recipient is there. The present function is more or less advanced, depending on the function provided by the presence server. It should also be noted that communication flow rules may allow the recipient to limit the requesters or types of requests that can be accessed through the presence server.
存在および利用可能性の情報の他の応用では、媒体連絡は、存在情報が失敗(たとえば、携帯電話のスイッチがオフになっている)を示す通信試行(たとえば、電話呼び出し)をスキップすることでその動作を最適化することができる。媒体連絡は、単に、電話をかけようとして失敗したかのように先へ進むことができる。 In other applications of presence and availability information, media contact can be done by skipping communication attempts (eg, phone calls) where presence information indicates failure (eg, mobile phone is switched off). Its operation can be optimized. The media contact can proceed as if it just failed to make a call.
ユーザーの環境設定は、企業側で決定することもできる。たとえば、企業は、顧客の支払い履歴に基づいて、侵襲性の度合いの高い顧客に通知を送信することができる。たとえば、以下の「delegats」プリミティブの項で詳述するように、支払い履歴が芳しくない顧客は、自動電話呼び出しにより1回目の延滞通知を受け取り、集金代行業者を通じて2回目の延滞通知を受け取るようにできる。支払い履歴が平均的な顧客は、1回目の延滞通知を郵便で受け取り、2回目の延滞通知を自動電話呼び出しで受け取り、3回目の延滞通知を集金代行業者を通じて受け取るようにできる。 User preferences can also be determined by the company. For example, a company can send a notification to a highly invasive customer based on the customer's payment history. For example, as detailed in the “delegats” primitive section below, a customer with poor payment history will receive a first arrears notice via an automated telephone call and a second arrears notice through a collection agent. it can. Customers with average payment history can receive a first overdue notification by mail, receive a second overdue notification by automated telephone call, and receive a third overdue notification through a collection agent.
ディレクトリのデフォルトおよび発見的手段
図13に関して以下で詳述する通信フロー・マネージャ1300は、短時間で導入でき、使いやすいため、LDAPディレクトリ・ツリー600(図6)のデフォルト・ディレクトリを採用している。通信フロー・マネージャ1300もまた、ディレクトリの検索時に発見的手法を採用することにより使い勝手を向上させる。通信フロー・マネージャ1300は、まず企業側にインストールされると、通信フロー・マネージャ1300は、既存の企業LDAPディレクトリ500から外れる。企業LDAPディレクトリ500の構成に関する情報に加えて、通信フロー・マネージャ1300では、アプリケーション特有のオブジェクト(つまり、通信フロー、通信フロー規則、媒体連絡、強化されたロールおよび構成オブジェクト)に対しオブジェクト・クラスを作成する必要がある。
Directory Defaults and Heuristics The
通信フロー・マネージャ1300は、さらに、その構成および他のオブジェクトのデフォルト・インスタンスを格納できるディレクトリ・サブツリー600を作成する必要もある。デフォルト・ディレクトリを使用して、企業ディレクトリ内にすでに存在している人々およびロールに通信フロー・サービスを提供する。これらの人々およびロールは、受信者およびその企業の裁量で、個人化された通信フローおよび規則で強化することができる。
The
媒体連絡オブジェクトのデフォルト・インスタンスでは、自分の媒体連絡オブジェクトを指定するユーザーからも利用できる代入機能を使用する。媒体連絡オブジェクト内のアドレス・フィールドでは、角かっこを使用して、対象の受信者のLDAPディレクトリ・エントリ内の属性の名前を指定することができる。その属性の値は、もし存在すれば、オブジェクトの取り出し後、アドレス・フィールド内の角かっこで囲まれた属性名を置き換える。たとえば、<mobile>は、媒体連絡オブジェクトのアドレス・フィールドを、意図された受信者Joannを記述するinetOrgPersonオブジェクト内のmobileの値で埋めるさらに高度な代入手法も可能であり、本発明の範囲内にある。 The default instance of the media contact object uses a substitution function that is also available to users who specify their media contact object. In the address field in the media contact object, square brackets can be used to specify the name of the attribute in the target recipient's LDAP directory entry. The value of the attribute, if present, replaces the attribute name enclosed in square brackets in the address field after retrieving the object. For example, <mobile> allows for a more advanced substitution technique that fills the address field of the media contact object with the value of mobile in the inetOrgPerson object that describes the intended recipient Joann, and is within the scope of the present invention. is there.
媒体連絡オブジェクトのデフォルト・インスタンスとともに、通信フロー・マネージャ1300では、デフォルトの名前付き通信フロー式およびデフォルト通信フロー規則を作成する。通知および応答システム100の例では、デフォルトでは、受信者の電子メール・アカウントおよびWebポータル(電子メール・レースWeb)にすべての要求を送信する。デフォルトはすべて、企業側でニーズに合わせて変更することができ、デフォルト・オブジェクトは、個人通信フロー式および通信フロー規則を構成するユーザーから利用できる。
Along with the default instance of the media contact object, the
エントリの完全な識別名は、扱いにくく、直感的でない。そこで、通信フロー・マネージャ1300では、短い名前での発見的探索を使用して必要なオブジェクトを特定する。オブジェクトの完全な識別名は、通信フロー式内で識別名を各角かっこで囲むことにより、たとえば、<uid=joann,ou=people,o=research.avaya.com>として指定する。本明細書の例では、短い名前だけを使用してきた。
The full distinguished name of the entry is cumbersome and not intuitive. Therefore, the
名前に遭遇すると、通信フロー・マネージャ1300は、人々、ロール、名前付き通信フロー、または個人名前付けコンテキストを適宜格納するために使用するディレクトリ部分ツリー、たとえば、610、620を探索する。通信フロー・マネージャ1300は、短い名前を部分ツリー内のエントリの相対的識別名と比較することにより探索する。マッチングが見つからなければ、通信フロー・マネージャ1300は、その後、デフォルト・ディレクトリを探索してから、エラーを返す。
Upon encountering a name, the
外部組織が通信フロー・マネージャをインストールしていなくても、ローカル通信フロー・マネージャ1300を通じて、企業または他の企業群の他の部分と連絡を取ることができる。外部組織にLDAPディレクトリ500がある場合、2つの方法で通信フロー・マネージャ1300の名前空間内に組み込むことができる。まず、応答のため外部のディレクトリに連鎖している「smart referral」または他のメカニズムを使用して、外部ディレクトリをローカル・ディレクトリに組み込む。この場合、デフォルトまたは個人通信フロー情報がそこで利用できない場合には必ず、ローカル・ディレクトリに対する通信フローのデフォルトが外部ディレクトリに適用される。次に、adv_searchプリミティブにより、外部ディレクトリの連絡情報を記述し、要求者側で使用することができる。デフォルトが必要なすべての場合に、通信フロー・マネージャ1300のデフォルトおよび構成を外部ディレクトリに格納するディレクトリ部分ツリーの名前が通信フロー・マネージャ1300の提案された規約と一致していない限りローカル・デフォルトが使用される。このような理由から、LDAPディレクトリで通信フロー・マネージャ1300の推奨部分ツリー名をサポートするよう推奨する。通知および応答システム100の例では、その名前は次のとおりである。
<ou=Xui Server,o=domain−name−of−server>
Even if the external organization does not have a communication flow manager installed, it can communicate with other parts of the company or other companies through the local
<Ou = Xui Server, o = domain-name-of-server>
要求者は、ときおり、ディレクトリ内にいないが、連絡したい連絡先の個人の住所録を用意していることがある。時々、要求者は、電話などの特定の媒体タイプで特定の個人と連絡を取ることを強く好んでいることがある。これらの場合には、要求者は、ディレクトリ内の要求者の個人名前付けコンテキストの中にあるそれらの個人の個人名前付けコンテキストを作成することができる。他の人のそれぞれの個人名前付けコンテキストは、その人のinetOrgPersonエントリを含み、さらに、inetOrgPersonエントリをルートとする部分ツリー内の通信フロー規則、媒体連絡、および名前付き通信フローを含む。次に、要求者は、自分の要求に対する通信フロー内の各受信者の完全識別名を指定する。 The requester sometimes has an address book of the contact person who is not in the directory but wants to contact. From time to time, the requester may be highly fond of contacting certain individuals with certain media types, such as telephone calls. In these cases, the requester can create a personal naming context for those individuals within the requester's personal naming context in the directory. Each other person's personal naming context includes that person's inetOrgPerson entry, and further includes communication flow rules, media contacts, and named communication flows in the subtree rooted at the inetOrgPerson entry. The requester then specifies the full distinguished name of each recipient in the communication flow for his request.
通信フロー・マネージャ1300では、受信者に対して要求者110により指定された通信フローを使用する。システムの強化では、デフォルトを探索し、まず要求者のツリー内に短い名前がないか調べ、次にディレクトリの人々およびロールの部分ツリーを調べ、そして最後に、ディレクトリのデフォルト部分ツリー内を調べることによりアルゴリズムを拡張する。このような手法は、受信者の環境設定に対する指定に反しており、ディレクトリに載っていない受信者または受信者の環境設定に関連性がないか、従う必要のないアプリケーションにしか使用されない。
The
通信フローのプリミティブ
すでに述べたように、通信フロー式では、要求を受け取る受信者、および受信者が要求を受け取る仕方、いつ受け取るか、およびどこで受け取るかを指定する。通信フロー式に含まれるプリミティブは、受信者に同時に連絡するかまたは順次連絡するか、および成功検査結果の論理結合を定義することによりいつ部分式の実行を終了すべきかを指定する。図8は、一組の通信フロー式のプリミティブの例を示すサンプル・テーブルである。図9A〜図9Eは、図8に示されているさまざまなプリミティブに対する真理値表の図である。図9A〜9Eで、「F」はfalseの応答を、「T」はtrueの応答を、「X」はmaybeの応答を示す。図9A〜9Eのそれぞれの左欄は、応答する第1オペランドを示し、最上位行は第2オペランドが応答することを示している(単一のオペランド「not」プリミティブ以外のすべてのプリミティブについて)。T、X、またはFの「b」下付添え字は、指示された値を取得するために両方のオペランドを評価しなければならないことを示している。プリミティブにより、要求の流れが受信者に向かう。具体的には、プリミティブでは、並行または順次通信の方向と受信者との通信の状況を通信フローにどのような影響を及ぼすかということの評価と組み合わせる。他のプリミティブは、連絡を取る時期またはディレクトリのオブジェクトのリストから通信フローを構築する方法を制御する。
Communication Flow Primitives As already mentioned, a communication flow expression specifies the recipients who will receive the request, and how, when and where the recipient will receive the request. Primitives included in the communication flow expression specify when the sub-expression execution should be terminated by defining the logical combination of success check results, and contacting the recipients simultaneously or sequentially. FIG. 8 is a sample table showing an example of a set of communication flow type primitives. 9A-9E are diagrams of truth tables for the various primitives shown in FIG. 9A to 9E, “F” indicates a false response, “T” indicates a true response, and “X” indicates a maybe response. Each left column of FIGS. 9A-9E indicates the first operand that responds, and the top row indicates that the second operand responds (for all primitives other than the single operand “not” primitive). . The “b” subscript of T, X, or F indicates that both operands must be evaluated to obtain the indicated value. Primitives direct the request flow to the recipient. Specifically, the primitive combines with the evaluation of how the direction of parallel or sequential communication and the state of communication with the recipient affect the communication flow. Other primitives control when to contact or how to build a communication flow from a list of objects in the directory.
プリミティブは、当然、and/then、or/else、races/delegates、およびvotes/pollsのように並行/順次のペアにグループ化することができる。並行プリミティブと順次プリミティブは、オペランドの評価方法が異なる。並行プリミティブでは、それぞれの受信者に並行して連絡を取る。処理要求は、プリミティブのtrue値を決定するためにもはや必要なくなれば取り消される。順次プリミティブでは、要求は現れる順序でそれぞれの受信者に送られる。受信者が応答すると、要求は次の受信者に送信され、必要ならば、プリミティブのtrue値を決定する。それぞれのプリミティブは、受信者との通信が成功したかどうかに応じてtrue、false、またはmaybeに評価される。 Primitives can of course be grouped into parallel / sequential pairs such as and / then, or / else, races / deletes, and votes / pols. There are different operand evaluation methods for concurrent primitives and sequential primitives. Concurrent primitives contact each recipient in parallel. A processing request is canceled if it is no longer needed to determine the primitive's true value. With sequential primitives, requests are sent to each recipient in the order in which they appear. When the recipient responds, the request is sent to the next recipient and, if necessary, determines the primitive's true value. Each primitive evaluates to true, false, or maybe depending on whether the communication with the recipient is successful.
And/Then
「and」プリミティブでは、並行して2人の受信者と連絡を取ること、および両方の受信者が成功で応答した場合に通信フローが成功している(trueに評価される)ことを指定する。受信者のうちの一方への要求が失敗した場合、「and」プリミティブはfalseに評価され、他方の受信者への要求は可能であれば取り消される。他のすべての場合は、「and」プリミティブはmaybeに評価される。「and」に対する真理値表は図9Aに示されており、第1オペランドが応答する値は、各行の左に沿ってあり、第2オペランドが応答する値は各列の上段に沿ってある。
And / Then
The “and” primitive specifies that two recipients are contacted in parallel and that the communication flow is successful (evaluates to true) if both recipients respond with success. . If a request to one of the recipients fails, the “and” primitive evaluates to false and the request to the other recipient is canceled if possible. In all other cases, the “and” primitive evaluates to maybe. The truth table for “and” is shown in FIG. 9A, where the value to which the first operand responds is along the left of each row, and the value to which the second operand responds is along the top of each column.
「then」プリミティブは、「and」の順次形式である。つまり、受信者は、現れた順に一度に1人ずつ連絡が取られ、第2の受信者は、第2の受信者が成功で応答した場合のみ連絡が取られる。図9Bに示されている「then」の真理値表は、第1のオペランドがmaybeを返し、第2のオペランドがfalseを返したときの「and」プリミティブの真理値表と異なる。「then」プリミティブの場合には第2オペランドは評価されず、「then」プリミティブの真理値がmaybeのままであるが、「and」プリミティブの場合は、第2オペランドが評価され、プリミティブはfalseを返す。この選択は、「then」プリミティブに対して行われており、より自然な意味論的解釈を行える。 The “then” primitive is a sequential form of “and”. That is, the recipients are contacted one at a time in the order in which they appear, and the second recipient is contacted only if the second recipient responds successfully. The truth table for “then” shown in FIG. 9B is different from the truth table for the “and” primitive when the first operand returns maybe and the second operand returns false. In the case of a “then” primitive, the second operand is not evaluated, and the truth value of the “then” primitive remains maybe, but in the case of the “and” primitive, the second operand is evaluated and the primitive returns false. return. This selection is made on the “then” primitive, which allows a more natural semantic interpretation.
Or/Else
「or」プリミティブでは、並行して2人の受信者と連絡を取ること、および受信者のうち少なくとも一方が成功で応答した場合に通信フローが成功している(trueに評価される)ことを指定する。両方の受信者が否定的応答をした場合、プリミティブはfalseに評価される。他のすべての場合には、プリミティブはmaybeに評価される。「or」プリミティブの真理値表は図9Cに示されている。
Or / Else
In the “or” primitive, to contact two recipients in parallel and that the communication flow is successful (evaluates to true) if at least one of the recipients responds successfully. specify. If both recipients respond negatively, the primitive evaluates to false. In all other cases, the primitive evaluates to maybe. The truth table for the “or” primitive is shown in FIG. 9C.
「else」プリミティブは、「or」プリミティブの順次形式であり、第2受信者は、第1の応答が成功しなかった場合にのみ連絡が取られる。「else」プリミティブの真理値表は図9Cに示されている「or」プリミティブと同じである。「else」プリミティブの場合、第2オペランドは、第1オペランドがmaybeまたはfalseに評価された場合にのみ評価される。「else」演算子が用意されており、第1受信者が「no」と応えるか、または応答に失敗(maybe)した場合のみ第2受信者に連絡を取るシナリオに対処している。 The “else” primitive is a sequential form of the “or” primitive, and the second recipient is contacted only if the first response is not successful. The truth table for the “else” primitive is the same as the “or” primitive shown in FIG. 9C. For the “else” primitive, the second operand is evaluated only if the first operand evaluates to maybe or false. An “else” operator is provided to deal with scenarios where the first recipient contacts the second recipient only if the first recipient responds with “no” or if the response fails.
Races/Delegates
and/then、or/elseプリミティブは、通信フロー式の成功または失敗を判別するために、十分な受信者に連絡を取ることにすべて集中している。ときには、多くの可能な応答のうちの第1のものを受け付けるのがよいこともある。これは、成功するか、または不可能になるまで票を数えるので、既存のプリミティブではできない。並行プリミティブ「races」は、応答するオペランドのうちの第1のもののステータスに応じて成功または失敗する。第1の応答者が成功した場合、「races」プリミティブは成功する。第1の応答者が失敗した場合、「races」プリミティブは失敗する。第2の応答者に対する要求は、可能であれば取り消される。たとえば、
Cell races Office races Email races Web
は、携帯電話、事務所の電話、電子メール、またはWebポータルの媒体連絡のどれかを経由して受信者から受け取った第1の応答に応じて成功または失敗する。
Races / Delegates
The and / then, or / else primitives are all focused on contacting enough recipients to determine the success or failure of the communication flow expression. Sometimes it may be better to accept the first of many possible responses. This is not possible with existing primitives because it counts votes until it is successful or impossible. The concurrent primitive “races” succeeds or fails depending on the status of the first of the responding operands. If the first responder succeeds, the “races” primitive succeeds. If the first responder fails, the “races” primitive fails. The request for the second responder is canceled if possible. For example,
Cell races Office races Email races Web
Succeeds or fails in response to a first response received from the recipient via either a mobile phone, office phone, email, or web portal media contact.
本明細書で説明している他のプリミティブとは異なり、「races」プリミティブは、一方のオペランドからの成功または失敗応答に対して等しい重みを付ける。and/thenプリミティブは、オペランドの失敗には即座に応答するが、両方のオペランドから結果が返るのを待ち、その後、成功を返す。or/elseプリミティブは、オペランドの成功には即座に応答するが、両方のオペランドから結果が返るのを待ち、その後、失敗を返す。「races」プリミティブは、オペランドからの第1の応答に対して即座に応答し、そのオペランドの結果を返す。これは特に、上の例で示されているように、複数のデバイスを経由して個人に連絡し、個人がそれらのデバイスのうちの1つだけを介して成功または失敗とともに要求に応答することができるため有用である。「races」プリミティブは、他のプリミティブから指定することはできない。「races」の真理値表は図9Dに示されている。 Unlike the other primitives described herein, the “races” primitive gives equal weight to success or failure responses from one operand. The and / then primitive responds immediately to operand failures, but waits for results from both operands, and then returns success. The or / else primitive responds immediately to the success of the operand, but waits for results from both operands, and then returns a failure. The “races” primitive responds immediately to the first response from the operand and returns the result of that operand. This is especially the case, as shown in the example above, contacting an individual via multiple devices and responding to the request with success or failure via only one of those devices It is useful because it can. The “races” primitive cannot be specified from other primitives. The truth table for “races” is shown in FIG. 9D.
「delegates」プリミティブは、「races」プリミティブの順次形式である。「delegates」プリミティブの真理値表は「races」プリミティブと同じである。「delegates」プリミティブは、左オペランドが通知失敗(maybe)を返した場合にのみ右オペランドを評価する。「races」プリミティブと同様に、「delegates」プリミティブは、他のプリミティブから指定することはできない。 The “deletes” primitive is a sequential form of the “races” primitive. The truth table for the “deletes” primitive is the same as the “races” primitive. The “deletes” primitive evaluates the right operand only if the left operand returns a notification failure. As with the “races” primitive, the “deletes” primitive cannot be specified from other primitives.
上述の例に戻ると、Joannは自分の環境設定を次のようにして指定することができる。
cell delegates office delegates Jerry
その一方で、要求の生成側では以下のように指定する。
(Joann then Tom)or(Joann else Priya)
Jerryは、Joannが応答に失敗した場合にのみ応答する。Tomに対しては、JoannまたはJerryが、Joannの不在中に「yes」と応える場合にのみ連絡が取れる。JoannもJerryも応答しない、あるいは両者とも「No」と返事した場合、Priyaに連絡を取る。
Returning to the above example, Joann can specify his environment settings as follows.
cell delegates office delegates Jerry
On the other hand, the request generation side specifies as follows.
(Joann the Tom) or (Joann else Priya)
Jerry responds only when Joann fails to respond. Tom can be contacted only if Joann or Jerry responds with “yes” in the absence of Joann. If neither Joann nor Jerry responds, or both reply “No”, contact Priya.
「races」プリミティブが作られたのは、複数の同時デバイスを経由して1人の人と連絡を取る必要があるということが動機となっている。たとえば、受信者は携帯電話と事務所の電話の両方に通知を送るということを指定できる場合がある。受信者が自分の事務所の電話で応答した場合、その応答は、成功、失敗に関係なく、携帯電話への保留連絡にも適用すべきである。「and」および「or」プリミティブは、この要求条件を満たしていなかった。「delegates」プリミティブでは、たとえば、第1受信者が応答しない場合のみ第2受信者に連絡を取るシナリオを扱うことができるか、あるいは受信者と連絡が取れるまで一連のデバイスの探索を順次続けてゆく。 The “races” primitive was created because it needs to contact one person via multiple simultaneous devices. For example, the recipient may be able to specify that notifications are sent to both mobile phones and office phones. If the recipient responds with his office phone, the response should be applied to the pending call to the mobile phone, regardless of success or failure. The “and” and “or” primitives did not meet this requirement. For example, the “deletes” primitive can handle a scenario in which the second recipient is contacted only if the first recipient does not respond, or a series of device searches are continued until the recipient can be contacted. go.
すでに述べているように、delegatesプリミティブを使用すると、企業では、個人化された要求配送を段階的に行うことができる。たとえば、代金取り立て業務にかかわる企業は、次のように、顧客との関係履歴に基づき、それぞれの顧客の個人通信フローを用意することができる。
good credit customers:web delegates email delegates sms delegates homephone
poor credit customers:homephone delegates officephone delegates cell
したがって、顧客がそれぞれの要求に対する応答を失敗すると、要求は次の連絡方法へ格上げされる。
votes/polls
As already mentioned, using the delegates primitive allows companies to phase out personalized request delivery. For example, a company involved in a price collection business can prepare a personal communication flow for each customer based on the relationship history with the customer as follows.
good credit customers: web delegates email delegates sms delegates homephone
poor credit customers: homephone delegates cell
Thus, if the customer fails to respond to each request, the request is upgraded to the next contact method.
votes / pols
受信者のリストに対し順次および並行通信フロー・プリミティブを一般化することが可能である。and/orプリミティブの並行および順次形式は、受信者のリストによる並行または順次投票を可能にするもう2つの一般的なプリミティブの特別なケースである。たとえば、「and」プリミティブの成功は、100%がyesに投票した場合に2人の受信者による投票であり、「or」プリミティブの成功は、少なくとも50%がyesに投票した場合の2人の受信者による投票である。 It is possible to generalize sequential and concurrent communication flow primitives to a list of recipients. The parallel and sequential form of the and / or primitive is a special case of two more common primitives that allow parallel or sequential voting by a list of recipients. For example, the success of the “and” primitive is a vote by two recipients when 100% voted yes, and the success of the “or” primitive is the success of two people when at least 50% voted yes. Vote by recipient.
「votes」プリミティブは、成功応答のカウントmまたはパーセンテージn%に達した場合に並行して人数cの受信者のリストについて連絡し、成功(true)を返す。したがって、c−m+1のfalse応答があった場合に失敗が発生する。各受信者は、通信フロー式で表すことができ、カウントまたはパーセンテージは、成功する「votes」プリミティブについて受信しなければならない成功の回数を表す。たとえば、
{TOM,Joann,Jerry}votes 50%
は、Tom、Joann、およびJerryに並行して連絡する。少なくとも2人が成功で応答すると、「votes」プリミティブは成功となる。「votes」プリミティブが失敗するのは(falseを返すのは)、十分な受信者が、指定されたカウントまたはパーセンテージに達することができないようなfalse応答を返した場合である。他の場合には、成功に達することができなければ「votes」プリミティブはmaybeとなる。上の例で、Tom、Joann、およびJerryのうち少なくとも2人が失敗で応答した場合、「votes」プリミティブは失敗となる。その一方で、true、false、およびmaybeだと、maybeの真理値になる。
The “votes” primitive contacts the list of recipients of the number c in parallel when the success response count m or percentage n% is reached, and returns success (true). Therefore, a failure occurs when there is a cm-
{TOM, Joann, Jerry} votes 50%
Will contact Tom, Joann, and Jerry in parallel. If at least two respond with success, the “votes” primitive is successful. The “votes” primitive fails (returns false) if enough recipients return a false response that prevents the specified count or percentage from being reached. In other cases, if the success cannot be reached, the “votes” primitive is maybe. In the above example, if at least two of Tom, Joann, and Jerry respond with a failure, the “votes” primitive fails. On the other hand, true, false, and maybe become the truth value of maybe.
プリミティブのカウントまたはパーセンテージから直接trueを返す必要があるtrue投票の回数を計算することが可能であることに注意されたい。これから、falseを返す必要のあるfalse投票の数(総数+1−trueの数)およびmaybeを返す非true投票(少なくとも1つがmaybeである場合のfalseまたはmaybe)の数(総数+1−trueの数)を計算するのは簡単なことである。「polls」プリミティブは、「votes」プリミティブの順次形式である。 Note that it is possible to calculate the number of true votes that need to return a true directly from a primitive count or percentage. From now on, the number of false votes that need to return false (total + 1-true) and the number of non-true votes that return maybe (false or maybe if at least one is maybe) (total + 1-true) It is easy to calculate. The “pols” primitive is a sequential form of the “votes” primitive.
votesプリミティブを、たとえば、限られた数の品目を販売または配布する場合に使用すると便利である。たとえば、500ユニットの指定品目と5000人の見込み客がいる会社では、以下の通信フローを指定することができる。
{customer1,customer2,...,customer5000}votes 500
要求は、顧客が500ユニット注文したときに完了する(各顧客は1ユニットのみを注文すると仮定する)。各顧客が複数のユニットを注文できる例については、test response statusプリミティブの以下の説明を参照のこと。
The votes primitive is useful, for example, when selling or distributing a limited number of items. For example, a company with 500 units of specified items and 5000 prospective customers can specify the following communication flow:
{Customer1, customer2,. . . , Customer5000} votes 500
The request is completed when the customer orders 500 units (assuming each customer orders only one unit). See the following description of the test response status primitive for an example where each customer can order multiple units.
pollsプリミティブを、たとえば、至急人員を補充する必要がある場合に使用すると便利である。たとえば、明日の朝までに注文リストから5人の代用教員を見つけようとしている学校は、以下のように通信フローを指定することができる。
{teacher1,teacher2,...,teacherN}polls 5
すでに示されているように、この要求は、5人の代用教員が授業を受け持つことに同意した場合に完了する。
The polls primitive is convenient to use when, for example, it is necessary to replenish personnel urgently. For example, a school trying to find five substitute teachers from the order list by tomorrow morning can specify the communication flow as follows.
{Teacher1, tearer2,. . . , Tearer N} polls 5
As already indicated, this request is completed when five substitute teachers agree to take charge of the lesson.
通信フロー式は、リストではないため、式を「votes」および「polls」プリミティブで必要なリストに変換すると都合がよい。特に、受信者環境設定およびロール・データベース500内の名前付き通信フローは、多くの場合、当然であるが、リスト構造を持つ。大かっこで囲まれたリストではなく、通信フロー式が第1オペランドとして現れるときに「votes」および「polls」プリミティブに対しては自動変換がサポートされる。自動変換は、結合のみまたは調整のみを含む通信フロー式に対して実行される。式に「and」および「then」プリミティブのみが含まれる場合、これは、結合のリストに変換される。式に「or」および「else」プリミティブのみが含まれる場合、式は、分離のリストに変換される。上に示した例をもう一度検討すると、
Reviewers votes 2
は、実際には以下のような式である。
(Chris and Jerry and Benji and Jenny)votes 2
結合は、自動的に、リスト{Chris,Jerry,Benji,Jenny}に変換される。式をリストに変換する操作の詳細を指定することは可能であるが、このような変換が、必要であるとか、明らかであるとか、または望ましいということは明確でない。後述のsearchプリミティブは、リストを式に変換する。
Since the communication flow expression is not a list, it is convenient to convert the expression to the required list with the “votes” and “pols” primitives. In particular, the recipient configuration and named communication flows in the
Reviewers votes 2
Is actually the following equation:
(Chris and Jerry and Benji and Jenny) votes 2
The join is automatically converted to the list {Chris, Jerry, Benji, Jenny}. Although it is possible to specify the details of the operation that converts an expression to a list, it is not clear that such a conversion is necessary, obvious, or desirable. A search primitive described below converts a list into an expression.
「races」および「delegates」プリミティブの生成
受信者のリストに対しracesおよびdelegatesプリミティブを一般化することが可能である。racesの一般化は、gen_racesと呼ばれるものであるが、受信者のリスト、収集する応答の数、および受信した応答からプリミティブの成功または失敗を判別する決定アルゴリズムを受け付ける。たとえば、gen_racesを1回使用すると、N番目の受信した応答の値を受け付ける。これは、100番目の呼び出し側から応答を受け付けるラジオ・トーク・ショー・モデルに対応している。他の例では、gen_racesは、5つの応答のうち3つを収集し、その3つの大半の応答を返す。この結果は、
{A,B,C,D,E}votes 2
と異なり、これは、2つ成功するまで待つ。gen_delegatesは、delegatesプリミティブの一般化である。gen_delegatesは、gen_racesと似ているが、プリミティブの条件が満たされるまで受信者に順次連絡してゆく点が異なる。
Generating “races” and “deletegates” primitives It is possible to generalize the races and delegates primitives to a list of recipients. A generalization of races, called gen_races, accepts a list of recipients, the number of responses to collect, and a decision algorithm that determines the success or failure of a primitive from the received responses. For example, if gen_races is used once, the value of the Nth received response is accepted. This corresponds to a radio talk show model that accepts a response from the 100th caller. In another example, gen_races collects three of the five responses and returns the majority of the three responses. The result is
{A, B, C, D, E} votes 2
Unlike this, it waits for two successes. gen_deletegates is a generalization of the delegates primitive. gen_deletegates is similar to gen_races, except that it sequentially contacts the recipient until the primitive conditions are met.
順次/並行プリミティブの実装
順次および並行プリミティブは、単純なカウント・アルゴリズムを使用する実施例において実装されている。各プリミティブは、trueを返す必要のあるtrue応答の数とfalseを返す必要のあるfalse応答の数により記述される。さらに、maybeを返す必要があるmaybe応答の最小数とmaybeが返される前に受信していなければならない応答の総数により記述される。図10は、Cがvotes/pollsでリストに載っているすべての受信者のカウント数であり、Xがvotes/pollsパーセンテージまたはカウントにより必要なtrue応答の数である、それぞれのプリミティブのカウントを要約したものである。並行および順次プリミティブは、各クラス内で受信された応答の数を数える。返されるステータスの1つに対する要求条件が満たされると、これらのプリミティブは未処理要求すら取り消して、適切なステータスを返す。
Sequential / Concurrent Primitive Implementation Sequential and concurrent primitives are implemented in an embodiment that uses a simple counting algorithm. Each primitive is described by the number of true responses that need to return true and the number of false responses that need to return false. Furthermore, it is described by the minimum number of maybe responses that need to return a maybe and the total number of responses that must be received before the maybe is returned. FIG. 10 summarizes the count of each primitive where C is the count of all recipients listed in votes / pols and X is the number of true responses required by the votes / pols percentage or count. It is a thing. Parallel and sequential primitives count the number of responses received within each class. If the requirements for one of the returned statuses are met, these primitives cancel even the outstanding request and return the appropriate status.
ステータスの解釈および時間的プリミティブ
図4に関して上で説明したように、受信者120に対する要求の成功は、通知成功と応答成功が伴う。通知成功は、受信者と正常に連絡が取れた場合に発生する。デフォルトで、受信者が要求および応答システムAPIの成功の定義を満たす方法で応答した場合に応答成功が発生する。通知および応答システム100のWeb APIについては、応答成功のデフォルトでは、submitボタンの値「false」または「no」を含まないWebフォームへの返信となっている。submitボタンに対する「false」または「no」は、応答失敗のデフォルトの応答である。
Status Interpretation and Temporal Primitives As described above with respect to FIG. 4, a successful request to
一部のアプリケーションでは、応答成功のアプリケーション特有の定義が必要になることがある。たとえば、支出レポートが複数のマネージャによって順番に承認される場合、成功はreport_status=「approved」で要求に応答することと定義することができる。 Some applications may require an application-specific definition of successful response. For example, if an expenditure report is approved in turn by multiple managers, success can be defined as responding to the request with report_status = “approved”.
Test Response Statusプリミティブを使用すると、アプリケーションは、応答成功指定を応答からの属性−値のペアの比較の論理式として供給することができる。この論理式は、応答が検査される受信者の後の疑問符の間に指定する。比較には、統合、不等号、範囲、および正規表現マッチングを含めることができる。成功指定が通信フロー内のすべての受信者について同じであるが、システム・デフォルトとは異なる場合、要求全体にわたるデフォルトを指定することができる。 Using the Test Response Status primitive, an application can supply a successful response designation as a logical expression for comparison of attribute-value pairs from the response. This logical expression is specified between the question marks after the recipient whose response is to be examined. The comparison can include integration, inequality, range, and regular expression matching. If the success specification is the same for all recipients in the communication flow but is different from the system default, a default across the request can be specified.
以下の例では、デフォルトの機能を使用せずに、応答成功ステータスを指定している。
DepartmentHead? report_status=「approved」? then Director? report_status=「approved」? then VP? report_status=「approved」?
Test Response Statusプリミティブが複数の受信者を含む式に適用される場合、これは、さらに複雑な式の中のそれぞれの受信者に適用される。たとえば、前の式は次のように書くことができる。
(DepartmentHead then Director then VP)? report_status=「approved」?
成功指定では、集計およびその他の高度な処理をそこまでのすべての応答にわたって応答の属性に対し実行し、結果を成功または失敗について検査することができる。
In the following example, the response success status is specified without using the default function.
Department Head? report_status = “approved”? then Director? report_status = “approved”? then VP? report_status = “approved”?
If the Test Response Status primitive is applied to an expression that includes multiple recipients, this applies to each recipient in the more complex expression. For example, the previous equation can be written as:
(DepartmentHead the Director theen VP)? report_status = “approved”?
With success designation, aggregation and other advanced processing can be performed on response attributes across all responses so far, and the results can be checked for success or failure.
上で示したように、votesプリミティブを使用して、限られた数の品目を販売または配布することができるが、それぞれの顧客はちょうど1ユニット購入すると仮定する。以下の成功式では、それぞれの顧客は複数のユニットを注文し、少なくとも100ユニットが販売されていたときには通知を終了する。
(Sue or Fred or...or Sam)? sum(number_sold)≧100?
100個販売した後、他の受信者への未処理要求は取り消される。通知申し出が通知および応答システムから利用できるデータにより個人化された場合、前の応答の結果を利用して、受信者にまだ売られている品目を提供することができる(100−sum(number_sold)。受信者が残りの品目を買おうとした場合、第1のものは成功し、第2のものは、他の要求により完了したためその要求は取り消された(つまり、申し出が撤回された)という通知を受ける。
As indicated above, it is assumed that a limited number of items can be sold or distributed using the votes primitive, but each customer purchases exactly one unit. In the following success formula, each customer orders multiple units and terminates the notification when at least 100 units have been sold.
(Sue or Fred or ... or Sam)? sum (number_sold) ≧ 100?
After selling 100, outstanding requests to other recipients are cancelled. If the notification offer is personalized with data available from the notification and response system, the result of the previous response can be used to provide an item that is still being sold to the recipient (100-sum (number_sold)) If the recipient attempts to purchase the remaining items, the first one is successful and the second one is canceled due to completion by another request (ie the offer has been withdrawn) Receive.
between/before/after
応答ステータスを検査するプリミティブに加えて、「between」、「before」および「after」プリミティブにより、通知を配送し、受信者から応答を収集する時間的制約条件を指定する。時間制約条件により、「after」プリミティブの場合のように開示時刻を、あるいは「before」プリミティブまたはその両方、「between」プリミティブの場合のように終了時刻を指定することができる。「between x−y」も、「after x before y」で表すことができる。複数の時間制約条件を同じ受信者に適用する場合、時間制約条件は左から右へ評価される。第1の時間制約条件により、実際の開始時刻および終了時刻が設定される。その後の、時間制約条件によりこれらの時刻を微調整することができる。相対的時間制約条件では、時刻を順方向または逆方向に調整することができる。他の制約条件、たとえば、区間の先頭または末尾を見つけることにかかわるものは、開始時刻を先へ進め、終了時刻を逆に戻すことができる。つまり、複数のプリミティブにより食い違う絶対開始時刻または食い違う絶対終了時刻を設定した場合、遅れている開始時刻と早くなった終了時刻を使用して、実際に、制約区間を交差する。temporal constraintプリミティブが複数の受信者を含む式に適用される場合、これは、さらに複雑な式の中のそれぞれの受信者に適用される。
between / before / after
In addition to primitives that check response status, the “between”, “before”, and “after” primitives specify time constraints for delivering notifications and collecting responses from recipients. Depending on the time constraint, the disclosure time can be specified as in the “after” primitive, or the end time can be specified as in the “before” primitive or both, and the “between” primitive. “Between xy” can also be represented by “after x before y”. When applying multiple time constraints to the same recipient, the time constraints are evaluated from left to right. The actual start time and end time are set according to the first time constraint. Thereafter, these times can be finely adjusted according to time constraints. With relative time constraints, the time can be adjusted forward or backward. Other constraints, such as those involving finding the beginning or end of a section, can advance the start time and reverse the end time. That is, when an absolute start time or a different absolute end time is set by a plurality of primitives, the constrained sections are actually crossed using the delayed start time and the earlier end time. If the temporal constraint primitive is applied to an expression that includes multiple recipients, this applies to each recipient in the more complex expression.
時間制約条件を指定するには、時間式と時間領域式を使用する。時間式は特定の時点を表し、時間領域式は時間領域を表す。まず、時間領域式を定義するが、これらは時間式を書くときに使用される。時間領域は、(開始時刻、終了時刻)で指定された1つまたは複数の時間的区間であり、開始時刻はその区間内に含まれ、終了時刻はその区間内に含まれない。基本的な時間領域は、概念上始まり(Creation)から終了時刻(Armageddon)までの1つの区間であるEternityである。Creationは、任意の開始時刻(Unix(登録商標)の時間表現では、00:00.00 UTC on January 1,1970など)として取られ、Armageddonも同様に取り扱われる。現在、時間は、Creationから経過した秒単位の分解能で指定される。他のすべての時間領域は、一組の非連結時間区間(開始、終了)であり、区間の始まりは閉であり、区間の終わりは開である。 Use time expressions and time domain expressions to specify time constraints. A time expression represents a specific point in time, and a time domain expression represents a time domain. First, we define time domain expressions, which are used when writing time expressions. The time domain is one or more time intervals designated by (start time, end time), the start time is included in the interval, and the end time is not included in the interval. The basic time domain is conceptually “Eternity” that is one section from the start (Creation) to the end time (Armeddon). Creation is taken as an arbitrary start time (00: 00.00 UTC on January 1, 1970, etc. in the time expression of Unix (registered trademark)), and Armeddon is handled in the same manner. Currently, time is specified with a resolution in seconds since Creation. All other time domains are a set of unconnected time intervals (start, end), where the beginning of the interval is closed and the end of the interval is open.
時間領域は、和集合、共通部分、および補集合の演算のもとで閉じている、つまり、これらの演算を領域上で実行すると必ず、他の有効な領域が得られるということである。時間領域式は、プリミティブの時間領域(下で定義)と、和集合、共通部分、補集合の演算から作成される。通信フロー式に名前を付け、他の通信フロー式の中で使用できるのと同様に、時間領域に名前を付け、他の時間領域式の中で使用することができる。 The time domain is closed under union, intersection, and complement operations, that is, whenever these operations are performed on a region, another valid region is obtained. A time domain expression is created from the primitive time domain (defined below) and the union, intersection, and complement operations. Just as communication flow expressions can be named and used in other communication flow expressions, time domains can be named and used in other time domain expressions.
プリミティブ時間領域には以下のものがある。
from 9:00.00,13 May 2002 until 17:00.00,13 May 2002などの指定された開始時刻と終了時刻を持つ区間。
13 May 2002などの指定された日。
Sunday,12 May 2002 through Saturday,18 May 2002などの指定された週。
May 2002などの指定された月。
2002などの指定された年。
Mondayなどのその週の指定された曜日(つまり、CreationからArmageddonまでの間のすべてのMondaysの和集合を意味する)。
Mayなどの指定された月(つまり、CreationからArmageddonまでの間のすべてのMaysの和集合を意味する)。
July 4などのその年の指定された日(つまり、CreationからArmageddonまでの間のすべてのJuly 4の和集合を意味する)。
9:00.00−17:00.00などの指定された時間範囲(つまり、CreationからArmageddonまでの間のすべての日に対するすべてのそのような区間の和集合を意味する)。
The primitive time domain includes:
From 9: 00.00, 13 May 2002 unit 17: 00.00, 13 May 2002, etc. The section with the specified start time and end time.
A specified date, such as 13 May 2002.
Specified week, such as Sunday, 12 May 2002 through Saturday, 18 May 2002.
A specified month, such as May 2002.
A specified year, such as 2002.
The specified day of the week, such as Monday (that means the union of all Mondays between Creation and Armeddon).
A specified month such as May (that is, the union of all Mays between Creation and Armeddon).
A specified day of the year, such as July 4 (ie, the union of all July 4 between Creation and Armeddon).
A specified time range such as 9: 00.00-17: 00.00 (ie, meaning the union of all such intervals for all days between Creation and Armeddon).
たとえば、平日をMonday、Tuesday、Wednesday、Thursday、およびFridayの和集合として定義することもできる。休日を、January 1、July 4、およびDecember 25の和集合として定義することができる。営業時間を、平日と9:00.00〜17:00.00の時間範囲と共通部分として定義することができる。また、営業時間と休日の補集合との共通部分を求めることにより、営業時間を精密化することができる。 For example, weekdays can be defined as the union of Monday, Tuesday, Wednesday, Thursday, and Friday. A holiday can be defined as the union of January 1, July 4, and December 25. Business hours can be defined as common parts with weekdays and a time range of 9: 00.00 to 17: 00.00. Further, the business hours can be refined by obtaining the common part between the business hours and the complementary set of holidays.
時間式では、絶対時間を指定することができるか、または開始時刻(今から4時間など)に関して計算される時刻を指定することができるか、または時間領域と開始時刻(から計算される時刻を指定することができる(次の営業日の始まり、または今から4営業時間、つまり営業時間の時間領域内でのみカウントする今からの4時間を意味する)。 In a time expression, you can specify an absolute time, you can specify a time that is calculated with respect to the start time (such as 4 hours from now), or you can specify a time that is calculated from the time domain and the start time Can be specified (meaning the beginning of the next business day, or 4 business hours from now, ie 4 hours from now counting only within the business hours time domain).
時間式は、以下の形式のうちの1つをとることができる。
17:00.00 13 May 2002などの絶対時刻。
+4:00.00などの相対的時刻であり、これは、現在時刻の後4時間、または−3:00.00を意味し、現在時刻の前の3時間を意味する。
The time expression can take one of the following forms:
17: 00.00 13 Absolute time such as May 2002.
A relative time, such as +4: 00.00, which means 4 hours after the current time, or -3: 00.00, and 3 hours before the current time.
時間領域内の次の区間の開始または終わり、たとえば、業務の次の完了を現在時刻以降の営業時間内の区間の次の終わりとして指定することができる。より一般的には、開始または終了、たとえば、第2の業務完了をカウントすることができる。 The start or end of the next section in the time domain, for example, the next completion of the business can be designated as the next end of the section in business hours after the current time. More generally, a start or end, for example, a second business completion can be counted.
指定された時間領域内で経過した時間、たとえば、現在16:00.00 on 13 May 2002だとすると、4営業時間が経過すると、12:00.00 on 14 May 2002を出力する。また、現在の時刻から戻すこともできるが、これは、先へ進めた後に、特に有用である。たとえば、次の休暇について時間領域を定義し、その後、次の休暇の始まる前に4営業時間を参照する。 If the elapsed time in the designated time region, for example, 16: 00.00 on 13 May 2002 is present, 12: 00.00 on 14 May 2002 is output when 4 business hours have elapsed. It can also be reset from the current time, but this is particularly useful after moving forward. For example, define a time domain for the next vacation and then reference 4 business hours before the next vacation begins.
これらに関して、さらに複雑な時間式を定義することができる。
たとえば、毎日12:00.00〜12:00.00まで続く(空の)時間区間を定義することができる。このような区間の次の開始(または終了)を取ることで、次の日の正午が指定される。平日との共通部分を使用することにより、同様に、次の営業日の正午を計算で求めることができる。これと、区間の終了をカウントする演算子とを結合することで、次の営業日の正午から2日間に業務の完了を計算することができる。
More complex time expressions can be defined for these.
For example, an (empty) time interval that lasts from 12: 00.00 to 12: 00.00 every day can be defined. By taking the next start (or end) of such a section, the next day's noon is specified. By using the common part with the weekday, the noon of the next business day can be similarly calculated. By combining this with an operator that counts the end of the section, it is possible to calculate the completion of the business from noon to the next business day for two days.
他の例として、スペインでの営業時間を範囲9:00.00〜12:00.00および14:00.00〜19:00.00の和集合として指定することもできる。当日の業務完了を見つけるために、スペインでの営業時間と当日との共通部分を求め、その結果の時間領域内の区間の最後の終わりを見つける。 As another example, business hours in Spain can be specified as the union of the ranges 9: 00.00 to 12: 00.00 and 14: 00.00 to 19: 00.00. To find the completion of the day's work, find the intersection of business hours in Spain and the day and find the end of the interval in the resulting time domain.
企業では、通信フロー・マネージャに対してデフォルト時間領域オブジェクトを定義することができ、あるいはそれぞれの受信者が自分の個人時間領域オブジェクトを定義することができる。このようなオブジェクトの使用例として、企業に対し営業時間を定義する例がある。オブジェクトには以下のものが含まれる。
時間領域オブジェクトの共通名(cn):business
その領域を使用する受信者のディレクトリ・フィルタ。これは、この営業時間領域を特定の会社、時間帯、または地理的領域内の人々に関連付けるために使用することができる。
実効時間を計算するために使用する時間帯。
領域内の区間に対する時間領域式。この時間領域式は、他の基本または名前付き時間領域を参照することができる。
In an enterprise, a default time domain object can be defined for the communication flow manager, or each recipient can define his own personal time domain object. As an example of using such an object, there is an example of defining business hours for a company. Objects include the following:
Common name (cn) of time domain object: businessness
Directory filter for recipients that use the area. This can be used to associate this business hours region with people within a particular company, time zone, or geographic region.
The time zone used to calculate the effective time.
A time domain expression for a section within a region. This time domain expression can refer to other basic or named time domains.
この時間領域は、時間式演算子「end of」、「start of」、「n end of」、「n start of」とともに使用され、nはカウントまたはキーワードlast、「+」は領域内の相対時間、「−」は「before」、「after」、および「between」プリミティブの領域内の相対時間であり、たとえば、次のものがある。
AFTER end of business
BEFORE 2 start of business
BETWEEN start of business−end of business
BEFORE business+4:00.00
AFTER end of business
AFTER business−01:00.00
AFTER last end of(SpanishBusinessHours intersect Today)
This time domain is used in conjunction with the time expression operators “end of”, “start of”, “n end of”, “n start of”, where n is the count or keyword last, “+” is the relative time within the domain , “-” Is the relative time within the region of the “before”, “after”, and “between” primitives, for example:
AFTER end of business
BEFORE 2 start of business
BETWEEN start of business-end of business
BEFORE business + 4: 00.00
AFTER end of business
AFTER business-01: 00.00
AFTER last end of (Spanish Business Houses Intersect Today)
構文をより自然なものとするためにさまざまな簡略化を行うことができる。たとえば、時間領域の名前がafterの後に来る場合、その時間領域内の区間の次の終わりを指定された時刻とみなすことができる。beforeについても同様に、領域内の区間の次の開始を指定された時刻としてみなすことができる。こうすることで、「AFTER end of business」は「AFTER BUSINESS」に、「BEFORE start of Monday」は「BEFORE Monday」に簡略化される。さらに、「BETWEEN end of 08:00.00−start of 17:00.00」は「BETWEEN 08:00.00−17:00.00」に簡略化される。和集合、共通部分、および補集合の演算を使用する完全な時間領域式はさらに、時間領域の名前が使用されている場所でも使用できる。 Various simplifications can be made to make the syntax more natural. For example, if the name of the time domain comes after “after”, the next end of the section in that time domain can be considered as the specified time. Similarly, before, the next start of the section in the area can be regarded as the designated time. By doing so, “AFTER end of business” is simplified to “AFTER BUSINESS”, and “BEFORE start of Monday” is simplified to “BEFORE Monday”. Furthermore, “BETWEEN end of 08: 00.00-start of 17: 00.00” is simplified to “BETWEEN 08: 00.00-17: 00.00”. A complete time domain expression that uses union, intersection, and complement operations can also be used where time domain names are used.
通信フロー・マネージャの標準のデフォルト処理は、時間領域オブジェクトの共通名は通信フロー内で指定された名前から始まるが、business$west−coastのようにドル記号「$」の後に他の修飾文字列を挿入することもでき、受信者は時間領域オブジェクト内でフィルタを一致させなければならない。複数の一致するオブジェクトが見つかった場合、それらのオブジェクトの1つを選択するが、可能であれば、論理的に最も固有性の高いフィルタ(他のすべての一致するフィルタを含むフィルタ)を選択し、あるいはそれが可能でなければ、一致するオブジェクトのうちの任意に選択したオブジェクトを選択する。通信フロー・マネージャはまず、inetOrgPersonまたはinetRoleオブジェクトのコンテキスト内で一致するフィルタにより指定された名前の時間領域を探す。何も見つからない場合、通信フロー・マネージャは、そのデフォルト・ディレクトリ内の領域を探索する。 The standard default processing of the communication flow manager is that the common name of the time domain object starts from the name specified in the communication flow, but other qualified character strings after the dollar sign “$” like business $ west-coast. Can be inserted and the recipient must match the filter in the time domain object. If more than one matching object is found, select one of those objects, but if possible, select the logically most specific filter (a filter that includes all other matching filters) Or, if it is not possible, select an arbitrarily selected object among the matching objects. The communication flow manager first looks for a time domain with the name specified by the matching filter in the context of the inetOrgPerson or inetRole object. If nothing is found, the communication flow manager searches for an area in its default directory.
短い名前とディレクトリ探索プリミティブ
本明細書で説明している例は、要求者110は短い名前を使用して受信者120を指定できることを示している。以下の「ディレクトリのデフォルトと発見的手法」の項で説明しているように、これらの短い名前は、受信者環境設定およびロール・データベース500の発見的探索により変換される。要求者110は、さらに、角かっこで囲んだ受信者120の安全識別名、たとえば<uid=joann,ou=people,o=research.avaya.com>を指定することもできる。受信者120の識別名を指定することは、ユーザーにとっては難しい場合があるが、それは、LDAP名前ツリー600(図6)の構造を知っている必要があるからである。また、通信フロー式では、探索演算もサポートしており、ユーザーは受信者環境設定およびロール・データベース500内の1つまたは複数の受信者オブジェクトの属性を記述することができる。ユーザーは、探索演算を使用する場合、ディレクトリ・オブジェクトの識別名を知っている必要はない。「search(filter,pattern,op)」などの形式のsearchプリミティブの例では、受信者環境設定およびロール・データベース500を探索して、指定されたフィルタに一致する人、ロール、または名前付き通信フロー・オブジェクトを探す。高度なsearchプリミティブの例は、「adv_search(directory−server,directory−port,base,scope,filter,pattern,op)」などの形式である。高度な探索プリミティブのフィルタ、パターン、およびopパラメータの演算は、探索プリミティブと同じである。directory−serverパラメータでは、探索する受信者環境設定およびロール・データベース500のホストのドメイン名を指定し、directory−portパラメータでは、ホスト上の受信者環境設定およびロール・データベース500サーバのポート番号を指定する。baseの識別名をルートとするディレクトリ・ツリーは、サーバ上で探索される。探索の範囲は、base(baseのみで識別されたオブジェクトの)、one−level(baseで識別されたオブジェクトの子のみを探索する)、またはsubtree(baseで識別されたオブジェクトの部分ツリー全体を探索する)のいずれかである。Directory−server、directory−port、base、またはscopeは、NULLであってもよく、その場合、デフォルトが適用される。
Short Name and Directory Search Primitives The example described herein shows that
一般に、通信フロー式のsearchプリミティブは、探索結果を処理するためのマクロ機能を備えている。返されるそれぞれのオブジェクトは、トークン「<dn>」に対する、searchプリミティブのpatternパラメータで与えられる、パターンに代入される。次に、このオブジェクトの結果文字列は、searchプリミティブのopパラメータ、たとえば「and」または「races」で与えられる、ユーザー指定プリミティブを使用して他のオブジェクトの結果文字列に接続される。例として、以下のパターン
(<dn>between 5/01/01−05/08/01)delegates(<dn>between 5/08/01−05/10/01)
は、2001年5月1日以降に1回、応答が来なければ2001年5月8日に以降に再び、要求の各受信者に通知する文字列を作成する。要求の完了前にすべての受信者からの応答が必要な場合、結果文字列を「and」プリミティブで接続して、通信フロー式を作成する。ユーザーはさらに、探索を、1人の受信者だけを返すように制約することもできるが、当業者には明らかなことであろう。探索結果に対する複数の一致を処理する方法を指定することで、個人にしか送信できないのにユーザーは知らずに機密の要求を大きなグループに送信してしまうのを防止できる。
In general, a communication flow type search primitive has a macro function for processing a search result. Each returned object is substituted into the pattern given by the pattern parameter of the search primitive for the token “<dn>”. This object's result string is then connected to the result string of the other object using a user-specified primitive, given by the search primitive's op parameter, eg, “and” or “races”. As an example, the following pattern (<dn> between 5/01 / 01-05 / 08/01) delegates (<dn> between 5/08 / 08-01-05 / 10/01)
Creates a character string to be notified to each recipient of the request once again after May 1, 2001, and once again after May 8, 2001 if no response is received. If responses from all recipients are required before the request is completed, connect the result string with an “and” primitive to create a communication flow expression. The user can further constrain the search to return only one recipient, as will be apparent to those skilled in the art. By specifying a method for processing a plurality of matches to the search result, it is possible to prevent a confidential request from being transmitted to a large group without knowing the user even though it can be transmitted only to individuals.
searchプリミティブは、たとえば、エキスパートの援助を求めるときに使用できる。たとえば、要求者がエキスパートからJ2EEなどの指定されたトピックに関する情報を必要とする場合、要求者は以下の通信フローを指定するとよい。
search(「&((objectclass=inetOrgPerson)(expertise=J2EE))」,「<dn>」,OR)
他に、通信フローを次のように指定することもできる。
The search primitive can be used, for example, when seeking expert assistance. For example, when the requester needs information on a specified topic such as J2EE from an expert, the requester may specify the following communication flow.
search (“& ((objectclass = inetOrgPerson) (expertise = J2EE))”, “<dn>”, OR)
In addition, the communication flow can be specified as follows.
expert1 or expert2...or expertN
さらに他の例では、ネットワーク・アラームが発生し、これをエキスパートが解決しなければならない。要求者は、以下の通信フローを指定することができる。
search(「&((objectclass=inetOrgPerson)(expertise=netmgr))」,「<dn>」,OR)
これらの要求は、エキスパートが要求に申し分なく応えた場合に完了する。
expert1 or expert2. . . or expertN
In yet another example, a network alarm occurs and must be resolved by an expert. The requester can specify the following communication flow.
search ("& ((objectclass = inetOrgPerson) (expertise = netmgr))", "<dn>", OR)
These requests are completed when the expert responds perfectly to the request.
以下の表は、高から低への演算子の優先順位(演算子の順序)の例をまとめたものである。同じレベルにある演算子は、左から右への順序である。一般に、優先順位の順序を変更するには、かっこを使用する。 The following table summarizes examples of operator priority (operator order) from high to low. Operators at the same level are in order from left to right. In general, parentheses are used to change the order of priority.
要求マネージャ1200と通信フロー・マネージャ1300の相互作用
図11〜13には、要求マネージャ1200と通信フロー・マネージャ1300との間の相互作用が示されている。図11は、要求に関連するさまざまなエンティティの間の情報の流れを示す概略ブロック図である。図12Aおよび図12Bは、図11の要求マネージャの動作を詳しく説明する流れ図である。図13は、図11の通信フロー・マネージャの動作を詳しく説明する流れ図である。実施例では、要求マネージャ・プロセス1200および通信フロー・マネージャ・プロセス1300は、それぞれ、ステップ1205(図12)および1305(図13)で検出されたさまざまな定義済み非同期イベントを処理する。
Interaction between
図12Aに示されているように、要求マネージャ1200は、ステップ1210でアプリケーション・インターフェイス220を通じてアプリケーション110から受信した新しい要求を検出する。次に、要求マネージャ1200は、ステップ1215で要求データベース300(図3)に要求のエントリを作成し、要求識別子とともに、要求の通信フロー式部分をステップ1220で構文解析する通信フロー・マネージャ1300に供給する。
As shown in FIG. 12A,
図13に示されているように、通信フロー・マネージャ1300は、ステップ1310で処理する新しい通信フロー式を検出する。通信フロー・マネージャ1300は、必要に応じて、ステップ1315で通信フロー式を処理し、ツリー600内の一組の実行可能ターミナル・ノードに到達し、指定された受信者について採用する媒体連絡オブジェクトを示すまで、受信者環境設定およびロール・データベース500を使用して通信フロー式内の各名前を解決する作業を続ける。受信者120は、通信フロー管理GUI 1110を使用して受信者環境設定およびロール・データベース500への環境設定の入力と更新を行うことができることに注意されたい。
As shown in FIG. 13,
通信フロー・マネージャ1300は、ステップ1325で、連絡するデバイスのリストを生成し、そのリストを要求マネージャ1200に連絡スケジューリング情報の一部として返す。一般に、連絡スケジューリング情報は、要求マネージャ1200によって即座にスケジュール可能な連絡のみを含む。たとえば、指定された受信者の環境設定が、その受信者には午前8時から午後5時までの間に電話でしか連絡できないことを示している場合、通信フロー・マネージャ1300はその時間枠が有効になるまで電話媒体連絡をスケジュールしない。
In step 1325, the
より具体的には、通信フロー・マネージャ1300は、受信した通信フロー式を解析してツリーにし、そのツリー内のノードの再帰的処理を開始するが、それには、縦型検索アプローチを使用し、ターミナル・ノードに到達するまで、ツリーをたどる。ツリー内でターミナル(リーフ)ノードに遭遇する毎に、そこに格納されている媒体連絡が処理される。指定されたノードに並行プリミティブが含まれる場合、並行プリミティブのオペランドに関連付けられたすべてのノードが処理される。指定されたノードに順次プリミティブが含まれる場合、左側オペランドは完了するまで、右側オペランドは処理されない。
More specifically, the
さらに、媒体連絡を要求マネージャ1200に返す前に、通信フロー・マネージャ1300は、媒体連絡(ターミナル・ノード)と関連する時間的制約条件が満たされているかどうかを判別する。たとえば、通信フロー・マネージャ1300は、開始時刻になったかを判別する。すべての時間的制約条件が満たされると、媒体連絡が、要求マネージャ1200に返されるリストに取り込まれる。すべての時間的制約条件が満たされているだけではない場合、媒体連絡は、要求マネージャ1200に返されるリストにはまだ含まれず、通信フロー・マネージャ1300は、適切な時刻に通信フロー・マネージャ1300によってリストに媒体連絡を追加できるようにタイマーを設定する。媒体連絡オブジェクトは、すべての時間的制約が満たされるまで取り出されないことに注意されたい。
Further, before returning the media contact to the
通信フロー式のツリー表現は、知られている方法でルート・ノードヘの逆ポインタを含むことができ、そのため関連する時間的制約条件を識別しやすくなっていることに留意されたい。人またはロールに対する名前付きノードがツリー内に見つかった場合、その名前に対してすでに同じ所有者(同じ指定された通信フロー)と連絡が取られているかどうかを判別する。その名前に対してすでに同じ所有者と連絡が取られている場合、第2の連絡が試みられない。むしろ、ステータス情報が前の連絡から伝搬される。 It should be noted that the tree representation of the communication flow expression can include an inverse pointer to the root node in a known manner, thus making it easier to identify the associated temporal constraints. If a named node for a person or role is found in the tree, determine if the name has already been contacted with the same owner (same specified communication flow). If the name is already contacted with the same owner, a second contact is not attempted. Rather, status information is propagated from previous contacts.
図12Aに示されているように、要求マネージャ1200は、ステップ1225で受信した連絡スケジューリング情報を検出し、以下の「媒体特有のインターフェイス」という表題のセクションで説明しているように、ステップ1230で指示された媒体連絡タイプを使用して連絡スケジューリングに情報に示されているそれぞれの受信者と連絡を取ろうとする。
As shown in FIG. 12A,
ステップ1240(図12B)で要求マネージャ1200が1つまたは複数の応答またはメッセージ期限切れイベントを検出した場合、対応する要求識別子を持つ応答または期限切れのレコードが、任意選択により、たとえば、ステップ1245で、アーカイブまたは記録付けを目的として、応答データベース1150内に作成される。各個別応答が要求側アプリケーション110に供給される実施例では、ステップ1248で受信した応答が対応するアプリケーション110に転送される。応答または期限切れステータスは、ステップ1250で、さらに処理するため通信フロー・マネージャ1300に転送される。
If the
通信フロー・マネージャ1300は、ステップ1330で、要求識別子を持つ受信された応答または期限切れステータスを検出し、ステップ1335で、その要求識別子を使用して、適切な通信フロー式を取り出す。ステップ1330で、応答または期限切れステータスが検出された場合、通信フロー・マネージャはさらに、ステップ1335で通信フロー式のツリー表現を更新し、媒体連絡のステータスを反映するようにする。次に、通信フロー・マネージャ1300は、現在判別されている上位オペランドのステータスを判別することにより、ステータスを上に向かってツリーのルートに伝搬し、したがって、媒体連絡のステータスの結果としてオペランドはこれで完成する。オペランドが完了すると、そのオペランドに対する未処理媒体連絡は取り消し対象の連絡のリストに置かれる。このリストは、適宜、ステップ1350または1320の後に要求マネージャ1200に返される。ステータスの伝搬によって通信フローが全体として完了しない場合、これは、ツリー内の最高優先度の演算子を完了ステータスが設定されているときに発生するが、処理はステップ1315に続く。通信フロー全体が完了した場合、処理はステップ1350へ続く。
The
通信フロー・マネージャ1300は、通信フロー式を使用して、追加通信が必要かどうか、または通信が完了しているかを判別する。ステップ1340で、追加通信が必要だと判断された場合、プログラムの制御はステップ1315に戻り、連絡スケジューリング情報を生成し、さらに連絡スケジューリング情報を要求マネージャ1200に送る。しかし、ステップ1340で、通信フロー式が完了していると判断された場合、通信フロー・マネージャ1300は、ステップ1350で完了ステータス指示を要求マネージャ1200に転送する。
The
照合された応答が要求側アプリケーション110に供給される一実施例では、要求マネージャ1200は応答を照合し、ステップ1260で要求マネージャ1200が通信フロー・マネージャ1300から完了ステータス指示を受信すると、ステップ1265でそれを要求側アプリケーション110により指示されている最終宛先アドレスに返す。ステップ1270で、完了ステータス・メッセージが対応するアプリケーションに送信される。
In one embodiment where a matched response is provided to the requesting
媒体特有のインターフェイス
一実施例では、媒体特有のインターフェイスは、それぞれのサブクラスが2つのメソッド、つまり、連絡を開始するメソッドとそれを取り消すメソッドを実装する必要がある単一のMediaContact抽象クラスのすべてのサブクラスである。しかし、2つのメソッドだけが必要であるが、通知および応答システム100とエンド・ポイントとの間の情報の配分の程度に応じて、非常に単純なサブクラスから極めて複雑なサブクラスまである。一般に、それぞれの媒体連絡について、要求は後述の媒体特有のトランスコーダの1つによりトランスコーティングされ、試行対象の特定の連絡に好適な符号化を出力する。プロトコル固有の通信インターフェイスでは、各受信者への符号化された要求の実際の配送を処理する。
Media-specific interface In one embodiment, the media-specific interface is the same for all subclasses of a single MediaContact abstract class that need to implement two methods: a method that initiates a contact and a method that cancels it. It is a subclass. However, only two methods are required, depending on the degree of information distribution between the notification and
このクラスの収集は、デバイス抽象層と考えることができる。このようなデバイス抽象層は、さまざまなデバイスのあらゆる複雑さを他の通知および応答システム100のクラスから隠し、通知のインスタンス化、開始、および取り消しをを行うごく少数の単純なメソッドのみを公開するほかに、すべてのデバイスにわたって一様ないくつかのパラメータ設定および参照メソッドを公開する。以下では、多数のMediaContactサブクラス例について説明する。
This collection of classes can be thought of as a device abstraction layer. Such a device abstraction layer hides all the complexity of various devices from other notification and
WebContact
WebContactクラスでは、受信者はWebポータルにログインして、保留、完了、および取り消し済みの要求のリスト表示させることができる。WebContactクラスでは、単純に、要求者の名前、要求の時刻、件名、および要求URLへのハイパーリンクを含むアイテムを保留リストに挿入するだけである。取り消しでは、アイテムを保留リストから取り消し済みリストへ移動するだけである。「recipient」は、目的の通知をクリックし、表示されているフォームを完成させることにより応答する。
WebContact
In the WebContact class, the recipient can log in to the web portal and display a list of pending, completed, and canceled requests. The WebContact class simply inserts into the pending list an item that includes the requester's name, request time, subject, and hyperlink to the request URL. Canceling only moves items from the pending list to the canceled list. “Recipient” responds by clicking on the desired notification and completing the displayed form.
PhoneContact
PhoneContactクラスでは、受信者が電話をかけるか、または連絡をよこすまで待つのではなく、電話呼び出しを開始しなければならない。さらに、PhoneContactクラスでは、VXMLスクリプトのオーディオ表現(または他のテキスト表現)を出力するVoice eXtensible Markup Language(VoiceXML)システムを採用することができる。PhoneContactクラスでは、TCP経由で、要求識別子、媒体連絡識別子、ダイヤルする電話番号、およびターゲット受信者のVXMLスクリプトを返すサーブレットのURLを指定するメッセージを電話オートダイヤラに送信する。取り消しの場合、PhoneContactは、単に、まだ電話がかけられていない場合に電話を取り消すことを指示するメッセージを送信するだけである。
PhoneContact
In the PhoneContact class, a telephone call must be initiated, rather than waiting for the recipient to make a call or contact. In addition, the PhoneContact class can employ a Voice extensible Markup Language (VoiceXML) system that outputs an audio representation (or other text representation) of a VXML script. In the PhoneContact class, a message specifying the request identifier, the media contact identifier, the telephone number to be dialed, and the URL of the servlet that returns the VXML script of the target recipient is transmitted to the telephone auto dialer via TCP. In the case of a cancellation, PhoneContact simply sends a message instructing to cancel the call if it has not yet been placed.
オートダイヤラの制御プログラムにより、電話呼び出しの要求がキューの中に入れられ、リソースが利用可能になるとすぐにFIFOの順序で実行される。 The autodialer control program queues the phone call request and executes it in FIFO order as soon as resources become available.
EmailContact
通知および応答システム100の例では、プレーン・テキスト、HTML、および埋め込みダイナミックHTMLの3種類の電子メールに対応できる。第1の場合、多くの受信者がときには、テキストのみの電子メール・クライアントを使用する。これには、テキスト・エディタのemacsやいくつかのWebベース・クライアントが含まれるが、Blackberry(商標)やPalm(商標)から市販されているものなどの無線電子メール・クライアントも含まれる。この場合、ディレクトリ内で、テキストのみの電子メールでなければならないことを指示することにより用意しなければならないが、通知および応答システム100は、通常、要求者の名前、要求の件名、および通知メッセージを指しているURLを含む単純な電子メール・メッセージを作成する。一実施例では、要求側アプリケーションは、テキスト・メッセージ自体を作成し、さらに、オーディオ・アクセスのため呼び出すことができるボイス・ポータルの電話番号を挿入した。
EmailContact
The notification and
埋め込まれたフレームまたはレイヤを処理することができないHTML対応電子メール・クライアントに代わって、EmailContactが、またも、通知を説明するHTMLページを作成するが、今度は、通知メッセージへのハイパーリンクを含む。埋め込まれたフレームおよびレイヤを処理できる電子メール・クライアントの場合、EmailContactは、クライアントがメッセージを表現するときにコンテンツが組み込まれるように通知を埋め込んだメッセージを作成する。 On behalf of an HTML-enabled email client that cannot process embedded frames or layers, EmailContact also creates an HTML page that describes the notification, but now includes a hyperlink to the notification message. . For email clients that can handle embedded frames and layers, EmailContact creates a message with embedded notifications so that the content is embedded when the client represents the message.
EmailContactが最後に複雑なのは、配送できない電子メール・メッセージを解釈する必要があるということである。これは、さらに通知および応答システム100に送信されたメッセージを処理するプログラムとして指定されるメイン・メソッドを供給する形で実装される。すると、このメソッドは、返されたメールを解釈して、配送試行が失敗したことを示しているか、あるいは何か他のことを示しているかを判別しようとする。そうであれば、通知および応答システム100は、連絡が失敗したことを通知される。通知および応答システム100は、任意選択により、要求を受け取って、解釈することができる。これにより、返信が送信されなくても通知が成功したと判断する可能性があり、また何らかのアプリケーションに必要な機能である場合もある。
The final complexity of EmailContact is the need to interpret undeliverable email messages. This is further implemented in the form of supplying a main method specified as a program for processing messages sent to the notification and
SMSContact
SMSContactでは、Sprint(商標)、Verizon(商標)、およびAT&T(商標)をはじめとするさまざまな携帯電話プロバイダが提供しているShort Messaging Serviceを介して通知を処理する。SMSContactオブジェクトは、Webサイトに対してプロバイダ特有のHTTP POSTまたはGETを実行して、メッセージを送信する。ほぼ同じことを。電子メールをサービス・プロバイダに電子メールを送信することにより行うことが可能であるが、POSTではあと少しだけ制御機能を持つ。POSTは、プロバイダのWebインターフェイスが発達したときのソフトウェアの変化に対する支出を伝送する。通知および応答システム100は、任意選択により、ほとんどのサービス・プロバイダがメッセージの配送の終了後送出する確認電子メールを解釈することができる。SMSメッセージが正常に送信されたことを識別する他に、この電子メールでは、サービス・プロバイダのWebインターフェイスを変更し、SMSContactソフトウェアがアップグレードされるまで電子メールのSMS配送を使用することにシステムが戻れるかどうかを判別することができる。
SMSContact
In SMSContact, notifications are handled through Short Messaging Service provided by various mobile phone providers including Sprint ™, Verizon ™, and AT & T ™. The SMSContact object performs a provider specific HTTP POST or GET on the Web site and sends a message. Almost the same thing. Although e-mail can be performed by sending e-mail to a service provider, POST has a little control function. POST carries expenditures for software changes as the provider's web interface evolves. The notification and
FaxContact
通知および応答システム100は、たとえば、AvayaのAUDIXシステムのFAX 機能を使用して、FAX機に通知を送信するクラスを提供することができる。このクラスは、HTMLまたはテキスト・ページをTIFFイメージ・ファイルに変換し、FAX経由でイメージを宛先に送信する要求を生成する。このクラスはさらに、保留状態のFAXに関する情報を提供し、保留状態のFAXのある種の制御を行う単純なステータスおよび管理サーブレットを含む。
Fax Contact
The notification and
AudixVoiceContact
AudixVoiceContactオブジェクトは、受信者のボイス・メールボックスにテキスト・バージョンの通知を配送するように設計されている。一実施例の実装では、IBM Corp.のViaVoice(商標)製品を使用して実現されており、メッセージをオーディオ・ファイルに落とし、その後、FaxContactと本質的に同じメカニズムを使用してAUDIXサーバに送信する。
AudixVoiceContact
The AudixVoiceContact object is designed to deliver a text version of the notification to the recipient's voice mailbox. In one example implementation, IBM Corp. Using the VoiceVoice (TM) product, dropping messages into audio files and then sending them to the AUDIX server using essentially the same mechanism as FaxContacts.
SIPContact
SIPContactクラスは、通知および応答システム100をSIP(Session Initiation Protocol)対応のエンド・ポイントに接続する。Session Initiation Protocol(SIP)は、たとえば、M.Handley et al.「SIP:Session Initiation Protocol」、RFC 2543、1999年3月で説明されている。SIPはInternet Engineering Taskforce(IETF)によって、各種通信セッションのセットアップおよび制御のため、定義されている比較的新しいプロトコルである。
SIP Contact
The SIP Contact class connects the notification and
このために、SIPContactクラスは通知および応答システム100からメッセージを受信するSIP Execution Environment(SEE)と呼ばれるコンポーネントに依存している。メッセージには、受信者のSIPアドレス、媒体連絡識別子、要求識別子、およびこの要求に対する利用可能な媒体タイプおよび人間の言語のリストが含まれる。その後、SEEは、SIPアドレスを受け取り、SIPプロトコルに従ってアドレスに対して「invite」を実行して、受信者との連絡を確立する。さらに、SEEは、受信者デバイスから、受信者の好ましい媒体および人間の言語を示すOKメッセージを受信する。SEEは、後述のXFS要求を実行し、利用可能なもののすでに用意されているリストから媒体連絡識別子、要求識別子、およびこの要求に対する好ましい媒体タイプおよび人間の言語を供給する。XFS要求により、受信者のSIPの環境設定に従って、受信者に通知するため適切に書式化されたコンテンツを返す。この手法では、SEEが目的の形式のそれぞれについてXFSを1回呼び出せるようにすることで、複数の形式を受け取ることを優先するデバイスをサポートする(画面とオーディオを備えるデバイスもある)。
To this end, the SIPContact class relies on a component called SIP Execution Environment (SEE) that receives messages from the notification and
一実施例では、SEEでは、Microsoft XP(商標)softphoneにインスタント・メッセージを送信したり電話をかけたりすること、呼制御プロトコルがSIPに変更された(H.323の代わりに)(SIPプロトコル・サポートで強化されたバージョンのMultiVantage(商標)呼処理ソフトウェアを介して)SIP 対応Avaya 4624(商標)IP電話、デジタルおよびアナログ電話をかけること、インスタント・テキスト・メッセージを赤外線機能を持ち、呼制御プロトコルがSIPに変更された(H.323の代わりに)SIP対応Avaya 4624(商標)IP電話をかけること、呼制御プロトコルがSIPで置き換えられた(H.323の代わりに)実験的SIP対応Avaya 4630(商標)IPテレビ電話でWebページをポップすることができる。 In one embodiment, in SEE, sending an instant message or making a call to Microsoft XP ™ softphone, the call control protocol has been changed to SIP (instead of H.323) SIP-enabled Avaya 4624 (TM) IP phone, digital and analog phone calls (via support-enhanced version of MultiVantage (TM) call processing software), instant text messaging with infrared capabilities, call control protocol Changed to SIP (instead of H.323) making SIP-enabled Avaya 4624 ™ IP phone calls, the call control protocol was replaced with SIP (instead of H.323) Experimental SIP-enabled Avaya 46 A web page can be popped with a 30 (trademark) IP videophone.
SIPは、本発明の通知および応答システム100をさまざまな形で補完する。特に、SIPは、受信者が1つのサーバ上で自分の連絡の環境設定を設定し、それらの環境設定が自分の連絡先に適用されるようにするメカニズムを提供する。SIP対応の受信者はSIPを介して自分の環境設定を表すことができるが、従来の受信者はそれでも、通知および応答システム100内の個々の通信フローを定義することができる。受信者がSIPメカニズムを使用して、通知の受信方法と受信時期を制御し、その一方で、通知および応答システム100内の通信フローにより非SIPエンド・ポイントおよびSIP指定の好ましいエンド・ポイントに通知を送信する方法と時期を決定することが予想される。つまり、ちょうどSIPおよび統合メッセージングでメッセージの受信方法を制御できるようにするのと同じように、通知および応答システム100は企業がメッセージを送出する方法を制御する。メッセージの受信方法に対するSIPの制御は、本明細書の開示により、通信フロー式および通信フロー規則の機能により強化することができることに留意されたい。
SIP complements the notification and
SIPContactクラスではさらに、通知および応答システム100のアーキテクチャのいくつかの利点を示している。特に、通知および応答システム100内の通知メッセージのコンテンツは、Webブラウザまたは電話ブラウザにより、またはXFSと呼ばれるフォーム・サーブレットを、以下のように、要求と連絡される受信者およびデバイスを識別する2つの引数を付けて呼び出すことにより、MediaContactで取り出すことができる。
The SIP Contact class further illustrates several advantages of the architecture of the notification and
http://xui/XFS?Rid=xui−1234−1&Cid=1
ただし、Ridは要求ID、cidは媒体連絡IDである。この2つを合わせると、受信者を識別するのに十分である。XFSでは、単純に、要求マネージャ1200を使用して、適切な要求を取り出しており、これはさらに、通知メッセージのURLを取得するのにも使用されている。その後、このメッセージは、取り出され、応答をリダイレクトし、メッセージを個人化するように書き換えられ、そして、ブラウザまたは他の宛先に転送される。
http: // xui / XFS? Rid = xui-1234-1 & Cid = 1
However, Rid is a request ID and cid is a medium contact ID. Together, the two are sufficient to identify the recipient. In XFS, the
複数の言語および媒体タイプをサポートするために、望んでいる言語およびMIMEタイプを指定する2つの追加パラメータを受け付けるようにXFSサーブレットを修正することができる。たとえば、より汎用的なバージョンのXFSでは、次のように、特定の言語および形式タイプを取り出すことができる。
http://xui/XFS?Rid=xui−1234−1&Cid=1&Ctype=text/plain&Language=ENU
これは、英語のプレーン・テキスト・バージョンの要求「xui−1234−1」が必要であることを指定している。
To support multiple languages and media types, the XFS servlet can be modified to accept two additional parameters that specify the desired language and MIME type. For example, in a more general version of XFS, a specific language and format type can be retrieved as follows:
http: // xui / XFS? Rid = xui-1234-1 & Cid = 1 & Ctype = text / plain & Language = ENU
This specifies that an English plain text version request "xui-1234-1" is required.
通知および応答システム100の例では、電話を介した音声メッセージおよび画面上のWebページ・ポップとして、2つの方法で同時にSIP対応Avayaテレビ電話に通知を配送する。これは、テレビ電話でSEEに対して、Webポップとオーディオ接続の両方を扱えることを指定させることにより行われた。SEEは、次に、以下のようにXFSを2回呼び出すが、最初にHTMLページを取り出し、2回目はVXMLページを取り出す。
http://xui/XFS?Rid=xui−1234−1&Cid=1&Ctype=text/html&Language=ENU、
http://xui/XFS?Rid=xui−1234−1&Cid=1&Ctype=text/vxml&Language=ENU
In the example of the notification and
http: // xui / XFS? Rid = xui-1234-1 & Cid = 1 & Ctype = text / html & Language = ENU,
http: // xui / XFS? Rid = xui-1234-1 & Cid = 1 & Ctype = text / vxml & Language = ENU
すでに述べたように、通知および応答システム100を使用すると、アプリケーション110(要求者)は質問をし、目的の応答のタイプを指定し、電子メール経由で受信者から照合された応答群を受け取ることができる。図14は、アプリケーション110でチーム会合の要求のパラメータを指定することができるWebフォーム1400を示している。図14の例では、Joannは会合をスケジュールする要求を「YangQian」と「Petsche」に送信している。これらの受信者が会合の時間と場所について同意した場合、要求はマネージャ(cmk)に転送され、出席の確認が行われる。生成された要求は、適宜、異なる媒体連絡を介して、指示された受信者に送信される。要求にはyesボタンとnoボタンがあり、その要求に応答する。図15は、要求のコンパイルした結果を示している。図15に示されているように、Petscheは会合に出席することができるが、YangQianは会合に出席することができず、マネージャに連絡が取られなかった。
As already mentioned, when using the notification and
図16に示されている他の例では、要求者は、4時間のうちに好ましい顧客に割り当てる新会社のIPOのブロック割り当てで株式を提供する。時間的制約条件が、名前付き通信フローPreferredCustomersに適用される。PreferredCustomersは、受信者の並行結合に変換される。要求者は、要求の中の一連のオプションを自分の最良の顧客に与える。電子メールの環境設定を指定している名前付き通信フローPreferredCustomersによって定義された各受信者により受信される電子メール・バージョンの要求が図17に示されている。照合された応答は、すべての受信者が応答するとすぐに、または4時間の申し込み期間が終了するとすぐに返される。受信者が4時間のうちに応答できず、その後、要求を表示または応答しようとすると、適切なメッセージが表示され、返信が求められることも、受け付けられることもない。 In another example shown in FIG. 16, the requester provides shares in a new company IPO block allocation to be assigned to a preferred customer within four hours. Temporal constraints are applied to the named communication flow PreferredCustomers. PreferredCustomers are converted into a parallel combination of recipients. The requester gives his best customer a set of options in the request. The request for email version received by each recipient defined by the named communication flow PreferredCustomers specifying email preferences is shown in FIG. The matched response is returned as soon as all recipients have responded or as soon as the 4 hour subscription period is over. If the recipient cannot respond within 4 hours and then attempts to display or respond to the request, an appropriate message is displayed and no reply is required or accepted.
「Reverse 911」と呼ばれる、本発明の他の実施例では、通知および応答システム100は緊急911応答を送ることができる。たとえば、学校で緊急の問題が発生した場合に親に通知するため、通信フロー式および規則を定義することができる。このような場合、学校側が学校にいるそれぞれの子供の親または保護者に連絡を取る必要がある緊急事態に備えて必要な資源を整理しておくことは困難である。本発明のReverse 911システムは、親と連絡を取るための自動化手法を実現し、また不適切なあるいは不正な使用を防止し、誤った警報を最小限に抑えるための重要な予防対策を講じることもできる。Reverse 911システムで、親が緊急時にサービス・プロバイダと連絡を取るための自分の環境設定を登録する必要がある。学校では、いったんアクティブ化されると、Webインターフェイスまたは電子メールを使用して、すべての親との連絡を並行して開始することができる。通知は、任意選択により、親がメッセージの受信の受領通知を行うためのボタンを備えることができる。さらに、学校側では、通知を親に送信する前に満たされていなければならない本明細書で説明した手法を使用して承認プロセス要求を指定し、さらに他のセキュリティ機能を利用してこのセキュリティの機能を高めることができる(たとえば、要求者の検証を行う対策が行われているログインおよびアクセス制御)。このようにして、本発明は、「ループ内に人を入れる」セキュリティを実現することができる。
In another embodiment of the present invention, referred to as “Reverse 911”, the notification and
同じReverse 911システムを他のバリエーションでも採用でき、たとえば、赤十字や政府機関が危機の際に献血者を見つけ、スケジュールを立てるのを支援したり、化学物質流出などの特定の災害に関して近隣の居住者に連絡するのを支援することができるが、本明細書の開示に基づき、当業者には明白なことであろう。 The same Reverse 911 system can be used in other variations, such as helping the Red Cross and government agencies find and schedule blood donors during a crisis, or resident nearby for specific disasters such as chemical spills But will be apparent to those skilled in the art based on the disclosure herein.
「適応型スケジューリング」と呼ぶ本発明のさらに他の実施例では、通知および応答システム100は、スケジュールの変更を指定受信者に通知することができる。たとえば、列車または航空機などの大量輸送手段が遅れている場合、または通勤者が会合への途中で交通渋滞に巻き込まれた場合、スケジュールの変更を関係当事者に通知し、参加者のスケジュールに対する適切な改訂を調整するように通知および応答システム100を構成することができる。たとえば、本明細書で説明しているカレンダー・エージェント手法では、このようなスケジュールの改訂を自動的に行うようにできる。乗客は、たとえば、=「Flight Information*」という表題の電子メール・メッセージを受信した場合に開始される通信フロー規則を指定することができる。通信フロー規則では、リムジン・サービス、同僚、または配偶者など、遅れが発生した場合の連絡先に関する情報を提供することが。通知により、影響を受ける受信者に特有の情報を提供することができる。たとえば、リムジン・サービスへの通知では、代替えピックアップ時間を要求し、同僚への通知では、会合の再スケジュール(たとえば、カレンダー・エージェントを使用する)または遅れた乗客の不在の会合に同僚が出席する(delegates機能を使用する)ことを要求することができる。
In yet another embodiment of the present invention, referred to as “adaptive scheduling”, the notification and
当業で知られているように、本明細書で説明した方法および装置は、それ自体コンピュータ読み取り可能コード手段が実現されているコンピュータ読み取り可能媒体を備える製造品として配布することができる。コンピュータ読み取り可能プログラム・コード手段は、コンピュータ・システムとともに動作し、これにより、ステップのすべてまたは一部を実行し、本明細書で説明している方法を実行するか、または本明細書で説明している装置を製作することができる。コンピュータ読み取り可能媒体は記録可能媒体(たとえば、フロッピー(登録商標)・ディスク、ハード・ドライブ、コンパクト・ディスク、またはメモリ・カード)であるか、または伝送媒体(たとえば、光ファイバ、World Wide Web、ケーブル、または時分割多重アクセス、符号分割多重アクセス、またはその他の無線周波チャネルを使用する無線チャネルを含むネットワーク)とすることができる。コンピュータ・システムとともに使用するのに好適な情報を格納できる媒体が知られているかまたは開発されていればそれも使用できる。コンピュータ読み取り可能コード手段は、磁気媒体上の磁気的なバリエーションまたはコンパクト・ディスクの表面上の高さバリエーションなどコンピュータが命令およびデータを読み込むためのメカニズムである。 As is known in the art, the methods and apparatus described herein can be distributed as an article of manufacture comprising a computer readable medium on which computer readable code means are implemented. The computer readable program code means operates in conjunction with the computer system to perform all or part of the steps, perform the methods described herein, or are described herein. Can be manufactured. The computer readable medium can be a recordable medium (eg, floppy disk, hard drive, compact disk, or memory card) or a transmission medium (eg, optical fiber, World Wide Web, cable). Or a network including radio channels using time division multiple access, code division multiple access, or other radio frequency channels). If a medium capable of storing information suitable for use with a computer system is known or developed, it can also be used. Computer readable code means is a mechanism for a computer to read instructions and data, such as magnetic variations on a magnetic medium or height variations on the surface of a compact disk.
本明細書で説明しているコンピュータ・システムをおよびサーバは、それぞれ、本明細書で開示されている方法、ステップ、および機能を実装するように関連するプロセッサを構成するメモリを備える。メモリは分散させることも、ローカル・メモリとすることもでき、さらにプロセッサも分散されることも、単一とすることもできる。メモリは、電気的メモリ、磁気メモリ、光メモリ、あるいはこれらまたはその他の種類のストレージ・デバイスの組み合わせとして実装することもできる。さらに、「メモリ」という用語は、関連するプロセッサによってアクセスされるアドレス指定可能空間内のアドレスに対し読み書きできる情報を包含するものとして十分広く解釈することができる。この定義を用いると、関連するプロセッサはネットワークから情報を取り出すことができるため、ネットワークに関する情報はそのままメモリ内にある。 The computer system and server described herein each comprise a memory that configures an associated processor to implement the methods, steps, and functions disclosed herein. The memory can be distributed or local memory, and the processors can be distributed or single. The memory can also be implemented as electrical memory, magnetic memory, optical memory, or a combination of these or other types of storage devices. Further, the term “memory” can be interpreted broadly as encompassing information that can be read from and written to addresses in the addressable space accessed by the associated processor. With this definition, the associated processor can retrieve information from the network, so the information about the network remains in memory.
本明細書で示し、説明した実施形態およびバリエーションは、単に、本発明の原理を説明しているに過ぎず、また当業者であれば本発明の精神および範囲から逸脱することなくさまざまな修正を加えることができることは理解されるであろう。 The embodiments and variations shown and described herein are merely illustrative of the principles of the invention and various modifications can be made by those skilled in the art without departing from the spirit and scope of the invention. It will be understood that they can be added.
Claims (70)
前記少なくとも1人の受信者から応答を受信するステップと、
前記応答に基づき前記通信フロー内の少なくとも1つの経路を選択するステップを含む方法。 A method for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths, comprising:
Receiving a response from the at least one recipient;
Selecting at least one path in the communication flow based on the response.
前記送信者から前記メッセージを受信することと、
前記通信フローを評価し、前記通信フローにより前記メッセージを配送するための前記送信者の少なくとも1つの環境設定を指定することと、
前記送信者の前記環境設定に基づき前記メッセージを処理することを含む方法。 A method for sending a message from a sender to at least one recipient via a communication flow, comprising:
Receiving the message from the sender;
Evaluating the communication flow and specifying at least one environment setting of the sender for delivering the message by the communication flow;
Processing the message based on the preferences of the sender.
前記送信者から前記メッセージを受信することと、
前記通信フローを評価し、前記メッセージを処理する方法を指示する少なくとも1つのプリミティブ・キーワードを含む通信フロー式により前記通信フローを制御することと、
前記通信フロー式に基づき前記メッセージを処理することを含む方法。 A method for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths, comprising:
Receiving the message from the sender;
Controlling the communication flow with a communication flow expression including at least one primitive keyword that evaluates the communication flow and indicates how to process the message;
Processing the message based on the communication flow equation.
前記送信者から前記メッセージを受信することと、
前記通信フローを評価し、前記通信フローは前記メッセージが前記少なくとも1人の受信者に送られるのとほとんど時期を接して評価されることと、
前記送信者の前記環境設定に基づき前記メッセージを処理することを含む方法。 A method for sending a message from a sender to at least one recipient via a communication flow, comprising:
Receiving the message from the sender;
Evaluating the communication flow, the communication flow being evaluated almost in time with the message being sent to the at least one recipient;
Processing the message based on the preferences of the sender.
前記送信者から前記メッセージを受信することと、
前記通信フローを評価し、前記メッセージを処理する方法を指示する通信フロー式を含む通信フロー式により前記通信フローを制御し、前記通信フロー式は3値論理を使用して評価されることと、
前記通信フロー式に基づき前記メッセージを処理することを含む方法。 A method for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths, comprising:
Receiving the message from the sender;
Controlling the communication flow with a communication flow expression including a communication flow expression that evaluates the communication flow and indicates a method of processing the message, the communication flow expression being evaluated using ternary logic;
Processing the message based on the communication flow equation.
コンピュータ読み取り可能コードを格納するメモリと、
前記メモリに結合され動作可能なプロセッサを備え、前記プロセッサは前記コンピュータ読み取り可能コードを実行するように構成され、前記コンピュータ読み取り可能コードは、
前記少なくとも1人の受信者から応答を受信し、
前記応答に基づき前記通信フロー内の少なくとも1つの経路を選択するように構成されていることを含むシステム。 A system for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths, comprising:
A memory for storing computer readable code;
A processor coupled to the memory and operable, wherein the processor is configured to execute the computer-readable code, the computer-readable code comprising:
Receiving a response from the at least one recipient;
A system comprising: selecting at least one path in the communication flow based on the response.
コンピュータ読み取り可能コードを格納するメモリと、
前記メモリに結合され動作可能なプロセッサを備え、前記プロセッサは前記コンピュータ読み取り可能コードを実行するように構成され、前記コンピュータ読み取り可能コードは、
前記送信者から前記メッセージを受信し、
前記通信フローを評価し、前記通信フローにより前記メッセージを配送するための前記送信者の少なくとも1つの環境設定を指定し、
前記送信者の前記環境設定に基づき前記メッセージを処理するように構成されているシステム。 A system for sending a message from a sender to at least one recipient via a communication flow, comprising:
A memory for storing computer readable code;
A processor coupled to the memory and operable, wherein the processor is configured to execute the computer-readable code, the computer-readable code comprising:
Receiving the message from the sender;
Evaluating the communication flow and specifying at least one environment setting of the sender for delivering the message by the communication flow;
A system configured to process the message based on the environment setting of the sender.
コンピュータ読み取り可能コードを格納するメモリと、
前記メモリに結合され動作可能なプロセッサを備え、前記プロセッサは前記コンピュータ読み取り可能コードを実行するように構成され、前記コンピュータ読み取り可能コードは、
前記送信者から前記メッセージを受信し、
前記通信フローを評価し、前記メッセージを処理する方法を指示する少なくとも1つのプリミティブ・キーワードを含む通信フロー式により前記通信フローを制御し、
前記通信フロー式に基づき前記メッセージを処理するように構成されているシステム。 A system for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths, comprising:
A memory for storing computer readable code;
A processor coupled to the memory and operable, wherein the processor is configured to execute the computer-readable code, the computer-readable code comprising:
Receiving the message from the sender;
Controlling the communication flow with a communication flow expression that includes at least one primitive keyword that evaluates the communication flow and indicates how to process the message;
A system configured to process the message based on the communication flow equation.
コンピュータ読み取り可能コードを格納するメモリと、
前記メモリに結合され動作可能なプロセッサを備え、前記プロセッサは前記コンピュータ読み取り可能コードを実行するように構成され、前記コンピュータ読み取り可能コードは、
前記送信者から前記メッセージを受信し、
前記通信フローを評価し、前記通信フローは前記メッセージが前記少なくとも1人の受信者に送られるのとほとんど時期を接して評価され、
前記送信者の前記環境設定に基づき前記メッセージを処理するように構成されているシステム。 A system for sending a message from a sender to at least one recipient via a communication flow, comprising:
A memory for storing computer readable code;
A processor coupled to the memory and operable, wherein the processor is configured to execute the computer-readable code, the computer-readable code comprising:
Receiving the message from the sender;
Evaluating the communication flow, the communication flow being evaluated almost as soon as the message is sent to the at least one recipient;
A system configured to process the message based on the environment setting of the sender.
コンピュータ読み取り可能コードを格納するメモリと、
前記メモリに結合され動作可能なプロセッサを備え、前記プロセッサは前記コンピュータ読み取り可能コードを実行するように構成され、前記コンピュータ読み取り可能コードは、
前記送信者から前記メッセージを受信し、
前記通信フローを評価し、前記メッセージを処理する方法を指示する通信フロー式により前記通信フローを制御し、前記通信フロー式は3値論理を使用して評価され、
前記通信フロー式に基づき前記メッセージを処理するように構成されているシステム。 A system for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths, comprising:
A memory for storing computer readable code;
A processor coupled to the memory and operable, wherein the processor is configured to execute the computer-readable code, the computer-readable code comprising:
Receiving the message from the sender;
Controlling the communication flow with a communication flow expression that evaluates the communication flow and indicates how to process the message, the communication flow expression is evaluated using ternary logic;
A system configured to process the message based on the communication flow equation.
前記少なくとも1人の受信者から応答を受信する手段と、
前記応答に基づき前記通信フロー内の少なくとも1つの経路を選択する手段を備えるシステム。 A system for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths, comprising:
Means for receiving a response from the at least one recipient;
A system comprising means for selecting at least one path in the communication flow based on the response.
前記送信者から前記メッセージを受信する手段と、
前記通信フローを評価し、前記メッセージを処理する方法を指示する少なくとも1つのプリミティブ・キーワードを含む通信フロー式により前記通信フローを制御する手段と、
前記通信フロー式に基づき前記メッセージを処理する手段を備えるシステム。 A system for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths, comprising:
Means for receiving the message from the sender;
Means for controlling the communication flow by a communication flow expression including at least one primitive keyword that evaluates the communication flow and indicates how to process the message;
A system comprising means for processing the message based on the communication flow equation.
コンピュータ読み取り可能コード手段が実装されているコンピュータ読み取り可能媒体を備え、前記コンピュータ読み取り可能プログラム・コード手段は、
前記少なくとも1人の受信者から応答を受信するステップと、
前記応答に基づき前記通信フロー内の少なくとも1つの経路を選択するステップを備える製造品。 An article of manufacture for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths,
A computer readable medium having computer readable code means mounted thereon, wherein the computer readable program code means comprises:
Receiving a response from the at least one recipient;
A product comprising selecting at least one path in the communication flow based on the response.
コンピュータ読み取り可能コード手段が実装されているコンピュータ読み取り可能媒体を備え、前記コンピュータ読み取り可能プログラム・コード手段は、
前記送信者から前記メッセージを受信するステップと、
前記通信フローを評価するステップであって、前記メッセージを処理する方法を指示する少なくとも1つのプリミティブ・キーワードを含む通信フロー式により前記通信フローが制御されるステップと、
前記通信フロー式に基づき前記メッセージを処理するステップを含む製造品。
An article of manufacture for sending a message from a sender to at least one recipient via a communication flow having multiple potential paths,
A computer readable medium having computer readable code means mounted thereon, wherein the computer readable program code means comprises:
Receiving the message from the sender;
Evaluating the communication flow, wherein the communication flow is controlled by a communication flow expression that includes at least one primitive keyword that indicates how to process the message;
A product comprising the step of processing the message based on the communication flow equation.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US29108701P | 2001-05-15 | 2001-05-15 | |
| PCT/US2002/015513 WO2002093886A2 (en) | 2001-05-15 | 2002-05-14 | Method and apparatus for automatic notification and response |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005515519A true JP2005515519A (en) | 2005-05-26 |
| JP2005515519A5 JP2005515519A5 (en) | 2005-12-22 |
Family
ID=23118768
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002590633A Pending JP2005515519A (en) | 2001-05-15 | 2002-05-14 | Method and apparatus for automatic notification and response |
Country Status (7)
| Country | Link |
|---|---|
| EP (1) | EP1391102A2 (en) |
| JP (1) | JP2005515519A (en) |
| KR (1) | KR100979073B1 (en) |
| CN (1) | CN1520572A (en) |
| AU (1) | AU2002303765A1 (en) |
| CA (1) | CA2447436A1 (en) |
| WO (1) | WO2002093886A2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010237908A (en) * | 2009-03-31 | 2010-10-21 | Trans Ware Co | E-mail delivery system, e-mail delivery method, e-mail delivery server, database integration server, and e-mail delivery program |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8868659B2 (en) | 2001-05-15 | 2014-10-21 | Avaya Inc. | Method and apparatus for automatic notification and response |
| US7119716B2 (en) | 2003-05-28 | 2006-10-10 | Legalview Assets, Limited | Response systems and methods for notification systems for modifying future notifications |
| US7561069B2 (en) | 2003-11-12 | 2009-07-14 | Legalview Assets, Limited | Notification systems and methods enabling a response to change particulars of delivery or pickup |
| KR100595444B1 (en) * | 2004-01-06 | 2006-07-03 | 삼성전자주식회사 | Remote management system of building equipment |
| US20050209990A1 (en) * | 2004-03-18 | 2005-09-22 | Ordille Joann J | Method and apparatus for a publish-subscribe system with access controls |
| US7734731B2 (en) | 2004-03-18 | 2010-06-08 | Avaya Inc. | Method and apparatus for a publish-subscribe system with third party subscription delivery |
| DE102004047125B4 (en) * | 2004-09-27 | 2007-12-27 | Cycos Ag | Method and communication server for sending an electronic message |
| KR100690787B1 (en) * | 2005-02-25 | 2007-03-09 | 엘지전자 주식회사 | Event Notification Method in Wireless Communication System |
| US7634722B2 (en) | 2005-03-08 | 2009-12-15 | Aspect Software, Inc. | Reversible logic for widget and markup language generation |
| EP1739941A1 (en) * | 2005-07-01 | 2007-01-03 | Hewlett-Packard Development Company, L.P. | A method and apparatus for routing signalling messages between an IP and an SS7 network |
| CN1988546A (en) * | 2006-12-15 | 2007-06-27 | 华为技术有限公司 | Method and system for obtaining conversation start protocol news transmission path |
| KR20090019665A (en) | 2007-08-21 | 2009-02-25 | 삼성전자주식회사 | System and method for controlling event notification based on SPI by referring to subscriber's preference |
| JP4623109B2 (en) | 2008-02-28 | 2011-02-02 | ブラザー工業株式会社 | Telephone equipment |
| KR102055260B1 (en) * | 2013-08-30 | 2019-12-12 | 에스케이텔레콤 주식회사 | Apparatus for update profile, method thereof and computer recordable medium storing the method |
| US10084872B2 (en) | 2015-07-16 | 2018-09-25 | International Business Machines Corporation | Behavior based notifications |
| CN108829737B (en) * | 2018-05-21 | 2021-11-05 | 浙江大学 | Text cross-combination classification method based on bidirectional long short-term memory network |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH088967A (en) * | 1994-06-22 | 1996-01-12 | Oki Electric Ind Co Ltd | Circulation main management method |
| JPH09185655A (en) * | 1996-01-08 | 1997-07-15 | Hitachi Ltd | Workflow management system and workflow management method |
| JPH10171729A (en) * | 1996-12-13 | 1998-06-26 | Canon Inc | Data processing system, data transmission processing method of data processing system, and storage medium storing computer readable program |
| WO2000069132A1 (en) * | 1999-05-11 | 2000-11-16 | Vista Group Pty Limited | Telecommunications system |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IL111154A0 (en) * | 1993-10-21 | 1994-12-29 | Martino Ii John A | Systems and methods for electronic messaging |
| US5509000A (en) | 1994-06-10 | 1996-04-16 | Motorola, Inc. | Method and apparatus for routing information in a communication system |
| US5742905A (en) | 1994-09-19 | 1998-04-21 | Bell Communications Research, Inc. | Personal communications internetworking |
| AU4476800A (en) * | 1999-04-26 | 2000-11-10 | Stanford Global Link Corporation | Global unified messaging system and method |
-
2002
- 2002-05-14 EP EP02731823A patent/EP1391102A2/en not_active Withdrawn
- 2002-05-14 CN CNA028129768A patent/CN1520572A/en active Pending
- 2002-05-14 CA CA002447436A patent/CA2447436A1/en not_active Abandoned
- 2002-05-14 KR KR1020037014910A patent/KR100979073B1/en not_active Expired - Fee Related
- 2002-05-14 JP JP2002590633A patent/JP2005515519A/en active Pending
- 2002-05-14 AU AU2002303765A patent/AU2002303765A1/en not_active Abandoned
- 2002-05-14 WO PCT/US2002/015513 patent/WO2002093886A2/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH088967A (en) * | 1994-06-22 | 1996-01-12 | Oki Electric Ind Co Ltd | Circulation main management method |
| JPH09185655A (en) * | 1996-01-08 | 1997-07-15 | Hitachi Ltd | Workflow management system and workflow management method |
| JPH10171729A (en) * | 1996-12-13 | 1998-06-26 | Canon Inc | Data processing system, data transmission processing method of data processing system, and storage medium storing computer readable program |
| WO2000069132A1 (en) * | 1999-05-11 | 2000-11-16 | Vista Group Pty Limited | Telecommunications system |
Non-Patent Citations (1)
| Title |
|---|
| 垂水浩幸 他: "ルールベースの電子メールによるワークフローの実現", 情報処理学会論文誌, vol. 第36巻 第6号, JPN6009007625, 15 June 1995 (1995-06-15), JP, pages 1322 - 1331, ISSN: 0001254644 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010237908A (en) * | 2009-03-31 | 2010-10-21 | Trans Ware Co | E-mail delivery system, e-mail delivery method, e-mail delivery server, database integration server, and e-mail delivery program |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1520572A (en) | 2004-08-11 |
| WO2002093886A3 (en) | 2003-06-19 |
| CA2447436A1 (en) | 2002-11-21 |
| EP1391102A2 (en) | 2004-02-25 |
| KR20040000465A (en) | 2004-01-03 |
| WO2002093886A2 (en) | 2002-11-21 |
| KR100979073B1 (en) | 2010-08-31 |
| AU2002303765A1 (en) | 2002-11-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8868659B2 (en) | Method and apparatus for automatic notification and response | |
| US7436947B2 (en) | Method and apparatus for automatic notification and response based on communication flow expressions | |
| US8180722B2 (en) | Method and apparatus for data mining within communication session information using an entity relationship model | |
| CA2436086C (en) | Context aware call handling system | |
| US8064585B2 (en) | Architecture and implementation for control of context aware call processing with local feature definition | |
| US7096232B2 (en) | Calendar-enhanced directory searches including dynamic contact information | |
| US7936863B2 (en) | Method and apparatus for providing communication tasks in a workflow | |
| US7792773B2 (en) | Method and system for enabling automated and real-time discovery of skills available to agents and systems in a multimedia communications network | |
| US7373389B2 (en) | Periodic update of data in a relationship system | |
| US7536001B2 (en) | Generation of availability indicators from call control policies for presence enabled telephony system | |
| US20020103687A1 (en) | System and method for ordering contract workers | |
| US20050165785A1 (en) | Social network surfing | |
| US20070124296A1 (en) | Generating search results based on determined relationships between data objects and user connections to identified destinations | |
| JP2005515519A (en) | Method and apparatus for automatic notification and response | |
| USRE45959E1 (en) | Method and system for enabling automated and real-time discovery of skills available to agents and systems in a multimedia communications network | |
| US20070124312A1 (en) | Structured Communication System and Method | |
| WO2006047205A2 (en) | Method and apparatus for associating messages with data elements | |
| US20050015293A1 (en) | Collaboration enhanced workflow system | |
| US20040078476A1 (en) | System and method for maintaining special purpose web pages | |
| CN101459736A (en) | Method and system for generating prospective ability data | |
| EP1662817B1 (en) | System and method for providing information on a manner of communicating | |
| Choi | Context based delivery of voice messages |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050511 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050511 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080109 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080409 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080416 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080709 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090223 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090522 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090529 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090623 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090928 |
