`
`US007949752B2
`
`c12) United States Patent
`Lange et al.
`
`US 7,949,752 B2
`
`(10) Patent No.:
`(45) Date of Patent:
`May 24,2011
`
`(54) NETWORK SYSTEM EXTENSIBLE BY
`USERS
`
`(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:
`Ben Franklin Patent Holding LLC,
`
`Los Altos, CA (US)
`
`4,716,583 A 12/1987 Groner eta!.
`1111990 Perine et al.
`4,974,254 A
`5,001,745 A
`3/1991 Pollock
`5,079,695 A
`111992 Dysart eta!.
`5,093,914 A
`3/1992 Coplien et a!.
`5,129,083 A
`7/1992 Cutler eta!.
`7/1992 Kelly, Jr. et al.
`5,129,084 A
`5,136,634 A
`
`8/1992 Rae eta!.
`5,187,790 A
`2/1993 East eta!.
`5,206,951 A
`4/1993 Khoyi eta!.
`(Continued)
`
`( *) Notice: Subject to any disclaimer, the term of this
`
`patent is extended or adjusted under 35
`
`U.S.C. 154(b) by 1390 days.
`
`EP
`
`FOREIGN PATENT DOCUMENTS
`0 495310 A2
`7/1992
`(Continued)
`
`(21 ) Appl. No.: 10/995,159
`
`(22) Filed: Nov. 24, 2004
`
`(65)
`
`
`
`Prior Publication Data
`
`US 2005/0091305 Al Apr. 28, 2005
`
`OTHER PUBLICATIONS
`
`Jonathan Dale, "A Mobile Agent Architecture to Support Distributed
`
`Resource Information Management", University of Southampton,
`
`Department of Electronics and Computer Science, 79 pages, Jun. 23,
`1998.
`
`(Continued)
`
`Related U.S. Application Data
`
`Primary Examiner-Douglas
`B Blair
`(74) Attorney, Agent, or Firm-Sterne,
`Kessler,
`(63) Continuation of application No. 09/71 2,71 2, filed on
`
`
`& Fox P.L.L.C.
`Goldstein
`
`Nov. 1 4, 2000, now Pat. No. 6,839,733, which is a
`
`
`
`continuation of application No. 09/178,366, filed on
`(57)
`
`Oct. 23, 1998, now Pat. No. 6,163,794.
`
`ABSTRACT
`
`In one aspect, a network system includes a user interface
`
`
`(51) Int. Cl.
`
`
`
`
`
`which allows a user to interact with the network system. An
`G06F 151173 (2006.01)
`
`
`
`
`agent server is coupled to the user interface. The agent server
`G06F 15116
`(2006.01)
`
`
`manages the operation of the network system. Furthermore,
`
`
`(52) U.S. Cl. ........................................ 709/226; 709/202
`
`
`the agent server in conjunction with the user interface is
`
`
`operable to create or modify an agent in response to interac
`
`
`(58) Field of Classification Search . ... ... ... ... .. ... 709/202,
`
`
`tion by the user. In another aspect, a network system includes
`709/226
`
`
`an agent server which manages the operation of the network
`See application file for complete search history.
`
`
`
`
`system. An agent is operable to utilize a service within the
`
`
`
`
`network system. A service wrapper, associated with the ser
`
`vice, cooperates with the agent server to mediate interaction
`
`between the service and the agent.
`
`
`
`
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4,575,797 A
`3/1986 Gruner et a!.
`3/1987 Barnett et al.
`4,653,100 A
`
`34 Claims, 17 Drawing Sheets
`
`Hard� Wired
`Functionality
`
`Page 1 of 36
`
`HCC INSURANCE
`HOLDINGS, INC.
`Exhibit 1001
`
`
`
`US 7,949,752
`B 2
`Page 2
`
`707/10
`
`709/317
`704/275
`370/352
`
`U.S. PATENT DOCUMENTS
`5,261,080 A 1111993 Khoyi et al.
`5,297,283 A
`3/1994 Kelly, Jr. et a!.
`5,303,375 A
`
`4/1994 Collins eta!.
`5,303,379 A
`4/1994 Khoyi et al.
`5,307,490 A
`4/1994 Davidson et al.
`5,321,841 A 6/1994 East eta!.
`5,327,559 A
`7/1994 Priven eta!.
`5,339,430 A
`8/1994 Lundin eta!.
`5,351,276 A
`
`9/1994 Doll, Jr. et a!.
`5,367,454 A 1111994 Kawamoto et a!.
`5,377,350 A
`12/1994 Skinner
`5,379,426 A
`111995 Foss eta!.
`5,396,630 A
`3/1995 Banda et al.
`5,414,852 A
`
`5/1995 Kramer et a!.
`5,421,013 A
`5/1995 Smith
`5,421,015 A
`5/1995 Khoyi et al.
`5,446,842 A
`8/1995 Schaeffer et al.
`5,446,901 A
`
`8/1995 Owicki et al.
`5,452,433 A
`
`9/1995 Nihart et al.
`5,500,920 A
`3/1996 Kupiec
`5,546,584 A
`8/1996 Lundin eta!.
`5,559,927 A
`9/1996 Clynes
`5,603,031 A
`2/1997 White eta!.
`5,608,786 A
`3/1997 Gordon
`5,633,916 A * 5/1997 Goldhagen et al.
`5,636,325 A
`6/1997 Parrett
`5,655,081 A
`8/1997 Bonnell eta!.
`5,740,231 A * 4/1998 Cohn eta!.
`5,781,228 A * 7/1998 Sposato
`5,825,759 A 10/1998 Liu
`5,826,258 A 10/1998 Gupta eta!.
`5,860,064 A
`111999 Henton
`5,873,057 A
`2/1999 Eves eta!.
`5,890,123 A
`3/1999 Brown eta!.
`5,913,214 A
`6/1999 Madnick et a!.
`5,953,392 A
`9/1999 Rhie et al.
`5,963,949 A 10/1999 Gupta eta!.
`5,974,441 A 10/1999 Rogers eta!.
`5,983,190 A 1111999 Trower, II eta!.
`5,983,267 A 1111999 Shklar et al.
`5,987,415 A 1111999 Breese eta!.
`6,016,393 A
`
`112000 White eta!.
`6,016,520 A
`112000 Facq eta!.
`6,031,895 A * 212000 Cohn eta!.
`6,049,819 A * 4/2000 Buckle eta!.
`6,067,568 A
`5/2000 Li eta!.
`6,144,938 A 1112000 Surace eta!.
`6,163,794 A
`12/2000 Lange eta!.
`6,247,056 B1 * 6/2001 Chou eta!.
`6,269,336 B1 * 7/2001 Ladd eta!.
`6,285,977 B1 9/2001 Miyazaki
`6,363,411 B1
`3/2002 Dugan eta!.
`6,366,650 B1
`4/2002 Rhie et al.
`6,457,063 B1 9/2002 Chintalapati et a!.
`6,539,359 B1 * 3/2003 Ladd eta!.
`6,657,990 B1 * 12/2003 Dilip eta!.
`6,839,733 B1
`112005 Lange eta!.
`7,043,532 B1 * 5/2006 Humpleman et a!.
`7,305,472 B2 * 12/2007 Mighdoll et al.
`2002/0199036 A1 * 12/2002 Arnold eta!.
`2005/0027870 A1 * 2/2005 Trebes
`2009/0132805 A1 * 5/2009 Ginter et al.
`2010/0332992 A1 * 12/2010 Donoho eta!.
`
`D. Tsichritzis, et a!., "KNOs: Knowledge Acquisition, Dissemina
`
`
`
`
`tion, and Manipulation Objects," ACM Transactions on Office Infor
`mation Systems, vol. 5, No. 1, Jan. 1987, pp. 96-112.
`
`
`C. Daniel Wolfson, eta!., "Intelligent Routers," The 9th International
`
`Conference on Distributed Computing Systems, IEEE Computer
`Society Press, 1989, pp. 371-376.
`S Gibbs, " Class Management for Software Communities", Commu
`
`
`
`nications of the Association for Computing Machinery, vol. 33, No. 9,
`Sep. 1, 1990, pp. 90-103, XP 000162393.
`K. Nielsen, et a!., "Inter-Processor Communication and ADA in
`
`
`
`Distributed Real-Time Systems", Computer Communications, vol.
`
`13, No.8, Oct. 1, 1990, pp. 451-459, XP 000161020.
`
`
`W. Gentleman, et a!., "Administrators and Multiprocessor Rendez
`
`vous Mechanisms", Software Practice & Experience, vol. 22, No. 1.
`
`Jan. 1992 Chichester GB.
`G. Welling, et a!. "An Architecture of a Threaded Many-to-Many
`
`Remote Procedure Call", Proceedings of the International Confer
`
`ence on Distributed Compution Systems, Yokohama, Jun. 9-12, 1992
`
`No. Conf. 12, Jun. 9, 1992, Institute of Electrical and Electronics
`
`Engineers, pp. 504-511, XP 000341046.
`U. Ramachandran, et a!. "An Implementation of Distributed Shared
`
`
`Memory", Software Practice & Experience, vol. 21, No. 5, May 1,
`1991, pp. 443-464, XP 000297178.
`395/683
`H. Bruggemann, "Rights in an Object-Oriented Environment", Data
`
`
`base Security V. Status and Prospects
`Results of the IFIP WG 11.3
`379/88.17
`
`Workshop, Nov. 4, 1991, Shepherdstown, USA.
`
`M. Rottman and D. Thompson, "The Amcad Real-Time Multipro
`709/202
`
`cessor Operating System", Proceedings of the IEEE 1989 National
`379/88.22
`
`Aerospace and Electronics Conference NAECON 1989, pp. 1813-
`725/32
`370/331
`1818, (1989).
`707/4
`A. Corradi, L. Leonardi and M. Zannini, "Distributed Environments
`
`Based on Objects: Upgrading Smalltalk Toward Distribution", Ninth
`Annual International Phoenix Conference on Computers and Com
`
`munications, Mar. 21-23, 1990 Conference Proceedings, IEEE Com
`puter Society, pp. 332-339, (1990).
`J. Padget, R. Bradford and J. Fitch, " Concurrent Object-Oriented
`707/100
`
`Progranuning in LISP", Computer Journal, vol. 34, No.4, Aug. 1991,
`709/200
`pp. 311-319, (1991).
`704/276
`L. Gunaseelan and R. LeBlanc, Jr., "Distributed Eiffel: A Language
`
`
`709/217
`
`for Progranuning Multi-Granular Distributed Objects on the Clouds
`
`Operating System", Proceedings of the 1992 International Confer
`710/33
`ence on Computer Languages, IEEE Computer Society, pp. 331-340
`379/88.13
`(1992).
`709/202
`K. Ogata, S. Kurihara, M. Inari and N. Doi, "The Design and Imple
`709/223
`mentation of HoME", ACM Sigplan '92 Conference on Program
`ming Language Design and Implementation, San Francisco, CA Jun.
`709/202
`17-19, 1992, ACM Sigplan Notices, vol. 27, No.7, pp. 44-54, (Jul.
`709/229
`1992).
`704/270
`James W. Stamos and David K. Gifford, "Remote Evaluation", ACM
`
`703/26
`
`Transctions on Progranuning Languages and Systems, vol. 12, No.4,
`709/202
`Oct. 1990, pp. 537-565.
`James W. Stamos and David K. Gifford, "Implementing Remote
`
`Evaluation", IEEE Transactions on Software Engineering, vol. 16,
`No.7, Jul. 1990, pp. 710-722.
`Casais, Eduardo, "An Object Oriented System Implementing
`
`KNOs", Proceedings of the Conference on Office Information Sys
`709/208
`tems, vol. 9, Nos. 2-3, pp. 284-290 (1988).
`709/226
`Kahn, Robert E., and Cerf, Vinton G., "The Digital Library Project:
`709/330
`vol. 1: The World ofKnowbots"; Corporation of National Research
`709/227
`Initiatives (Draft) (1988).
`713/150
`
`Borenstein, Nathaniel S., "Secure and Portable Active Messaging: A
`715/736
`
`New Platform for Distributed Applications and Cooperative Work,"
`was to be submitted to Communications of the ACM for publication
`(date unknown), 1991.
`Curtis, Pavel, "LambdaMOO Progranuner's Manual", retrieved as
`
`/lambda/moo/ ganuna!ProgranunersManual.texinfo from the
`Internet network (Aug. 1991).
`
`Hutchinson, Norman C.; Raj, Rajendra K.; Black, Andrew P.; Levy,
`Henry M.; and Jul, Eric, "The Emerald Progranuning Language
`Report", Technical Report 87-10-07, Department of Computer Sci
`
`ence, University of Washington (Oct. 1987).
`
`Jul, Eric; Levy, Henry; Hutchinson, Norman; and Black, Andrew,
`JP Morgenthal, "XML Agents," NC.Focus website (www.ncfocus.
`
`"Fine-Grained Mobility in the Emerald System", ACM Transactions
`com), 1998, pp. 1-4.
`on Computer Systems, vol. 6, No. 1, pp. 109-133 (Feb. 1988).
`
`EP
`EP
`EP
`wo
`wo
`wo
`
`FOREIGN PATENT DOCUMENTS
`0 495319 A2
`7/1992
`0 546809 A2
`6/1993
`0 697780 A2 2/1996
`WO 91110191 A1 7/1991
`WO 96/11542 A2 4/1996
`WO 97/33416 A1 9/1997
`
`OTHER PUBLICATIONS
`
`Page 2 of 36
`
`
`
`US 7,949,752
`B 2
`Page 3
`
`Rashid, Richard F., and Robertson, George G., "Accent: A Connnu
`
`
`Novick et a!., "A multimodal browser for the World-Wide Web",
`undated, 199 5.
`nication Oriented Network Operating System Kernel", ACM docu
`House, "Spoken -language Access to Multimedia (SLAM)", Master's
`
`ment No. 0-89791-062-1-12/81-0064, pp. 64-75 (1981).
`
`Thesis, Oregon Graduate Institute, undated, 1995.
`
`Butterfield, DavidA., and Popek, Gerald J., "Network Tasking in the
`
`Groner, "The telephone-the ultimate terminal", Telphony, pp.
`
`Locus Distributed Unix System", Locus Computing Corporation,
`34-40, Jun. 1984.
`
`Santa Monica, California, pp. 62-71 (date unknown), 1984.
`Arita et a!., "The Voice Browser-an Archetype-Based Dialog
`Douglis, Fred, "Process Migration in the Sprite Operating System",
`
`Model", NEC Res& Develop., vol. 36 No.4. pp. 554-561, Oct. 1995.
`Report No. UCB/CSD 87/343, Computer Science Division (EECS),
`
`Hemphill eta!., "(Surfing the Web by Voice", ACM 0-89791-751-0-
`
`University of California, Berkeley (Feb. 1987).
`95/11 pp. 215-222, Nov. 1995.
`.
`Chin, John P., "Personality Trait Attributions to Voice Mrul User
`
`Powell, Michael L., and Miller, Burton P., "Process Migration in
`
`
`Interfaces", Proceedings of the 1996 Conference on Human Factors
`
`DEMOS/MP", ACM document No. 0-89791-115-6/83/010/0110 pp.
`
`in Computing Systems, CHI 96, Online! Apr. 13-18, 1996, pp. 248-
`110-119 (1983).
`
`
`249, XP002113878 Vancouver, BC, CA; retrieved from the Internet
`Theimer, Marvin M.; Lantz, Keith A.; and Cheriton, David R.,
`on 1999-09-96.
`
`
`"Preemptable Remote Execution Facilities for the V-System", ACM
`"Method for Appropriately Interfacing to User Characteristics in a
`
`
`
`document No. 0-89791-174-1-12/85-0002 pp. 2-12 (1985).
`
`Voice Interface System," IBM Technical Disclosure Bulletin, vol. 37,
`
`Borenstein, Nathaniel S., " Computational Mail as Network Infra
`No.3, pp. 307-308, XP000441484, New York, Mar. 1994.
`
`
`structure for Computer-Supported Cooperative Work,"CSCW 92
`Database Inspec 'Online' Institute of Electrical Engineers,
`
`Proceedings, pp. 67-74 (Nov. 1992).
`
`Stevenage, GB, Trainer et a!.: "The inclusion of personality trait
`
`Makoto, "TNG PhoneShell (part 2). A proposal and an implimenta
`based adaptive interfaces into computer based learning and training
`
`
`tion of internet access method with telephones and facsimilies",
`
`environments," Database accession No. 5193879 XP992113879,
`JICST abstract 96A0053311, May 1995.
`
`
`Abstract and Proceedings of the Thirty-First International Matador
`PwWebSpeak Overview [online]. The Productivity Works, Sep. 4,
`
`
`
`
`Conference, Apr. 20-21, 1995, pp. 195-200, Manchester, UK ISBN:
`
`
`1996, [retrieved on Apr. 15, 1997]. Retrieved on the Internet <URL:
`0-333-64086-1.
`http://www . prodworks.corn/pwww ovw.htm.
`Reeves, B. and Nass, C., The Media Equation: How People Treat
`Hakkinen et a!., "pwWebSpeak: User Interface Design of an Acces
`
`
`Computers, Television, and New Media Like Real People and Places,
`sible Web Browser", 1996.
`
`pp. 89-108, ISBN No. 1-57586-052-X, CSLI Publications (1996).
`'"WebSpeak' opens cyberspace to visually impaired," The Times,
`Dunlap, C. AT&T: Internet can talk, too. Computer Reseller News,
`Trenton, NJ, 3 pages (Feb. 12, 1996).
`
`
`Nov. 11, 1994, Iss. 607; p. 12 [retrieved on 200-07-06]. REtrieved
`Christodoulakis et al. "The Multimedia Object Presentation Manager
`
`
`from the Internet <URL: http:/ /proquest.umi.corn/-22 .
`
`of MINOS: A synnnetric approach", SIGMOD vol. 15 No. 2 pp.
`WebSpeak Browser Guides Blind on to Internet. The Sunday Times,
`295-310, Jun. 1986.
`
`
`
`Feb. 25, 1996, [retrieved on 1997-04-97]. Retrieved from the Internet
`Z ue, "Navigating the Information Superhighway Using Spoken Lan
`<URL: http://www .prodworks.com/st960225.htrn>.
`guage Interfaces" IEEE Expert pp. 39-43, Oct. 1995.
`Aguilar, R. Visually Impaired Get Talking Browser. News.
`
`Caldwell eta!., "Project Echo-Telephonic Browser for the WWW",
`
`
`com[ online], Feb. 12, 1996, [retrieved on Feb. 12, 1997}. Retrieved
`
`<http:www .cc.gatech.edu/people/home/tgay/echo.html> Apr. 15,
`from the Internet <URL: http://www .news.com/News/Itern/
`1997, undated.
`0,4,642,00.htrn>.
`James, "Presenting HTML Structure in Audio: User Satisfaction with
`
`
`
`"New Product Makes the Internet World Wide Web Usable by the
`
`
`Audio Hypertext", <http:/ /www -pcd.stanford.edu/.about.fjames/re
`
`
`Visually Impaired," at <http:/ /www .prodworks.com/pwwovw.
`
`
`ports/pilot-tr/techrep-pilot. htrnl> Apr. 14, 1997, undated.
`
`htrnl>, pwWebSpeak Press Release, The Productivity Works, Inc., 2
`
`James, "AHA:Audio HTML Access" <http://www -pcd.stanford.
`pages (last updated Feb. 10, 1996).
`edu/.about.fjames/aha/www 6/PAPER296.htmll Apr. 14, 1997>,
`undated.
`
`* cited by examiner
`
`Page 3 of 36
`
`
`
`Voice User
`
`Interface 16 J2
`
`12
`
`14 18
`
`6
`
`21
`
`--------
`
`- ·---------
`
`Computational
`Resources
`
`Agent Server
`
`Hard-Wired
`Functionality
`
`26
`
`4
`_ _i_---
`22
`
`'
`
`22
`
`22
`
`22
`
`I
`
`I
`I
`
`1
`
`\.
`
`1 I -'-1
`24 1
`I Servir.e 1----24
`24 � Service I
`I Service I
`I Servir.e I
`251 l (_
`1 [_
`t
`I t I_ Service I
`25 J Service I
`Service I
`Service l25
`
`FIG. 1
`
`
`
`'->J
`
`_
`
`�
`00 •
`�
`� �
`�
`= �
`
`� � �
`
`N
`� ...
`N
`0 .... ....
`
`rFJ
`=-('D
`('D .....
`....
`0 .....
`.... -....l
`
`d rJl
`-....l
`\c �
`\C
`� u.
`N
`= N
`
`Page 4 of 36
`
`
`
`U.S. Patent
`May 24,2011 Sheet 2 of 17
`
`
`
`US 7,949,752 B2
`
`0
`
`(0
`0
`0
`
`C\1
`0
`0
`
`0
`0
`0
`
`C\J
`(9
`LL
`
`(0
`0
`0
`T""
`
`Page 5 of 36
`
`
`
`U.S. Patent May 24,2011 Sheet 3 of 17
`
`
`
`US 7,949,752 B2
`
`: Graphical User Interface
`
`___
`
`_
`
`____________
`
`I
`
`12
`
`l __
`
`_____
`
`l
`I
`I
`I
`I
`I
`Web Browser (in client) � 64 1
`
`Internet � 68
`
`Web Server (in provider)
`
`�---- 66
`
`Web Pages
`
`Agent Area t------------L-----7 0 I
`
`------------
`
`14
`
`� ----
`
`-------
`
`I
`1
`
`To Rest of
`Network System
`
`FIG. 3
`
`Page 6 of 36
`
`
`
`U.S. Patent May 24,2011 Sheet 4 of 17
`
`
`
`US 7,949,752 B2
`
`___________________
`Voice User Interface
`
`16
`
`__ { __ ]
`
`Telephone Instrument (User's) r--------7 2
`
`Telephone Line � 76
`
`Telephone Server (in provider)
`� 74 I
`
`Grammar, Prompts, etc.
`
`Agent Area
`
`..._,___-
`
`78
`
`I
`
`18
`
`------------
`
`� ---------
`
`To Rest of
`Network System
`
`FIG. 4
`
`Page 7 of 36
`
`
`
`U.S. Patent
`May 24,2011
`
`Sheet 5 of 17
`
`
`
`US 7,949,752 B2
`
`- .......
`c 0
`..............
`Q) .�
`(J) .0
`c C,)
`<(Q
`<I) .�
`(J) .0
`<(Q
`
`0
`C\J
`"'
`
`:J >
`E 0 ......
`lL -
`�
`
`:J
`(9
`E 0 .......
`lL -
`�
`
`Q) c
`(J)
`c
`w
`
`.......
`Q)
`::J
`"0
`Q)
`..c
`C,)
`U)
`
`Q) C,)
`·:;: Ul
`,_ ......
`Q) Q)
`U) 0..
`E 0..
`rn
`0 .....
`tts -
`�
`
`LO
`C)
`LL
`
`'<:j-'<:j-
`
`,_
`
`Q) > ,_
`<I)
`U) ......
`c
`<I)
`0>
`<(
`
`----
`
`-
`
`-
`
`-
`
`-
`
`-----------
`
`------
`
`�
`
`Page 8 of 36
`
`
`
`To/From Agent Server ;26
`
`From Agent Server
`
`To Agent Server
`
`,
`·I
`I
`I
`
`--
`
`- - --
`
`- -------
`
`- -------
`
`� -------
`
`52 �
`
`48
`
`___ £!_
`54 �
`
`__
`
`50 �
`
`- - - - - - - - -..J,. - ---
`Service Wrapper
`
`,-
`
`Converter
`
`Agent Server
`to
`Service
`
`Service
`to
`Agent Server
`
`Monitor
`
`I
`I _______
`
`,_ - - - - -
`
`-. - - - -
`
`,_ - - - ---
`
`�
`00 •
`�
`� �
`�
`= �
`
`�
`� N
`.j;o. �
`N
`0 ..... .....
`
`rFJ
` 0\
`0 ..... ..... -....l
`
` a
`
`=('D
`
`------
`
`- ---
`
`� -----------
`
`- - - --
`
`- - ----
`
`- - - -
`
`-·-------
`
`To Service
`
`From Service
`
`To/From Service
`
`FIG. 6
`
`I
`J
`
`d rJl
`-....l
`\c �
`\C
`� U'l
`N
`= N
`
`Page 9 of 36
`
`
`
`Web Server
`Service Wrapper
`
`80
`
`Web Browser
`Service Wrapper
`
`85
`
`Call Processing
`r-90
`Service Wrapper
`
`Web Server Service
`(and resources)
`
`/web Pag�s� 81
`
`\
`84
`Internet
`------
`r------
`�83
`
`1-
`Web Browser (in client)
`
`82
`
`Web Browser Service
`(and resources)
`
`Call Processing Service
`
`(and resources)
`
`86
`
`Grammars,
`Prompts, etc.
`
`1--'-91
`
`1 \
`94
`Telephone Line
`
`1--'--93
`
`1--'----92
`Telephone Instrument
`
`Internet
`-- ----
`- - ----
`r-- 88
`
`·
`
`Web Server (in website)
`87
`
`I-/web Pagesh
`
`89
`FIG. 7
`
`�
`00 •
`�
`� �
`�
`= �
`
`�
`� N
`� ...
`N
`0 .... ....
`
`rFJ
`=('D
`('D .....
`
`-....l 0 ..... .... -....l
`
`d rJl
`"'--...1
`\C
`�
`"'\C
`--...1 u.
`N
`= N
`
`Page 10 of 36
`
`
`
`U.S. Patent May 24,2011 Sheet 8 of 17
`
`US 7,949,752
`B2
`
`Agent Object
`
`46
`
`)
`
`Permissions
`
`� 56
`
`Event Handlers
`
`� 58
`
`Datastore
`
`� 60
`
`Pending Event Queue
`
`� 62
`
`FIG. 8
`
`Page 11 of 36
`
`
`
`U.S. Patent May 24,2011 Sheet 9 of 17
`
`
`
`US 7,949,752 B2
`
`Admit subscriber 102
`to Ul (logon)
`
`Admit subscriber
`to U I agent area
`
`�
`
`!100
`104
`Accept Command "C" 106
`
`from Subscriber
`
`
`
`Selection Command
`
`Execute C if a --------- 1 08
`
`Execute C if a
`Template Command
`
`110
`
`Execute C if an
`Agent Command
`
`112
`
`�-
`
`Yes
`
`No
`
`Excuse Subscriber
`from U I agent area
`
`116
`
`Excuse Subscriber
`_____ 1 18
`from Ul (logoff)
`
`FIG. 9
`
`Page 12 of 36
`
`
`
`U.S. Patent May 24,2011 Sheet 10 of 17
`
`
`
`US 7,949,752 B2
`
`202
`
`204
`
`Is C Select
`Template?
`
`Yes
`
`Note
`template (T)
`selected
`
`No
`
`206
`
`Is C Select
`Agent?
`
`Yes
`
`208
`
`Note
`agent (A)
`selected
`
`No
`
`FIG. 10
`
`Page 13 of 36
`
`
`
`306
`,;
`
`300
`
`j
`
`304
`
`Store blank�
`
`template (T) Select T
`
`310
`
`312
`
`314
`
`LoadT H copy (T')
`
`Store
`
`Select T'
`
`I
`H I ·j � ...
`
`•
`
`�
`00
`�
`� �
`�
`=
`�
`
`� �
`�
`N
`N
`0 .... ....
`
`Yes -j
`
`Yes -I
`
`'
`
`-
`
`"'0
`o2 c ()
`(fJ Q)
`- Q) � (fJ
`Q) --
`..cr-................
`:!::: Q)
`............
`0 co
`l::::O.
`wE Q) ......
`
`No
`
`318
`,;
`LoadT -
`
`320
`,;
`Allow
`'-+
`changes toT
`
`322
`,;
`
`StoreT
`
`Yes-
`
`Yes _j
`
`326
`,;
`DeselectT H Delete T
`
`328
`
`FIG. 11
`
`I
`
`I
`
`rFJ
`=-('D
`('D .....
`.... ....
`0 .....
`....
`-....l
`
`d rJl
`-....l
`\c �
`\C
`� u.
`N
`= N
`
`Page 14 of 36
`
`
`
`402
`
`404
`
`Yes
`
`Load in T
`
`406
`�
`Store
`new agent (A)
`
`412
`_.)
`
`414
`_.)
`
`Yes
`
`Load A
`
`Suspend A
`
`Allow
`changes to A
`
`Resume A
`
`418
`
`Store A
`�
`420
`
`424
`c
`Deselect A
`
`w
`
`426
`�
`Delete A
`
`No
`
`FIG. 12
`
`408 j � �
`
`400
`
`�
`00
`�
`
`•
`
`�
`=
`�
`
`�
`
`Select A
`
`416
`
`�
`�
`� N
`N 0 .... ....
`
`� ...
`
`rFJ
`=-('D
`('D .....
`.... N 0 .....
`
`....
`-....l
`
`d rJl
`"'--...1
`\C
`�
`"'\C
`-.....1
`u.
`N
`= N
`
`I
`
`I
`
`o2 c u J U) Q)
`��0
`I mw�
`" -/
`I
`No I
`422 (
`Yes�
`
`"C
`
`..c ,.-..
`
`- Q) � U) Q) ,.-..
`.cl-................
`� Q)
`............
`0 ctl
`t: 0..
`wE Q) ......
`o"O c Q) -
`U) u - Q) Q)-...... Q)
`;$ ,_ -0 c ...... Q)
`,_ en
`w co
`
`'-(
`
`
`
`Page 15 of 36
`
`
`
`U.S. Patent May 24,2011 Sheet 13 of 17
`
`
`
`US 7,949,752 B2
`
`-------------------
`
`------------
`
`-
`
`56
`of Agent (A) l Permissions
`
`1
`66j
`1
`I
`Computational 1
`permissions
`held by A
`
`64j
`I 64 ---""l_
`I
`1 Service permissions Service permissions
`held by A
`held by A
`for one Service for another Service
`(S2)
`(S1)
`
`• • •
`
`---------
`
`1-----------------
`
`I
`
`�
`
`20� Agent Server
`
`Computational ---21
`Resources
`
`26j
`
`1 r-26
`
`Service Wrapper for
`Service Wrapper for
`s2
`s1
`
`.----------'-1------Lr----,
`
`2 4
`
`Service ( S 1 )
`
`Service (S2)
`
`t r- 25
`.- ------ �----�
`Service Resources
`Service Resources
`
`Available to
`
`Available to
`s1
`82
`
`FIG. 13
`
`Page 16 of 36
`
`
`
`U.S. Patent May 24,2011 Sheet 14 of 17
`
`
`
`US 7,949,752 B2
`
`---502
`Select Agent
`
`Execute time ______ 504
`slot for Agent
`
`Yes
`
`No
`
`FIG. 14
`
`Page 17 of 36
`
`
`
`U.S. Patent
`May 24,2011
`
`Sheet 15 of 17
`
`US 7,949, 752 B2
`
`602
`Yes ----. ;600
`
`>----
`
`No
`
`No
`
`Yes
`
`Yes
`
`>-----
`
`No ----1
`
`608
`
`Does
`A have
`handler (H)
`forE?
`
`Yes
`
`No 612
`614
`
`FIG. 15
`
`Page 18 of 36
`
`
`
`U.S. Patent
`May 24,2011
`
`Sheet 16 of 17
`
`US 7,949,752
`B2
`
`702 !700
`
`�
`
`"I"
`Fetch instruction
`
`Is I a Service
`Instruction?
`
`Yes
`
`Yes
`
`No
`
`Execute I
`
`706 Ask service wrapper _____ 708
`
`to execute I for A
`
`No
`
`8
`
`FIG. 16
`
`Page 19 of 36
`
`
`
`U.S. Patent May 24,2011
`
`Sheet 17 of 17
`
`
`
`US 7,949,752 B2
`
`Identify permissions (Pr)
`
`
`required by I
`
`802
`
`Ask agent server for
`
`permissions (Ph) held by A
`806
`
`804
`
`808
`
`No
`
`Error Routine
`
`Yes
`
`Identify amounts (Ar and Ah)
`
`permissions -- 81 0 of quantitative
`
`among Pr and Ph
`
`814
`
`No
`
`Error Routine
`
`Yes
`Ask service
`to execute I
`
`816
`
`Identify amounts (Au )
`
`818
`of quantitative permissions
`used by I
`
`Ask agent server to
`decrement Ah by Au
`
`820
`
`FIG.17
`
`Page 20 of 36
`
`
`
`CROSS-REFERENCE TO RELATED
`
`APPLICATIONS
`
`TECHNICAL FIELD OF THE INVENTION
`
`CROSS-REFERENCE TO MICROFICHE
`APPENDICES
`
`CROSS-REFERENCE TO RELATED
`
`APPLICATIONS
`
`SUMMARY OF THE INVENTION
`
`BACKGROUND OF THE INVENTION
`
`
`
`US 7,949,752 B2
`
`1
`NETWORK SYSTEM EXTENSIBLE BY
`USERS
`
`2
`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 "sub
`scribers."
`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
`The present application is a continuation of U.S. patent
`
`
`
`
`
`such, the respective technological services may address the
`
`applicationSer. No. 09/71 2,712, filed Nov. 1 4,2000, allowed,
`
`
`generalized needs of many subscribers, but not the special-
`
`
`which is a continuation of application Ser. No. 09/178,366,
`
`
`10 ized needs of any one particular subscriber or group of sub
`
`
`filed Oct. 23, 1998, now U.S. Pat. No. 6,163,794, each of
`scribers.
`
`
`which is incorporated herein by reference in its entirety.
`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
`
`
`15 the appropriate service provider. If the service provider
`The present invention relates generally to the field of com
`
`
`
`
`
`deems that there is sufficient demand for such customization,
`
`
`puter software systems and, more particularly, to a network
`
`
`
`the provider will initiate a modification of the supporting
`
`system extensible by users.
`
`
`software application for the relevant service. Software pro
`
`
`grammers or developers must then modifY the existing soft-
`
`
`20 ware application to address the specialized needs of the
`
`
`
`
`requesting subscriber(s), and afterwards, test the modified
`
`
`
`
`software to ensure that it is functioning properly. Many itera
`A portion of the disclosure of this patent document con
`
`
`
`
`tions of modification and testing may be performed before the
`
`
`
`tains material that is subject to copyright protection. The
`
`
`
`
`
`finished, customized service is available to the subscriber.
`
`
`
`copyright owner has no objection to the facsimile reproduc-25
`
`In light of the above, it is clear that previous techniques are
`
`
`tion by anyone of the patent disclosure as it appears in the
`
`
`problematic for numerous reasons. For example, a service
`
`
`Patent and Trademark Office patent files or records, but oth
`
`
`
`provider is required to maintain or otherwise employ a staff of
`
`
`
`erwise reserves all copyright rights whatsoever.
`
`
`human software developers for making modifications to sup
`
`
`
`
`porting software applications. This can be expensive. Further-
`
`
`30 more, a substantial amount of time may be required to
`
`
`develop, modifY, and test supporting software applications in
`
`
`
`response to the request of a particular subscriber or group of
`
`
`
`
`
`subscribers. This can lead to subscriber dissatisfaction, and
`This Application relates to the subject matter disclosed in
`
`
`
`
`
`
`
`ultimately, defection to another service provider.
`
`the following United States Patent and co-pending United
`35
`
`
`States Applications:
`U.S. Pat. No. 5,603,031 to White eta!., entitled "System
`
`
`
`and Method For Distributed Computation Based Upon the
`The disadvantages and problems associated with previous
`
`
`
`
`
`
`Movement, Execution, and Interaction of Processes In a Net
`
`
`
`
`techniques for providing technological services have been
`work;"
`
`
`
`
`40 substantially reduced or eliminated using the present inven-
`U.S. application Ser. No. 08/609,699, filed Mar. 1, 1996,
`
`tion.
`
`
`
`entitled "Method and Apparatus For Telephonically Access
`The present invention provides a network system exten-
`
`
`
`
`
`ing and Navigating the Internet;"
`
`
`
`sible (e.g., programmable) by "end-users," and a method of
`U.S. application Ser. No. 08/798,675, filed Feb. 10, 1997,
`
`
`
`
`
`operation for the same. In general, an end-user (or simply
`
`entitled "System and Method For Distributed Computation
`45
`
`
`"user") is any individual, party, or entity which somehow
`
`
`Based Upon the Movement, Execution, and Interaction of
`
`
`
`interacts with the network system. A user can thus be an entity
`
`Processes In a Network;" and
`
`
`known to the network system (i.e., an entity having a log-in
`U.S. application Ser. No. 09/071,717, filed May 1, 1998,
`
`
`
`ID), such as, for example, a subscriber and or an individual
`
`
`entitled "Voice User Interface With Personality."
`
`
`
`affiliated with the service provider. A user can also be an
`
`The above patent and co-pending applications are assigned 50
`
`
`arbitrary third-party which somehow interacts with the net
`
`
`
`to the present Assignee and are incorporated herein by refer-
`work system.
`With the present invention, users may extend or customize
`
`
`ence.
`
`
`the network system according to their own particular needs.
`
`
`To accomplish this, a network system is augmented with an
`
`
`55 agent system. Capabilities of the network system are pro
`
`
`grammatically exposed by means of one or more services,
`
`
`
`Advances in computer and telephony systems have led to
`
`
`
`service resources, and service wrappers. Each service indi
`
`
`the development of numerous technology-driven services,
`
`
`vidually, or the network system as a whole, can be extended
`
`such as electronic mail (e-mail), voice mail, electronic orga
`
`
`
`
`
`by adding agents (created by users). Furthermore, the con-
`nizers (for appointments and addresses), on-line databases
`
`
`
`
`
`
`
`(e.g., for periodicals and stock quotes), and the like. An 60 sumption of computational and service resources are moni
`
`
`
`
`
`
`
`
`
`increasing popularity for these technological services in tored within the network system, thus protecting the subscrib
`
`
`
`
`
`
`
`recent years has spawned an entire industry devoted to the ers and the service provider from harm or misuse, whether
`
`
`
`
`
`
`
`provision and integration of the same. For example, numerintentional or inadvertent. Accordingly, the network system
`
`
`ous companies now offer e-mail service over the interconnec
`
`can admit agents programmed by users.
`
`
`
`
`
`
`
`tion of computers widely known as the Internet. Other com-65 In addition, the present invention contemplates that a third
`
`
`
`
`
`
`parries offer systems for voice mail services in both private party may modify existing agents and create new agents in the
`
`
`
`
`
`
`
`
`branch exchange (PBX) and public telephone environments. case where subscribers lack the desire or sophistication to do
`
`Page 21 of 36
`
`
`
`
`
`US 7,949,752 B2
`
`4
`3
`so themselves. The third party can then make such custom
`
`
`
`FIG. 9 is a flow diagram of an exemplary method for a user
`
`
`
`ized agents commercially available to subscribers.
`
`
`
`session, according to an embodiment of the present invention;
`
`
`
`According to an embodiment of the present invention, a
`
`FIG. 10 is a flow diagram of an exemplary method for
`
`
`network system includes a service. An agent uses the service
`
`
`
`executing a selection command for selecting an agent or an
`
`on behalf of a principal. An agent server mediates the use of
`
`
`agent template, according to an embodiment of the present
`
`the service by the agent.
`invention;
`
`
`
`
`According to another embodiment of the present invention,
`FIG. 11 is a flow diagram of an exemplary method for
`
`
`a network system includes a user interface which allows a
`
`
`
`executing an agent template command, according to an
`
`
`user to interact with the network system. An agent server is
`
`
`embodiment of the present invention;
`
`coupled to the user interface. The agent server manages agent 10
`
`FIG. 12 is a flow diagram of an exemplary method for
`
`
`
`use of the network system. Furthermore, the agent server in
`
`
`
`executing an agent command, according to an embodiment of
`
`
`conjunction with the user interface is operable to create or
`
`the present invention;
`
`
`modifY an agent in response to interaction by the user.
`FIG. 13 is a block diagram detailing the controlled con
`
`
`
`
`
`According to yet another embodiment of the present inven
`
`
`sumption of service and computational resources, according
`
`
`
`tion, a method includes the following: admitting a user to a 15
`
`
`to an embodiment of the present invention;
`network system wherein at least one agent is operable to
`FIG. 14 is a flow diagram of an exemplary method for
`
`
`
`
`utilize a service to perform a task for the user; and allowing
`
`
`
`
`
`executing time slices for an agent population, according to an
`
`
`
`the user to create or modifY the agent within the network
`
`
`embodiment of the present invention;
`system.
`FIG. 15 is a flow diagram of an exemplary method for
`
`
`According to still another embodiment of the present 20
`
`
`
`executing a time slice for an agent, according to an embodi
`
`invention, a network system includes an agent server which
`
`ment of the present invention;
`
`
`manages agent use of the network system. An agent is oper
`FIG. 16 is a flow diagram of an exemplary method for
`
`
`
`
`able to utilize a service within the network system. A service
`
`
`
`
`executing an event handler, according to an embodiment of
`
`
`
`
`wrapper, associated with the service, cooperates with the
`
`the present invention; and
`
`agent server to mediate interaction between the service and 25
`
`FIG. 17 is a flow diagram of an exemplary method for
`
`
`the agent.
`
`
`
`
`executing a service instruction, according to an embodiment
`According to yet another embodiment of the present inven
`
`
`
`
`
`
`
`of the present invention.
`
`
`
`
`tion, a method includes the following: allowing an agent to
`DETAILED DESCRIPTION OF THE PREFERRED
`
`
`
`
`
`utilize a service; and mediating interaction between the ser
`EMBODIMENTS
`30
`
`vice and the agent.
`
`
`A technical advantage of the present invention includes
`The preferred embodiments of the present invention and
`
`
`
`
`
`
`providing a network system (and a method of operation there
`
`for) which is progrmable by users (including subscribers)
`
`their advantages are best understood by referring to FIGS. 1
`
`through 17 of the drawings. Like numerals are used for like
`
`
`according to their own particular needs. From the standpoint
`
`and corresponding parts of the various drawings.
`
`
`of subscribers, this facilitates the process of adding or delet-35
`
`
`
`Turning first to the nomenclature of the specification, the
`
`ing new services or extending existing services and, from the
`
`
`
`
`
`
`detai