United States Patent (19) 11 Patent Number: 6,163,794 Lange Et Al
Total Page:16
File Type:pdf, Size:1020Kb
USOO6163794A United States Patent (19) 11 Patent Number: 6,163,794 Lange et al. (45) Date of Patent: Dec. 19, 2000 54 NETWORKSYSTEM EXTENSIBLE BY C. Daniel Wolfson, et al., “Intelligent Routers,” The 9th USERS International Conference on Distributed Computing Sys tems, IEEE Computer Society Press, 1989, pp. 371-376. 75 Inventors: Danny Lange, Cupertino; Barbara Nelson, San Mateo; Jing Su, Cupertino; James E. White, San Carlos, all of Primary Examiner Mehmet B. Geckil Calif. Attorney, Agent, or Firm-Philip W. Woo, Esq.; Skjerven 73 Assignee: General Magic, Sunnyvale, Calif. Morrill et al. 57 ABSTRACT 21 Appl. No.: 09/178,366 In one aspect, a network System includes a user interface 22 Filed: Oct. 23, 1998 which allows a user to interact with the network System. An (51) Int. Cl." ...................................................... G06F 15/16 agent Server is coupled to the user interface. The agent Server 52 U.S. Cl. ............................................. 709/202; 709/226 manages the operation of the network System. Furthermore, 58 Field of Search ..................................... 709/202, 203, the agent Server in conjunction with the user interface is 709/205, 204, 224, 226, 225, 228, 229, operable to create or modify an agent in response to inter 223,317; 707/10, 9, 104; 379/88.13, 88.19, action by the user. In another aspect, a network System 88.17 includes an agent Server which manages the operation of the 56) References Cited network System. An agent is operable to utilize a Service within the network System. A Service wrapper, associated PUBLICATIONS with the Service, cooperates with the agent Server to mediate JP Morgenthal, “XML Agents,” NC.Focus website interaction between the Service and the agent. (www.ncfocus.com), 1998, pp. 1-4. D. Tsichritzis, et al., “KNOs: Knowledge Acquisition, Dis- 63 Claims, 17 Drawing Sheets semination, and Manipulation Objects,” ACM Transactions on Office Information Systems, vol. 5, No. 1, Jan. 1987, pp. Microfiche Appendix Included 96-112. (10 Microfiche, 713 Pages) - Graphical User Voice User ----- Interface --- Interface 2 Agent - Area 21 20 Agent - 22 Computational Agent Server Resources Hard-Wired ceae Agent - 22 Functionality Agent - 22 26 26 26 Service Service Service Service - 26 Programmable Wrapper Wrapper Wrapper Wrapper Functionality 24 2 4. 24 24 25- 25 25 Service Service Service Service 25 Resources Resources Resources Resources U.S. Patent Dec. 19, 2000 Sheet 2 of 17 6,163,794 S s - (y s 2NO)AA SAtS (s AA 3. OK) AA7 O N K\77 OK) U.S. Patent Dec. 19, 2000 Sheet 3 of 17 6,163,794 Graphical User Interface Web Browser (in client) Internet Web Server (in provider) Web Pages Agent Area TO Rest of Network System FIG. 3 U.S. Patent Dec. 19, 2000 Sheet 4 of 17 6,163,794 m wom wr m w m m um m m me m m m m m am wow was - - t Voice User Interface Telephone Instrument (User's) Telephone Line Telephone Server (in provider) Grammar, Prompts, etc. Agent Area TO Rest Of Network System FIG. 4 U.S. Patent 6,163,794 U.S. Patent Dec. 19, 2000 Sheet 6 of 17 6,163,794 92 | | | | | | | | | | | | JO??UOW|O? U.S. Patent Dec. 19, 2000 Sheet 8 of 17 6,163,794 46 Agent Object Permissions -N- 56 — Event Handlers -N-58 Datastore 60 Pending Event Queue 62 FIG. 8 U.S. Patent Dec. 19, 2000 Sheet 9 of 17 6,163,794 Admit Subscriber to Ul (logon) 102 1 OO Admit SubSCriber . to UI agent area 104 Accept Command "C 1O6 from Subscriber Execute C if a 108 Selection Command Execute C if a 11 O Template Command Execute C if an Agent Command 112 114 Any more Commands? Yes No Excuse Subscriber from UI agent area 116 Excuse Subscriber from UI (logoff) 118 U.S. Patent Dec. 19, 2000 Sheet 10 of 17 6,163,794 2O4 2O2 2OO ls C Select Note Template? Yes template (T) Selected ls C Select Note agent (A) Agent? Selected FIG. 1 O U.S. Patent 6,163,794 ON peoeleS () ele|due Ou Seleul. JJOIJ U.S. Patent 6,163,794 ON peoeleS () ele|due peoeles (W) buefie Ou Seleul J. JOJJ Ou Seleul JOLI U.S. Patent Dec. 19, 2000 Sheet 13 of 17 6,163,794 Permissions of Agent (A) l 64- 64 66 Service permissions Service permissions Computational held by A held by A EASA for One Service for another Service held by A (S2) 20 --- Agent Server Computational 21 Resources 26 - Service Wrapper for Service Wrapper for S1 S2 24--, Service (S1) Service (S2) 25 - Service Resources Service Resources Available to Available to O 0 to S1 U.S. Patent Dec. 19, 2000 Sheet 14 of 17 6,163,794 5OO Select Agent Yes Execute time slot for Agent Any more agents? NO FIG. 14 U.S. Patent Dec. 19, 2000 Sheet 15 0f 17 6,163,794 Load Agent (A) 604 ls A Suspended? Yes 6OO NO 605 ls event (E) being handled? 606 ls an event (E) pending NO for A2 Yes Yes Does A have handler (H) for E2 Execute portion Of H for E FIG. 15 U.S. Patent Dec. 19, 2000 Sheet 16 of 17 6,163,794 700 Fetch instruction "I" 702 . 704 ls a Service Instruction? Yes Yes NO Execute Ask Service Wrapper 708 to execute for A 71 O Any more instructions? NO FIG. 16 U.S. Patent Dec. 19, 2000 Sheet 17 Of 17 6,163,794 ldentify permissions (P) 8OO required by 802 . Ask agent server for permissions (Ph) held by A 804 806 808 E. NO Error ROutine r Yes ldentify amounts (Ar and Ah) of quantitative permissions 81O among Pr and Ph 812 814 Are Ah NO Error ROutine at least Ar? Yes Ask Service 816 tO execute Identify amounts (Au) of quantitative permissions 818 used by Ask agent server to 82O decrement Ah by Au FIG. 17 6,163,794 1 2 NETWORKSYSTEM EXTENSIBLE BY With previous techniques, when a subscriber desires to USERS alter, change, modify, or otherwise customize a Service to Suit his or her own Specialized needs, that Subscriber must CROSS-REFERENCE TO RELATED contact the appropriate Service provider. If the Service pro APPLICATIONS vider deems that there is Sufficient demand for Such This Application relates to the Subject matter disclosed in customization, the provider will initiate a modification of the the following United States Patent and co-pending United Supporting Software application for the relevant Service. States Applications: Software programmerS or developerS must then modify the existing Software application to address the Specialized U.S. Pat. No. 5,603,031 to White et al., entitled “System needs of the requesting Subscriber(s), and afterwards, test and Method For Distributed Computation Based Upon the the modified Software to ensure that it is functioning prop Movement, Execution, and Interaction of Processes. In a erly. Many iterations of modification and testing may be Network;” performed before the finished, customized Service is avail U.S. Pat. No. 5,953,392 to Rhie et al., entitled now U.S. able to the Subscriber. Pat. No. 5,953,392 issued on Sep. 14, 1999, “Method and 15 In light of the above, it is clear that previous techniques Apparatus For Telephonically Accessing and Navigating the are problematic for numerous reasons. For example, a Internet,” Service provider is required to maintain or otherwise employ U.S. Pat. No. 6,016,393 to White et al., now U.S. Pat. a Staff of human Software developerS for making modifica 6,016,393 issued on Jan. 18, 2000, entitled “System and tions to Supporting Software applications. This can be expen Method For Distributed Computation Based Upon the Sive. Furthermore, a Substantial amount of time may be Movement, Execution, and Interaction of Processes. In a required to develop, modify, and test Supporting Software Network; and applications in response to the request of a particular Sub U.S. application Ser. No. 09/071,717, filed May 1, 1998, scriber or group of Subscribers. This can lead to subscriber entitled “Voice User Interface With Personality.” dissatisfaction, and ultimately, defection to another Service The above patent and co-pending applications are 25 provider. assigned to the present ASSignee and are incorporated herein by reference. SUMMARY OF THE INVENTION The disadvantages and problems associated with previous TECHNICAL FIELD OF THE INVENTION techniques for providing technological Services have been The present invention relates generally to the field of Substantially reduced or eliminated using the present inven computer Software Systems and, more particularly, to a tion. network System extensible by users. The present invention provides a network System exten sible (e.g., programmable) by "end-users,” and a method of CROSS-REFERENCE TO MICROFICHE operation for the same. In general, an end-user (or simply APPENDICES 35 “user') is any individual, party, or entity which Somehow A portion of the disclosure of this patent document interacts with the network System. A user can thus be an contains material that is Subject to copyright protection. The entity known to the network System (i.e., an entity having a copyright owner has no objection to the facsimile reproduc log-in ID), Such as, for example, a Subscriber and or an tion by anyone of the patent disclosure as it appears in the 40 individual affiliated with the service provider. A user can Patent and Trademark Office patent files or records, but also be an arbitrary third-party which Somehow interacts otherwise reserves all copyright rights whatsoever. with the network system. With the present invention, users may extend or custom BACKGROUND OF THE INVENTION ize the network System according to their own particular Advances in computer and telephony Systems have led to 45 needs.