`Lange et al.
`
`USOO6839733B1
`(10) Patent No.:
`US 6,839,733 B1
`(45) Date of Patent:
`Jan. 4, 2005
`
`(54) NETWORKSYSTEM EXTENSIBLE BY
`USERS
`
`(*) Notice:
`
`(75) Inventors: Danny Lange, Cupertino, CA (US);
`Barbara Nelson, San Mateo, CA (US);
`Jing Su, Cupertino, CA (US); James E.
`White, San Carlos, CA (US)
`(73) ASSignee: Berally East Holding L.L.C.,
`s
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 684 days.
`(21) Appl. No.: 09/712,712
`(22) Filed:
`Nov. 14, 2000
`O
`O
`Related U.S. Application Data
`(63) Continuation of application No. 09/178,366, filed on Oct.
`23, 1998, now Pat. No. 6,163,794.
`(51) Int. Cl." ................................................ G06F 15/16
`(52) U.S. Cl. ........................ 709/202; 709/203; 709/226
`(58) Field of Search
`709/202, 226
`709203. 379'ss
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,603,031 A 2/1997 White et al. ................ 395/683
`5,655,081. A 8/1997 Bonnell et al. ............. 709/202
`5,825,759 A * 10/1998 Liu ............................ 37033
`5,826,258. A 10/1998 Gupta et al. ................... 707/4
`5,913.214 A 6/1999 Madnicket al.
`... 707/10
`5,953,392 A 9/1999 Rhie et al. .................. 379/881
`5,963,949 A 10/1999 Gupta et al. ................ 707/100
`5.974.441. A 10/1999 Rogers et al. .............. 709/200
`5,983,190 A 11/1999 Trower, II et al. .......... 704/276
`5,983.267 A 11/1999 Shklar et al. ............... 709/217
`6,016,393 A 1/2000 White et al. ................ 395/683
`6,016,520 A 1/2000 Facq et al. .................... 710/33
`6,067,568 A 5/2000 Li et al. ..................... 709/223
`6,163,794. A * 12/2000 Lange et al. ................ 709/202
`
`6,285,977 B1 * 9/2001 Miyazaki ..................... 703/26
`6,363,411 B1 * 3/2002 Dugan et al. .........
`... 709/202
`6,457,063 B1 * 9/2002 Chintalapati et al. ....... 709/317
`6,657,990 B1 * 12/2003 Dilip et al. ................. 370/352
`OTHER PUBLICATIONS
`Jonathan Dale, “A Mobile Agent Architecture to Support
`Distributed Resource Information Management', University
`of Southhampton, Department of Electronics and Computer
`Science, 79 pages, Jun. 23, 1998.*
`JP Morgenthal, “XML Agents.” NC.Focus website
`(www.ncfocus.com), 1998, pp. 1-4.
`D. Tsichritzis, et al., “KNOs: Knowledge Acquisition, Dis
`semination, and Manipulation Objects,” ACM Transactions
`on Office Information Systems, vol. 5, No. 1, Jan. 1987, pp.
`96-112.
`C. Daniel Wolfson, et al., “Intelligent Routers,” The 9th
`International Conference on Distributed Computing Sys
`tems, IEEE Computer Society Press, 1989, pp. 371-376.
`* cited by examiner
`
`Primary Examiner Mehmet B. Geckil
`(74) Attorney, Agent, or Firm-Sterne, Kessler, Goldstein
`& Fox PL.L.C.
`ABSTRACT
`(57)
`In one aspect, a network System includes a user interface
`which allows a user to interact with the network System. An
`agent Server is coupled to the user interface. The agent Server
`9.
`th
`R
`f the network system.F E.
`manages une operation of Ine network system. Furtnermore,
`the agent Server in conjunction with the USC interface S
`operable to create or modify an agent in response to inter
`action by the user. In another aspect, a network System
`includes an agent Server which manages the operation of the
`network System. An agent is operable to utilize a Service
`within the network System. A Service wrapper, associated
`with the Service, cooperates with the agent Server to mediate
`interaction between the Service and the agent
`genl.
`
`58 Claims, 17 Drawing Sheets
`
`GraphicalUser
`Interface
`
`- 12
`
`Voice User
`efface
`
`is
`
`- ?
`
`- -
`
`
`
`4
`
`6
`l
`
`hard-Wired
`functionality
`
`{
`
`:
`
`-- - - - - - - - - - - - - - - - - - -----------------
`Agent - 22
`2 20-
`/
`:
`-
`
`Ogional --
`
`Agent Server
`
`Agent - 22
`
`NAgent - 22
`
`N Agent -- 22
`
`:
`
`26 Service
`Wrapper
`
`Service
`Service
`Service
`Wrapper wipe Wrapper
`
`26 Programmable
`Functionality
`
`4- I e-A
`ic-AFA
`Z
`f–24
`-24
`Service
`Service
`25
`25
`Service
`Service
`Service
`Resources
`Resources
`Resources
`
`Service
`
`--24
`
`Service
`Resources
`
`- 25
`
`IPR2025-00715
`DATABRICKS EX1023 Page 1
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 1 of 17
`
`US 6,839,733 B1
`
`
`
`
`
`
`
`
`
`
`
`
`30?Au9S
`
`Jedde.) NA
`
`IPR2025-00715
`DATABRICKS EX1023 Page 2
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 2 of 17
`
`US 6,839,733 B1
`
`
`
`
`
`
`
`
`
`27 Pe.
`
`S & A
`
`See
`A2
`A.
`
`IPR2025-00715
`DATABRICKS EX1023 Page 3
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 3 of 17
`
`US 6,839,733 B1
`
`Graphical User Interface
`
`
`
`Web Browser (in client)
`
`Internet
`
`Web Server (in provider)
`
`Web Pages
`
`Agent Area
`
`To Rest of
`Network System
`
`FG. 3
`
`IPR2025-00715
`DATABRICKS EX1023 Page 4
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 4 of 17
`
`US 6,839,733 B1
`
`- - - - -
`
`- - - we - - - - - - - - - - - - !--
`
`
`
`16
`
`Telephone Server (in provider)
`
`Grammar, Prompts, etc.
`
`TO Rest Of
`Network System
`
`FG. 4
`
`IPR2025-00715
`DATABRICKS EX1023 Page 5
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 5 of 17
`
`US 6,839,733 B1
`US 6,839,733 B1
`
`
`
`
`
`WOL4/O].a
`BIIAIAS
`
`sseddes,
`
`
`
`INAWold/OLINDWo14/Ol
`
`vy
`
`Jainpayos
`
`IPR2025-00715
`DATABRICKS EX1023 Page 6
`
`IPR2025-00715
`DATABRICKS EX1023 Page 6
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 6 of 17
`
`US 6,839,733 B1
`
`93
`
`
`
`
`
`IPR2025-00715
`DATABRICKS EX1023 Page 7
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 7 of 17
`
`US 6,839,733 B1
`
`
`
`
`
`JÐSMOJOE Q?NA
`
`
`
`
`
`Jadde INA 30?Au2S
`
`
`
`Se6ed qÐNA
`
`IPR2025-00715
`DATABRICKS EX1023 Page 8
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 8 of 17
`
`US 6,839,733 B1
`
`Agent Object
`
`
`
`Permissions
`
`56
`
`Event Handers
`
`Datastore
`
`Pending Event Queue
`
`FG. 8
`
`IPR2025-00715
`DATABRICKS EX1023 Page 9
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 9 of 17
`
`US 6,839,733 B1
`
`
`
`Admit Subscriber
`to Ui (logon)
`
`O2
`
`1 OO
`
`Admit subscriber
`to U agent area
`
`Accept Command "C"
`from SubScriber
`
`
`
`Execute C if a
`Selection Command
`
`Execute C if a
`Template Command
`
`Execute C if an
`Agent Command
`114
`Any more
`Commands?
`
`
`
`
`
`
`
`
`
`
`
`118
`
`IPR2025-00715
`DATABRICKS EX1023 Page 10
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 10 of 17
`
`US 6,839,733 B1
`
`202
`
`
`
`
`
`
`
`
`
`ls C Select
`Template?
`
`Yes
`
`204
`
`Note
`template (T)
`Selected
`
`2OO
`
`
`
`
`
`is C Select
`Agent?
`
`
`
`Note
`agent (A)
`Selected
`
`
`
`
`
`FIG. O
`
`IPR2025-00715
`DATABRICKS EX1023 Page 11
`
`
`
`U.S. Patent
`
`US 6,839,733 B1
`
`
`
`
`
`
`
`
`
`ON
`
`peoeeS (L) eledua)
`OU S.8Jet) JJOIJ
`
`IPR2025-00715
`DATABRICKS EX1023 Page 12
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`US 6,839,733 B1
`
`
`
`
`
`
`
`Z
`Z
`
`9?ee 10 O SI
`
`ON
`
`ON
`
`peoeeS (L) ele|duel
`Ou Seleul JOJ.
`
`peoales (W) Juebe
`Ou Seleul Ol
`
`IPR2025-00715
`DATABRICKS EX1023 Page 13
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 13 of 17
`
`US 6,839,733 B1
`
`
`
`
`
`
`
`
`
`Permissions of Agent (A)
`
`Service permissions Service permissions
`held by A
`held by A
`for one Service
`for another Service
`(St)
`(S2)
`
`Computational
`O
`ermissions
`p
`
`20
`
`Agent Server
`
`Computational
`Resources
`
`Service Wrapper for Service Wrapper for
`S1
`S2
`
`Service (S1)
`
`Service (S2)
`
`Service Resources
`Available to
`S
`
`Service Resources
`Available to
`
`IPR2025-00715
`DATABRICKS EX1023 Page 14
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 14 of 17
`
`US 6,839,733 B1
`
`500
`
`Yes
`
`
`
`
`
`
`
`Select Agent
`
`Execute time
`slot for Agent
`
`
`
`
`
`Any more
`agents?
`
`
`
`NO
`
`FIG. 14
`
`IPR2025-00715
`DATABRICKS EX1023 Page 15
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 15 of 17
`
`US 6,839,733 B1
`
`Load Agent (A)
`
`6O2
`
`
`
`
`
`ls A
`Suspended?
`
`Yes
`
`
`
`
`
`
`
`
`
`
`
`Yes
`
`
`
`
`
`
`
`ls event
`(E) being
`handled?
`
`s
`an event (E)
`pending
`for A2
`
`Does
`A have
`handler (H)
`for E2
`
`Execute portion
`of H for E
`
`FIG. 15
`
`IPR2025-00715
`DATABRICKS EX1023 Page 16
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 16 of 17
`
`US 6,839,733 B1
`
`
`
`
`
`Yes
`
`
`
`
`
`Fetch instruction ""
`
`704
`
`ls a Service
`instruction?
`
`
`
`Any more
`instructions?
`
`FIG. 16
`
`Ask Service wrapper
`to execute for A
`
`708
`
`IPR2025-00715
`DATABRICKS EX1023 Page 17
`
`
`
`U.S. Patent
`
`Jan. 4, 2005
`
`Sheet 17 of 17
`
`US 6,839,733 B1
`
`
`
`
`
`
`
`
`
`identify permissions (Pr)
`required by
`
`Ask agent server for
`permissions (Ph) held by A
`
`804
`
`8OO
`
`8O8
`
`
`
`
`
`Does Ph.
`include Pr?
`r:
`
`
`
`NO
`
`
`
`Yes
`identify amounts (Ar and Ah)
`of quantitative permissions
`among Pr and Ph
`
`Error ROutine
`
`814
`
`
`
`at least Ar?
`r:
`
`NO --
`
`Error Routine
`
`Yes
`
`ASK Service
`to execute
`
`Identify amounts (Au)
`of quantitative permissions
`used by
`
`Ask agent server to
`decrement Ah by Au
`
`F.G. 17
`
`
`
`
`
`IPR2025-00715
`DATABRICKS EX1023 Page 18
`
`
`
`1
`NETWORKSYSTEM EXTENSIBLE BY
`USERS
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`The present application is a continuation of Ser. No.
`09/178,366, filed Oct. 23, 1998, now U.S. Pat. No. 6,163,
`794, entitled “Network System Extensible By Users” which
`application was allowed on Jul. 3, 2000.
`This Application relates to the Subject matter disclosed in
`the following United States Patent and co-pending United
`States Applications:
`U.S. Pat. No. 5,603,031 to White et al., entitled “System
`and Method, For Distributed Computation Based Upon the
`Movement, Execution, and Interaction of Processes. In a
`Network;”
`U.S. application Ser. No. 08/609,699, filed Mar. 1, 1996,
`entitled “Method and Apparatus For Telephonically Access
`ing and Navigating the Internet,”
`U.S. application Ser. No. 08/798,675, filed Feb. 10, 1997,
`entitled “System and Method For Distributed Computation
`Based Upon the Movement, Execution, and Interaction of
`Processes. In a Network; and
`U.S. application Ser. No. 09/071,717, filed May 1, 1998,
`entitled “Voice User Interface With Personality.”
`The above patent and co-pending applications are
`assigned to the present ASSignee and are incorporated herein
`by reference.
`
`TECHNICAL FIELD OF THE INVENTION
`The present invention relates generally to the field of
`computer Software Systems and, more particularly, to a
`network System extensible by users.
`
`CROSS-REFERENCE TO MICROFICHE
`APPENDICES
`A portion of the disclosure of this patent document
`contains material that is Subject to copyright protection. The
`copyright owner has no objection to the facsimile reproduc
`tion by anyone of the patent disclosure as it appears in the
`Patent and Trademark Office patent files or records, but
`otherwise reserves all copyright rights whatsoever.
`BACKGROUND OF THE INVENTION
`Advances in computer and telephony Systems have led to
`the development of numerous technology-driven Services,
`Such as electronic mail (e-mail), voice mail, electronic
`organizers (for appointments and addresses), on-line data
`bases (e.g., for periodicals and stock quotes), and the like.
`An increasing popularity for these technological Services in
`recent years has spawned an entire industry devoted to the
`provision and integration of the Same. For example, numer
`ous companies now offer e-mail Service over the intercon
`nection of computers widely known as the Internet. Other
`companies offer Systems for Voice mail Services in both
`private branch exchange (PBX) and public telephone envi
`ronments. Entities which offer, Supply, or otherwise provide
`services are referred to as “service providers.” Entities
`which purchase, consume, or otherwise use Services are
`referred to as “subscribers.”
`Many technological Services are Supported by one or
`more Software applications. These Software applications are
`often developed with a broad spectrum of subscribers in
`mind. AS Such, the respective technological Services may
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,839,733 B1
`
`2
`address the generalized needs of many Subscribers, but not
`the Specialized needs of any one particular Subscriber or
`group of Subscribers.
`With previous techniques, when a subscriber desires to
`alter, change, modify, or otherwise customize a Service to
`Suit his or her own Specialized needs, that Subscriber must
`contact the appropriate Service provider. If the Service pro
`vider deems that there is Sufficient demand for Such
`customization, the provider will initiate a modification of the
`Supporting Software application for the relevant Service.
`Software programmerS or developerS must then modify the
`existing Software application to address the Specialized
`needs of the requesting Subscriber(s), and afterwards, test
`the modified Software to ensure that it is functioning prop
`erly. Many iterations of modification and testing may be
`performed before the finished, customized Service is avail
`able to the Subscriber.
`In light of the above, it is clear that previous techniques
`are problematic for numerous reasons. For example, a
`Service provider is required to maintain or otherwise employ
`a Staff of human Software developerS for making modifica
`tions to Supporting Software applications. This can be expen
`Sive. Furthermore, a Substantial amount of time may be
`required to develop, modify, and test Supporting Software
`applications in response to the request of a particular Sub
`scriber or group of Subscribers. This can lead to subscriber
`dissatisfaction, and ultimately, defection to another Service
`provider.
`
`SUMMARY OF THE INVENTION
`The disadvantages and problems associated with previous
`techniques for providing technological Services have been
`Substantially reduced or eliminated using the present inven
`tion.
`The present invention provides a network System exten
`Sible (e.g., programmable) by "end-users,” and a method of
`operation for the same. In general, an end-user (or simply
`“user') is any individual, party, or entity which Somehow
`interacts with the network System. A user can thus be an
`entity known to the network System (i.e., an entity having a
`log-in ID), Such as, for example, a Subscriber and or an
`individual affiliated with the service provider. A user can
`also be an arbitrary third-party which Somehow interacts
`with the network system.
`With the present invention, users may extend or custom
`ize the network System according to their own particular
`needs. To accomplish this, a network System is augmented
`with an agent System. Capabilities of the network System are
`programmatically exposed by means of one or more
`Services, Service resources, and Service wrappers. Each
`Service individually, or the network System as a whole, can
`be extended by adding agents (created by users).
`Furthermore, the consumption of computational and Service
`resources are monitored within the network System, thus
`protecting the Subscribers and the Service provider from
`harm or misuse, whether intentional or inadvertent.
`Accordingly, the network System can admit agents pro
`grammed by users.
`In addition, the present invention contemplates that a third
`party may modify existing agents and create new agents in
`the case where Subscribers lack the desire or Sophistication
`to do So themselves. The third party can then make Such
`customized agents commercially available to Subscribers.
`According to an embodiment of the present invention, a
`network System includes a Service. An agent uses the Service
`on behalf of a principal. An agent Server mediates the use of
`the Service by the agent.
`
`IPR2025-00715
`DATABRICKS EX1023 Page 19
`
`
`
`US 6,839,733 B1
`
`15
`
`3
`According to another embodiment of the present
`invention, a network System includes a user interface which
`allows a user to interact with the network System. An agent
`Server is coupled to the user interface. The agent Server
`manages agent use of the network System. Furthermore, the
`agent Server in conjunction with the user interface is oper
`able to create or modify an agent in response to interaction
`by the user.
`According to yet another embodiment of the present
`invention, a method includes the following: admitting a user
`to a network System wherein at least one agent is operable
`to utilize a Service to perform a task for the user; and
`allowing the user to create or modify the agent within the
`network System.
`According to Still another embodiment of the present
`invention, a network System includes an agent Server which
`manages agent use of the network System. An agent is
`operable to utilize a Service within the network System. A
`Service wrapper, associated with the Service, cooperates with
`the agent Server to mediate interaction between the Service
`and the agent.
`According to yet another embodiment of the present
`invention, a method includes the following: allowing an
`agent to utilize a Service; and mediating interaction between
`the Service and the agent.
`A technical advantage of the present invention includes
`providing a network System (and a method of operation
`therefor) which is programmable by users (including
`Subscribers) according to their own particular needs. From
`the Standpoint of Subscribers, this facilitates the process of
`adding or deleting new Services or eXtending existing Ser
`vices and, from the Standpoint of a Service provider, this is
`beneficial in that human Software developerS and testers can
`be reduced or eliminated altogether with the automated
`System of the present invention.
`Other aspects and advantages of the present invention will
`become apparent from the following descriptions and
`accompanying drawings.
`
`4
`FIG. 10 is a flow diagram of an exemplary method for
`executing a Selection command for Selecting an agent or an
`agent template, according to an embodiment of the present
`invention;
`FIG. 11 is a flow diagram of an exemplary method for
`executing an agent template command, according to an
`embodiment of the present invention;
`FIG. 12 is a flow diagram of an exemplary method for
`executing an agent command, according to an embodiment
`of the present invention;
`FIG. 13 is a block diagram detailing the controlled
`consumption of Service and computational resources,
`according to an embodiment of the present invention;
`FIG. 14 is a flow diagram of an exemplary method for
`executing time Slices for an agent population, according to
`an embodiment of the present invention;
`FIG. 15 is a flow diagram of an exemplary method for
`executing a time Slice for an agent, according to an embodi
`ment of the present invention;
`FIG. 16 is a flow diagram of an exemplary method for
`executing an event handler, according to an embodiment of
`the present invention; and
`FIG. 17 is a flow diagram of an exemplary method for
`executing a Service instruction, according to an embodiment
`of the present invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`The preferred embodiments of the present invention and
`their advantages are best understood by referring to FIGS. 1
`through 17 of the drawings. Like numerals are used for like
`and corresponding parts of the various drawings.
`Turning first to the nomenclature of the Specification, the
`detailed description which follows is represented largely in
`terms of processes and Symbolic representations of opera
`tions performed by conventional computer components,
`Such as a central processing unit (CPU) or processor asso
`ciated with a general purpose computer System, memory
`Storage devices for the processor, and connected pixel
`oriented display devices. These operations include the
`manipulation of data bits by the processor and the mainte
`nance of these bits within data Structures resident in one or
`more of the memory Storage devices. Such data Structures
`impose a physical organization upon the collection of data
`bits Stored within computer memory and represent specific
`electrical or magnetic elements. These Symbolic represen
`tations are the means used by those skilled in the art of
`computer programming and computer construction to most
`effectively convey teachings and discoveries to others
`skilled in the art.
`For purposes of this discussion, a process, method,
`routine, or Sub-routine is generally considered to be a
`Sequence of computer-executed Steps leading to a desired
`result. These Steps generally require manipulations of physi
`cal quantities. Usually, although not necessarily, these quan
`tities take the form of electrical, magnetic, or optical signals
`capable of being Stored, transferred, combined, compared, or
`otherwise manipulated. It is conventional for those skilled in
`the art to refer to these signals as bits, values, elements,
`Symbols, characters, text, terms, numbers, records, files, or
`the like. It should be kept in mind, however, that these and
`Some other terms should be associated with appropriate
`physical quantities for computer operations, and that these
`terms are merely conventional labels applied to physical
`quantities that exist within and during operation of the
`computer.
`
`25
`
`35
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`For a more complete understanding of the present inven
`tion and for further features and advantages, reference is
`now made to the following description taken in conjunction
`with the accompanying drawings, in which:
`FIG. 1 illustrates a network system extensible by users,
`according to an embodiment of the present invention;
`FIG. 2 illustrates an exemplary computer-based System
`that can be used to implement the network System shown in
`FIG. 1;
`FIG. 3 illustrates details for a graphical user interface,
`according to an embodiment of the present invention;
`FIG. 4 illustrates details for a voice user interface, accord
`ing to an embodiment of the present invention;
`FIG. 5 illustrates details for an agent Server, according to
`an embodiment of the present invention;
`FIG. 6 illustrates details for a Service wrapper, according
`to an embodiment of the present invention;
`FIG. 7 illustrates details for specific exemplary service
`wrappers, Services, and Service resources,
`FIG. 8 illustrates details for an exemplary agent object,
`according to an embodiment of the present invention;
`FIG. 9 is a flow diagram of an exemplary method for a
`user Session, according to an embodiment of the present
`invention;
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`IPR2025-00715
`DATABRICKS EX1023 Page 20
`
`
`
`S
`It should also be understood that manipulations within the
`computer are often referred to in terms Such as adding,
`comparing, moving, or the like, which are often associated
`with manual operations performed by a human operator. It
`must be understood that no involvement of the humnan
`operator may be necessary, or even desirable, in the present
`invention. The operations described herein are machine
`operations performed in conjunction with the human opera
`tor or user that interacts with the computer or computers.
`In addition, it should be understood that the programs,
`processes, methods, and the like, described herein are but an
`exemplary implementation of the present invention and are
`not related, or limited, to any particular computer, apparatus,
`or computer language. Rather, various types of general
`purpose computing machines or devices may be used with
`programs constructed in accordance with the teachings
`described herein. Similarly, it may prove advantageous to
`construct a specialized apparatus to perform the method
`StepS described herein by way of dedicated computer Sys
`tems with hard-wired logic or programs Stored in non
`volatile memory, such as read-only memory (ROM).
`Network System Overview
`Referring now to the drawings, FIG. 1 illustrates a net
`work System 2 extensible by users, according to an embodi
`ment of the present invention. To achieve this, network
`System 2 may incorporate an agent System comprising an
`agent Server and one or more agents, as described below in
`more detail. An exemplary construction for an agent System
`is taught by U.S. Pat. No. 5,603,031, issued to the Assignee
`of the present invention, the text of which is incorporated
`herein by reference.
`It is contemplated that network system 2 may be
`maintained, managed, and/or operated by any provider of
`technological Services, Such as electronic mail (e-mail),
`voice mail, electronic organizer (for appointments and/or
`addresses), on-line data retrieval (for, e.g., periodicals and
`Stock quotes), and the like. These Services are offered and/or
`provided to one or more users who may be considered to be
`“subscribers.” Each of the provider and the subscribers can
`be an individual, a business, a governmental department or
`agency, an academic institution, an organization, or the like,
`which provides or receives, respectively, any form of tech
`nological Service.
`The following primarily describes how network system 2
`and its associated methods of operation can be used to
`provide information technology Services over a telephony
`System. Furthermore, a model of a network System provid
`ing telephony Services is discussed in detail in microfiche
`Appendix A, in accordance with one embodiment of the
`present invention. It should be understood, however, that the
`present invention is not So limited. That is, the teachings of
`the present invention generally encompass the provision of
`Services by agents to one or more users in an environment
`which can be extended by the users, for example, by
`programming additional agents.
`Network System 2 includes a programmable functionality
`component 4 and a hard-wired functionality component 6. In
`general, programmable functionality component 4 and hard
`wired functionality component 6 each functions to provide
`and/or Support the provision of technological Services. Hard
`wired functionality component 6 is implemented Substan
`tially with a number of “hard-wired’ elements, and thus, its
`functionality is modified or changed primarily by connecting
`or re-connecting the same or additional elements. Program
`mable functionality component 4 is implemented with an
`agent System and, as Such, its functionality can be pro
`grammed (for example, by Subscribers or third parties), as
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,839,733 B1
`
`6
`described below in more detail. Computer code for an
`exemplary agent System implementing a programmable
`functionality component 4 is provided in microfiche Appen
`dix B, in accordance with an embodiment of the present
`invention.
`Graphical User Interface
`Network System 2 includes a graphical user interface
`(GUI) 12. Graphical user interface 12 may be implemented
`and/or Supported by a web browser-i.e., a client applica
`tion that resides on (or is downloaded to) an electronic user
`device, Such as a desktop computer. Any of a variety of
`browsers are available, such as NETSCAPE NAVIGATOR,
`MICROSOFT INTERNET EXPLORER, and others. The
`web browser can be a forms-capable browser which is able
`to interpret Hyper Text Markup Language (HTML) code
`which provides forms including fill-in text boxes, option
`buttons, drop-down list boxes, radio buttons, and the like.
`Graphical user interface 12 allows a user to interact with
`network System 2 via a communication line, which may be
`any type of communication link capable of Supporting data
`transfer. For example, the communication line may include
`any combination of an Integrated Services Digital Network
`(“ISDN) communication line, a hard-wired line or a tele
`phone line. This enables communication via the intercon
`nection of computers popularly known as the “Internet,”
`using any Suitable protocol, Such as, Transmission Control
`Protocol/Internet Protocol (TCP/IP), Internetwork Packet
`eXchange/Sequence Packet eXchange (IPX/SPX), or
`AppleTalk.
`Graphical user interface 12-comprising a web browser
`and a Web Server-manages the connection between the user
`device and network system 2, supports the transfer of data
`therebetween, and interprets and displays the data. For
`example, graphical user interface 12 enables the download
`ing of one or more web pages (Serving as graphical inter
`faces into network System 2) to the user device. The user
`device may include one or more Suitable input devices, Such
`as a keyboard, key pad, touch Screen, input port, pointing
`device (e.g. mouse), and/or other device that can accept
`information, and one or more Suitable output devices, Such
`as a computer display, output port, Speaker, or other device
`for conveying information including digital data, Visual
`information, or audio information.
`Graphical user interface 12 may comprise an agent area
`14 which is dedicated to the activities of creating new agents
`and manipulating existing agents, as described herein. For
`example, in one embodiment, an "agent' icon is added to a
`Screen menu; the interface Screen which is accessed by
`"clicking on the agent icon constitutes the agent area.
`Voice User Interface
`A voice user interface (VUI) 16 allows a user to interact
`with network System 2 via a telephone line, which can be an
`analog telephone line, a digital T1 line, a digital T3 line, or
`an OC3 telephony feed. In contrast to graphical user inter
`face 12, Voice user interface 16 does not require that a user
`have access to an electronic interface, Such as a computer.
`Rather, voice user interface 16 interprets the vocalized
`expressions of a user So that the user may issue commands
`and other input into network System 2. Voice user interface
`16 may also issue audible output in the form of Speech that
`is understandable by a user. Such speech can be Synthesized
`or previously recorded, as described below in more detail.
`Voice user interface 16 may comprise Speech recognition
`and Speech Synthesis Software and/or hardware Stored in or
`implemented as a Suitable memory device and run on a
`Suitable processor. Such speech recognition Software allows
`network System 2 to recognize vocalized speech and may
`
`IPR2025-00715
`DATABRICKS EX1023 Page 21
`
`
`
`US 6,839,733 B1
`
`15
`
`25
`
`35
`
`40
`
`7
`include grammar Software that creates or Selects a speech
`recognition grammar for determining which Speech should
`be recognized. Commercially available Speech recognition
`Systems with recognition grammars are provided by ASR
`(Automatic Speech Recognition) technology vendors Such
`as the following: Nuance Corporation of Menlo Park, Calif.;
`Dragon Systems of Newton, Mass.; IBM of Austin, Tex.;
`Kurzweil Applied Intelligence of Waltham, Mass.; Lernout
`Hauspie Speech Products of Burlington, Mass.; and
`PureSpeech, Inc. of Cambridge, Mass. Recognition gram
`mars are written specifying what Sentences and phrases are
`to be recognized by the Voice user interface 16. For example,
`a recognition grammar can be generated by a computer
`Scientist or a computational linguist or a linguist. The Speech
`Synthesis Software Synthesizes human speech and may
`include Speech markup Software for determining the Speech
`to be Synthesized.
`In addition to Speech Synthesis Software and/or hardware,
`Voice user interface 16 may include Speech play-back capa
`bilities for playing back previously recorded human speech.
`Exemplary play-back devices include a tape player, a laser
`disc player, etc. Here, an actual person (preferably an actor)
`recites various Statements which may desirably be issued
`during an interactive Session with a user of network System
`2. The person's voice is recorded as the recitations are made.
`The recordings are Separated into discrete messages, each
`message comprising one or more Statements that would
`desirably be issued in a particular context (e.g., greeting,
`farewell, requesting instructions, receiving instructions,
`etc.). Afterwards, when a user interacts with network System
`2, the recorded messages are played back to the user when
`the proper context arises. In one embodiment, such speech
`play-back capabilities can be used to implement a voice user
`interface with personality, as taught by U.S. patent applica
`tion Ser. No. 09/071,717, entitled “Voice User Interface
`With Personality,” the text of which is incorporated herein
`by reference.
`Voice user interface 16 may also comprise hardware
`and/or Software Supporting the interpretation and issuance of
`dual tone multiple frequency (DTMF) commands so that a
`user may alternatively interact with network System 2 using
`a telephone key pad.
`Voice user interface 16 may comprise an agent area 18
`which, like agent area 14 of graphical user interface 12, is
`dedicated to the activities of creating new agents and
`manipulating existing agents. In one embodiment, agent area
`18 of voice user interface 16 can be implemented by
`translating the agent area 14 of graphical user interface 12
`into Voice.
`Agent Server
`Programmable functionality component 4 includes an
`agent Server 20. Agent Server 20 is in communication with
`graphical user interface 12 and Voice user interface 16