`(12) Patent Application Publication (10) Pub. No.: US 2004/0260820 A1
`(43) Pub. Date:
`Dec. 23, 2004
`Bearman
`
`US 2004O260820A1
`
`(54) SYSTEMS AND METHODS FOR ACCESSING
`WEB SERVICES VIA AN INSTANT
`MESSAGING CLIENT
`(76) Inventor: Clive Bearman, Boston, MA (US)
`Correspondence Address:
`MINTZ, LEVIN COHN FERRIS GLOWSKY
`AND POPEO PC
`12010 SUNSET HILLS ROAD
`SUTE 900
`RESTON, VA 20190 (US)
`(21) Appl. No.:
`10/691,535
`(22) Filed:
`Oct. 24, 2003
`Related U.S. Application Data
`(60) Provisional application No. 60/461816, filed on Apr.
`11, 2003.
`
`Publication Classification
`
`(51) Int. Cl. ................................................. G06F 15/16
`(52) U.S. Cl. .............................................................. 709/229
`
`(57)
`
`ABSTRACT
`
`Systems and methods for facilitating the exchange of data
`between users and modular Services using a real-time com
`munication client Such as an instant messaging client. The
`Services may be web Services providing various Services
`over a communication network. User commands may be
`generated in an instant messaging client, Sent to an auto
`mated attendant, which generates a corresponding Web Ser
`Vice command, and forwards the Web Service command to
`the appropriate Web Service. The automated attendant may
`then forward to one or more users any messages that are
`generated by the Web Service.
`
`
`
`102
`
`IMNETWORK
`
`AUTOMATED
`ATTENDANT
`
`105
`
`- I -
`
`104
`
`CG
`
`SAP Exhibit 1009
`SAP v. Express Mobile, Inc.
`IPR2021-01146
`Page 00001
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 1 of 9
`
`US 2004/0260820 A1
`
`9)
`
`s
`
`
`
`
`
`s
`
`
`
`8
`
`S
`
`IPR2021-01146 Page 00002
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 2 of 9
`
`US 2004/0260820 A1
`
`102
`
`to
`
`F.G. 1B
`
`
`
`100
`AUTOMATED
`
`105
`?
`
`104
`
`CS
`
`107
`
`103
`
`103
`
`to-
`
`
`
`USER
`
`112
`
`105
`
`
`
`100 1
`AUTOMATED
`105
`ATTENDANT
`
`104
`
`?
`
`C9.
`
`? O4
`
`IM NETWORK
`IMNETwork
`
`IPR2021-01146 Page 00003
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 3 of 9
`
`US 2004/0260820 A1
`
`{EENWC?ELV/INOLTV7
`
`ESNOe|SER}
`
`E9\/SSEIN
`
`
`
`
`
`
`
`
`
`
`
`E OIARIES LNVOINE_L_L\/
`
`81EAVA
`
`EKOIARHES
`
`CINW/INWOO
`
`09 !,
`
`>|EST)
`
`CINVININO O
`
`IPR2021-01146 Page 00004
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 4 0f 9
`
`hzmzos:Emas:59.65:
`
`2:x:2:
`
`8m8“K/K1%aa8“as
`
`
`N.9“.
`
`EN
`
`
`
`men..625SN
`
`EN
`
`$553
`
`
`
`592mm325%mm;
`
`«an8,\jmzazm30.5%mm;
`
`mm>mmms:
`
`cam
`
`wow
`
`memwmooma
`
`-
`
`mm<m<p<o
`
`-
`
`SN
`
`m2
`
`1A
`
`0«mmmm“Mmewmw
`
`
`
`5.586._<_oz<zEHm.Am«a0.2596..........20.259222WmmEmmmEmwz_zz<._n_
`
`
`
`IPR2021-01146 Page 00005
`
`IPR2021-01146 Page 00005
`
`
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 5 of 9
`
`US 2004/0260820 A1
`
`FIG. 3
`300
`
`302
`
`ATTENDANT STORES
`NFORMATION
`
`3O4
`
`306
`
`308
`
`ATTENDANT RECEVIES USER
`COMMAND
`
`ATTENDANT PROCESSES THE
`USER COMMAND AND
`GERERATES WEB SERVICE
`COMMAND
`
`
`
`ATTENDANT SUBMITS THE WEB
`SERVICE COMMAND TO
`DESIGNATED WEB SERVICE
`
`310
`
`312
`
`ATTENDANT RECEIVES AWEB
`SERVICE MESSAGE AND
`DETERMINES WHO TO SEND TO
`
`ATTENDANT SENDS
`MESSAGE(S) TO APPROPRIATE
`USER(S)
`
`IPR2021-01146 Page 00006
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 6 of 9
`
`US 2004/0260820 A1
`
`
`
`40
`
`402
`
`ATTENDANT DETERMINES
`THE ARPROPRIATE WEB
`SERVICES DESCRIPTION
`LANGUAGE FILE AND ITS
`LOCATION (URL)
`
`404
`
`406
`
`408
`
`410
`
`ATTENDANT ACCESSES THE
`WSDL FILE AND SELECTSA
`WEBSERVICE
`
`ATTENDANT SELECTSA
`CORRESPONDINGWEB
`SERVICE COMMAND
`
`ATTENDANT LINKS USER
`COMMAND TO THE
`SELECTED WEB SERVICE
`AND THE CORRESPONDING
`WEB SERVICE COMMAND
`
`ATTENDANT STORES
`LNKING INFORMATION
`
`IPR2021-01146 Page 00007
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 7 of 9
`
`US 2004/0260820 A1
`
`009
`
`
`
`IPR2021-01146 Page 00008
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 8 of 9
`
`US 2004/0260820 A1
`
`
`
`
`
`JLNVISNI
`
`5) NISOWSSEW
`>]EARHES
`
`JOSS300.Jej
`
`IPR2021-01146 Page 00009
`
`
`
`Patent Application Publication Dec. 23, 2004 Sheet 9 of 9
`
`US 2004/0260820 A1
`
`FIG. 7
`700
`
`702
`
`
`
`
`
`
`
`704
`
`706
`
`708
`
`RECEIVE WEB
`SERVICE MESSAGE
`
`FORMAT IF
`NECESSARY
`
`ACCESS NEXT
`USER'S PROFILE
`
`DOES USER
`AVE ACCESS2
`
`SEND MESSAGE TO
`USER
`
`ANY MORE
`USERS2
`
`
`
`
`
`
`
`
`
`IPR2021-01146 Page 00010
`
`
`
`US 2004/0260820 A1
`
`Dec. 23, 2004
`
`SYSTEMS AND METHODS FOR ACCESSING WEB
`SERVICES VIA AN INSTANT MESSAGING
`CLIENT
`
`CROSS REFERENCES TO RELATED
`APPLICATIONS
`0001) This application claims the benefit of U.S. Provi
`sional Application No. 60/461,816, which was filed on Apr.
`11, 2003, and which is hereby incorporated by reference.
`
`BACKGROUND OF THE INVENTION
`0002) 1. Field of the Invention
`0003. This invention relates to systems and methods for
`facilitating a user's access to Web Services and disparate
`enterprise Systems where data and commands may be
`eXchanged using an instant messaging client and an auto
`mated attendant.
`0004 2. Background of the Invention
`0005 The existence and popularity of instant messaging
`(IM) is known. IM allows users to “chat” with other users in
`real time. That is, it allows users to communicate with each
`other by permitting each user to view text messages from
`other users essentially instantaneously. The IM client soft
`ware that is required for IM communication is becoming
`more pervasive and is now incorporated into operating
`Systems, personal digital assistants, cell phones, and other
`Systems.
`0006 Most IM communications are still between indi
`viduals for personal communication. Some companies have
`Started using IM for Some business communications.
`Although the prospect of using IM for business communi
`cations may be intriguing, businesses So far have found
`limited use for IM applications because various limitations
`exist with IM uses in busineSS applications. For instance,
`under certain circumstances it may be desirable for an
`enterprise employee to have real-time access to an enterprise
`or a legacy System regardless of their physical location.
`These enterprise and legacy Systems may provide various
`functionalities and Services to am enterprise. Greater acceSS
`to these Systems by employees may provide significant
`benefit to the enterprise. Unfortunately, IM employee users
`are typically not able to access these enterprise and legacy
`Systems through an IM client application for various reasons
`including, for example, the lack of appropriate Security
`layers generally needed to prevent unauthorized access of
`the enterprise and legacy Systems.
`0007 Some limited efforts have been made to produce
`development kits to create automated attendants for use with
`IM in order to fully appreciate the value of IM. However,
`these automated attendants tend to have limited capabilities.
`For instance, Some currently available automated attendants
`used with IM may allow users to query for information from
`a particular information Server or to locate a particular
`website. These systems, however, tend to have limited
`functionality and as a result, limited application.
`
`SUMMARY OF THE INVENTION
`0008. The present invention includes systems and meth
`ods that facilitate a user's access to Web Services and
`disparate enterprise Systems via an instant messaging (IM)
`
`client. Data and commands may be communicated between
`an IM client and Web Services via an automated attendant.
`The automated attendant, which may be an automated client
`BOT, may receive requests (referred to as user commands),
`may reformat the requests into Web Service readable requests
`(referred to as web service commands), and may forward the
`Web Service commands to the appropriate Web Service for
`execution. The automated attendant may further forward a
`response message from the Web Service back to the IM client
`and/or other IM clients. Thus, the invention facilitates the
`bidirectional eXchange of information between users and
`Web Services in real time.
`0009. In order to facilitate real-time communication
`between users and Web Services, an automated attendant
`may be employed that includes a processor, a database, and
`a Web Services engine. The processor may receive and
`process user commands from IM users created in an instant
`messaging environment. The database may be used to Store
`information relating to users, user command formats, Web
`Service DeScription Language files, Web Services, Web Ser
`Vice command formats, linking information between user
`commands and Web Services and Web Service command
`formats, and other information. Such data can be used to
`facilitate communication between users and Web Services.
`0010. According to an aspect of the invention, the user
`command may be a command created using an instant
`messaging (IM) client application. A user command created
`via an IM client application may be a request, a query, and/or
`command in a format that may be particular to a user or a
`group of users in an IM environment. The format of the user
`command may reflect the format of IM messages typically
`used by users of IM client applications. Such formats may
`make it more convenient for a user to quickly draft user
`commands when communicating with, for example, a web
`Service.
`0011. According to another aspect of the invention, a web
`Service command may be a command formatted according
`to the formatting requirements of a Web Service. In order for
`the Web Service to execute a command Submitted by a user,
`the command that is received by the web service may be
`formatted in a manner that is understandable by the web
`Service. The Web Service command may include a String of
`text and symbols that is readable by the web service.
`0012. According to another aspect of the invention, pro
`cessing a user command by the processor may include
`linking the user command to a Web Service, a Web Service
`command format, a Web Service Description file, and/or
`other items. The processor may also parse user profile
`information in order to determine a user's privileges and
`roles.
`0013. According to another aspect of the invention, the
`database may Store user profile information. The user profile
`information may include, for example, information relating
`to user's authorized commands, the user's user IDS and
`passwords for Specific Web Services, preferred Web Services,
`user's personal information, privileges, and other user
`related information.
`0014. According to another aspect of the invention, the
`database may store directory information. The directory
`information may include, for example, corporate directory
`information Such as a listing of enterprise users, user posi
`
`IPR2021-01146 Page 00011
`
`
`
`US 2004/0260820 A1
`
`Dec. 23, 2004
`
`tions, roles, privileges and other information. Such infor
`mation may be useful in controlling a user's access rights.
`For instance, directory information may provide a list of user
`names which may be used in order to grant access to and/or
`privileges of an enterprise System and to grant a user's
`privileges to the automated attendant's administrative com
`mands Such as privileges to create user commands.
`0.015 According to another aspect of the invention, infor
`mation that links a user command or a user command format
`to a specific Web Service and corresponding Web Service
`command format, may be Stored in the database. Such
`information may include, for example, mapping information
`that maps a user command or a user command format to a
`Web Service Description Language file or its location, a web
`Services and/or a corresponding web service command.
`0016. According to another aspect of the invention, the
`web services engine may be used to locate Web Service
`Description Language files. The Web Service Description
`Language files may comprise of a list of Web Services, their
`location, Web Service descriptions, Web Service command
`formats, and other information relating to Web Services. The
`location of a Web Service Description Language file may be
`defined by a URL address.
`0.017. According to another aspect of the invention, the
`Web Services engine may be used to communicate with web
`Services. The Web Services engine may send Web Service
`commands to and receive response messages from the web
`Services. The web services engine may also receive mes
`Sages directed to one or more users from Web Services that
`were generated without prompting from any userS Such as
`alerts.
`0.018. According to another aspect of the invention, the
`automated attendant may receive messages from Web Ser
`vices and forward the messages to specific users. The
`messages may be forwarded as is or may be reformatted
`prior to forwarding the message to users. Prior to forwarding
`the messages, the automated attendant may determine which
`users have privileges to view the messages. The automated
`attendant may then Send the original or reformatted mes
`Sages to only those users having acceSS privileges to the
`original or reformatted messages.
`0.019 According to another aspect of the invention, the
`automated attendant may communicate with one or more
`users via an instant messaging (IM) network. An IM network
`may comprise of an IM server and one or more IM clients.
`0020. According to another aspect of the invention, the
`automated attendant may communicate with a Web Service
`via a communication link. The communication link may
`include, for example, the Internet, a intranet, a LAN, a
`WAN, a PSTN and/or other networks that may be used for
`transferring data.
`0021 According to another aspect of the invention, the
`Web Services that are accessed via the automated attendant
`may be any type of Web Services. By way of example, the
`Services can be data processing Services, data retrieval
`Services, transactional Services, and/or other types of Ser
`vices. These Services can be Services that may be offered in
`a network environment Such as the Internet, an Intranet, an
`Extranet or other networks.
`0022. According to another aspect of the invention, the
`Web Services that are accessed may be associated with an
`
`enterprise System and/or a legacy System. A Web Service may
`be used in order to gain access to enterprise Systems and/or
`legacy Systems. This may allow enterprise users to have real
`time access to enterprise Systems. These enterprise Systems
`may include, for example, application Servers, Security
`applications, directories, ERPS, financial Systems, account
`ing Systems, System administration, planning and other
`enterprise Systems.
`0023. According to another aspect of the invention, the
`automated attendant may interface with a remote database
`that includes a corporate directory. The corporate directory
`may provide a list of enterprise users and information
`relating to each enterprise user that may be helpful in
`determining a user's privileges Such as the roles that are
`assigned to that user. The privileges associated with each
`user may be related to information access (e.g., web service
`generated messages), user commands (creation and ability to
`implement the user commands), and/or administrative privi
`leges as they relate to the automated attendant, Web Services
`and/or enterprise Systems. Such information may also be
`Stored in the automated attendant's database.
`0024. According to another aspect of the invention, the
`automated attendant may be based on a non-provisional
`architecture. The non-provisional architecture may include a
`proxy user, a processor and a Web Services engine running
`off of a Java application Server. The message processor may
`be used for processing user messages and/or Web Services
`messages and link user commands to Web Services Descrip
`tion Language (WSDL) files, web services and/or web
`Service command formats. The Web Services engine may be
`used to communicate with Web Services and to acceSS
`WSDL files.
`0025. According to another aspect of the invention, the
`automated attendant may be based on a provisional archi
`tecture. The provisional architecture may include a proxy
`user, a processor, a Security and provisioning engine and a
`Web Services engine that may run on, for example, a Java
`application Server. The processor may be used to process
`user and/or Services messages and link user commands to
`Web Services and/or a Web Service commands. The Security
`and provisioning engine may be used to control access to
`Web Services, user commands, administrative functional
`ities, enterprise Systems and/or information that may be
`shared Such as messages. The Web Services engine may be
`used to communicate with Web Services and to acceSS
`WSDL files.
`0026. According to an aspect of the invention, methods
`of allowing users to access Web Services are provided. The
`methods may allow a user to request that a task be performed
`by a Web Service without requiring the user to find the proper
`Web Service location or requiring that the request be in a
`format understandable by the web service. These methods
`may include the operations of receiving a user command,
`linking the user command to a WSDL file, a web service
`and/or a Web Service command format, generating a web
`Service command corresponding to the user command and
`Sending the Web Service command to the Web Service.
`0027 According to another aspect of the invention, an
`operation for creating a user command may be performed
`via an IM client. The user command may be formatted
`differently from the format of a corresponding web service
`command. A user command may be in a form that is
`
`IPR2021-01146 Page 00012
`
`
`
`US 2004/0260820 A1
`
`Dec. 23, 2004
`
`particular to a user or a group of users Such as enterprise
`users. Further, the user command created using an IM client
`application may be formatted according to a user convenient
`format.
`0028. According to another aspect of the invention, a user
`command may be made functional by performing operations
`for linking a user command to a WSDL file. The operations
`may include an operation for defining user command param
`eters through an IM interface. Other operations may include,
`for example, identifying an appropriate WSDL file and its
`location (e.g., URL address), reviewing the WSDL file and
`finding the appropriate Web Service and corresponding web
`Services command format that may be used in order to
`execute the user command, and linking the user command to
`the web services command format found in the WSDL file.
`0029. According to another aspect of the invention, an
`operation for Storing information that links a user command
`or a user command format to a specific Web Service and
`corresponding Web Service command format may be per
`formed. Such information may include, for example, map
`ping information that maps a user command or user com
`mand format to a specific Web Service and corresponding
`web service command or web service command format. The
`Stored information may also include or alternatively include
`the identity and/or address of the relevant WSDL file.
`0.030. According to another aspect of the invention, an
`operation for receiving messages from Web Services and
`forwarding the messages to one or more users may be
`performed. Once a user has Successfully Submitted a mes
`Sage (e.g., a web service command) to a web service, the
`Web Service may respond by Sending a responsive message
`back to the original user and/or other users via the automated
`attendant. Alternatively, a message may be sent to the
`original user and/or other users via the automated attendant
`without any prompting from the Web Service. This may
`occur, for example, when the Web Service is generating an
`alert. The messages may be reformatted prior to forwarding
`the messages to a user via an IM network.
`0031. According to another aspect of the invention, user
`profile information, Stored directory information, message
`content, databases and other data Sources may be parsed to
`determine which users are to receive a message generated by
`a Web Service. This may occur, for example, when the web
`Service is associated with an enterprise System and there is
`a need for restricting access to the message.
`0032. According to another aspect of the invention, a
`buddy or call name for the automated attendant may be
`created in an IM environment in order to create a proxy
`identity for the automated attendant. A buddy list for the
`automated attendant that lists users may be created in order
`to allow the listed users to access the automated attendant.
`Other operations may also be performed to facilitate the
`various functionality of the automated attendant in an IM
`environment.
`0.033 According to another aspect of the invention, user
`profiles may be stored. The user profile may include various
`types of data including information relating to a user's
`authorized user commands, the user's user IDS and pass
`words for Specific Web Services, preferred Web Services,
`user's personal information, privileges, and other user
`related information. The user command information may be
`
`use to find and/or identify, for each user command, the
`appropriate web service (and its address) associated with the
`user command and the corresponding Web Service command
`format.
`0034. According to another aspect of the invention, the
`automated attendant may be a bi-directional System. In
`addition to being able to return Web Service responses back
`to a user, the automated attendant may also allow web
`Services to initiate contact with one or more user without
`prompting by a user. This may occur, for instance, when an
`alert is generated by a Web Service or when a Web Service for
`work approval process needs an approval from one or more
`USCS.
`0035. According to another aspect of the invention, a
`name may be assigned to the location of a WSDL file. The
`name may be associated with the address of the file, Such as
`an URL address, thus eliminating the need for reproducing
`the address whenever the file needs to be located.
`0036. It is to be understood that both the foregoing
`general description and the following detailed description
`are exemplary and explanatory and are intended to provide
`further explanation of the invention as claimed.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0037. The accompanying drawings, which are included
`to provide further understanding of the invention and are
`incorporated in and constitute a part of this Specification,
`illustrating embodiments of the invention and together with
`the description Serve to explain the principles of the inven
`tion.
`0038 FIG. 1A is a block diagram depicting an automated
`attendant in communication with a user and a Web Service
`according to an embodiment of the invention.
`0039 FIG. 1B is a block diagram depicting two auto
`mated attendants in communication with three users and
`three Web Services according to an embodiment of the
`invention.
`0040 FIG. 1C is a block diagram depicting the relation
`ship between users, a user command, an automated atten
`dant, a Web Service and response messages according to an
`embodiment of the invention.
`0041
`FIG. 2 is a block diagram depicting an automated
`attendant in communication with multiple web Services and
`multiple users via an instant messaging network according
`to an embodiment of the invention.
`0042 FIG. 3 is a flowchart for communicating with a
`Web Service via an automated attendant according to an
`embodiment of the invention.
`0043 FIG. 4 is a flowchart for creating and linking a user
`command according to an embodiment of the invention.
`0044 FIG. 5 is an exemplary instant messaging user
`interface depicting an exemplary dialogue between a user
`and an automated attendant when a user command is being
`created, linked and implemented according to an embodi
`ment of the invention.
`004.5
`FIG. 6 is a block diagram depicting a provisioning
`architecture for an automated attendant according to an
`embodiment of the invention.
`
`IPR2021-01146 Page 00013
`
`
`
`US 2004/0260820 A1
`
`Dec. 23, 2004
`
`FIG. 7 is a flowchart for permitting one or more
`0.046
`users to access a Web Service message according to an
`embodiment of the invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`0047 According to the invention, systems and methods
`are proposed whereby an automated attendant facilitates the
`eXchange of information and commands between one or
`more users and one or more Web Services via an instant
`messaging client. Further, by utilizing the automated atten
`dant, users may request that a specific Web Service perform
`a specified task using a user's own command that may be
`created in a instant messaging (IM) environment. In Some
`embodiments of the invention, Security features may be
`included that allow the automated attendant to control acceSS
`to the data being eXchanged between users and Services. In
`Some embodiments, the automated attendant may operate
`within an enterprise network.
`0.048. According to some aspects of the invention, instant
`messaging clients may be used in combination with auto
`mated attendants and web services to fully utilize the
`capabilities of instant messaging. In order to appreciate
`certain aspects of the invention, a description of Web Ser
`vices follows.
`0049. A web service may be a service that may be a
`Self-contained, Self-describing, modular application that can
`be published, located, and invoked acroSS communication
`links. In other words, a web service may be any type of
`Services that is modular, locatable and accessible. A web
`Service may perform various functions, which can be any
`thing from Simple requests (such as the request provided in
`the above baseball example) to complicated business pro
`cesses. A Sample web Service might provide Stock quotes or
`process credit card transactions or provide current tempera
`tures of different cities. Web services may also operate as
`portals to enterprise and legacy Systems that may allow IM
`users to directly access these Systems.
`0050 Web services may further be defined as collections
`of network endpoints or ports. They may allow direct acceSS
`to Services provided by, for example, network applications
`and Systems. Such functionalities may be provided by a
`Standard network-programming interface through which the
`Services can be directly accessed via a network. The function
`of web services may be better understood with the following
`example. Suppose an Internet user is interested in finding a
`Specific Statistic of a particular baseball player during a
`particular month. In order to do So, the user may go to a
`particular web page, Such as a Sports or news web page, go
`through a number of hyperlinked pages to reach the relevant
`page, and input the name of the player along with the month
`of interest into data fields of the relevant page to obtain the
`desired results. In Such a situation, the user may be required
`to execute a number of Steps before finally obtaining the
`desired results. Rather than going through these Steps, a web
`Service may allow the user to directly access the information
`using a single command String. The user Simply Submits a
`formatted request called a “web service command” to the
`appropriate Web Service and based on the Web Service
`command, the Web Service may retrieve and provide the
`desired information.
`0051 One standard on which web services are based on
`is Simple Object Access Protocol (SOAP). Simple Object
`
`Access Protocol establishes a common format that allows a
`System to call functions of another System acroSS the Internet
`using XML. Layered on top of this protocol is the Web
`Services Description Language (WSDL). The relationship
`between SOAP and WSDL is that SOAP defines how to call
`a function on another computer while WSDL creates a
`method of describing what functions are available, their
`Syntax, and Semantics.
`0052 Web services are relatively new and the number of
`available Web Services increases each day. Generally, people
`do not directly access Web Services using their web browser.
`Instead, Web Services are typically accessed by other web
`applications. For example, these Web Services may be
`accessed by Web application in order to retrieve Specific
`data. The data retrieved from a web service may then be
`utilized by these web applications by directly incorporating
`the retrieved data into their interface or the retrieved data
`may be further processed.
`0053 FIG. 1A is a block diagram of a system that
`includes an automated attendant 100 facilitating the
`exchange of information between a user 102 and a web
`service 104 according to an embodiment of the invention.
`The user 102 may access the web service 104 using the
`automated attendant 100 via an instant messaging (IM)
`network 103 and a communication link 105. In order for the
`user 102 to communicate with the web service 104, the user
`102 may generate a message using an IM client application
`(not shown). Each message that is generated may include
`one or more user commands. The format of a user command
`created in an IM environment (e.g., commands created using
`IM client applications and transmitted through an IM net
`work) may be particular to a particular user or a group of
`users or to the user's enterprise. A user command may be a
`request that Some Sort of action be performed or may be a
`query to retrieve Some Sort of data. According to Some
`embodiments of the invention, a user command may be
`formatted in a truncated manner that is often used for IM
`messages or in other user convenient formats. For example,
`for purposes of convenience, IM users may truncate a word
`such as “because” to “cuz” or a word such as “picture” to
`"pic'. Similarly, commands may also be truncated. Thus,
`user commands may be formatted in any manner that may be
`acceptable to the IM client application. Once a message that
`includes a user command is generated, it may be sent to the
`automated attendant 100 via the IM network 103.
`0054) The IM network 103 may include an IM server and
`a plurality of IM clients. The IM server directs messages sent
`by users to appropriate addressees. Each addressee/user may
`be identified by a unique call or buddy name. Further, the
`automated attendant 100 may be represented by a proxy user
`in the IM network 103. Thus the proxy user may also be
`identified by a unique call name Such as “enterprise buddy.”
`0055. The automated attendant 100 may receive the mes
`sage sent by the user 102 through an IM client that interfaces
`with the IM network 103. Once the automated attendant 100
`receives the message, the automated attendant 100 may
`process the message to determine if the message includes a
`user command. If there is a user command, then the auto
`mated attendant 100 may generate a corresponding web
`Service command. A Web Service command is a command
`that may be formatted in a specific manner Such that the web
`Service that eventually receives the Web Service command
`may be able to correctly interpret and execute the command.
`
`IPR2021-01146 Page 00014
`
`
`
`US 2004/0260820 A1
`
`Dec. 23, 2004
`
`0056. A properly formatted web service command can be
`a long String of characters and Symbols. Unfortunately, this
`may not be conducive to the types of messages usually
`written in an IM environment (Such as user commands). AS
`previously described, a user command created in an IM
`environment may be in a format that is most convenient for
`a user but may not be understandable by the targeted web
`Service. The difference in the formats of a user command and
`a corresponding Web Service command may be illustrated by
`the following example. Suppose, for example, a user com
`mand (created via IM client) to sell 25 shares of stock xyz
`is written in a form that is most convenient for the user Such
`as “sellxyZ-25.” The targeted web service, which provides
`the Stock Selling Service, may not understand Such a com
`mand as formatted Since the Web Service may require that the
`commands it accepts be in a format that may be difficult or
`inconvenient for the user to generate. As a result, a web
`Service command that is properly formatted may be gener
`ated based on the original user command. Once the correctly
`formatted Web Service command is generated, it may be sent
`to the appropriate web service 104.
`0057. In some embodiments of the invention, the auto
`mated attendant 100 may provide other functionalities as
`well. The automated attendant 100 may be a bi-directional
`system allowing information to flow between the user 102
`and the web service 104 in either direction and may allow
`the web service 104 to initiate contact with the user 102
`without prompting from the user 102. For instance, if a web
`Service 104 generates a message, Such as an alert when the
`value of a s