US20020152260A1 - Dynamic agent with embedded web server and mark-up language support for e-commerce automation - Google Patents

Dynamic agent with embedded web server and mark-up language support for e-commerce automation Download PDF

Info

Publication number
US20020152260A1
US20020152260A1 US09/804,595 US80459501A US2002152260A1 US 20020152260 A1 US20020152260 A1 US 20020152260A1 US 80459501 A US80459501 A US 80459501A US 2002152260 A1 US2002152260 A1 US 2002152260A1
Authority
US
United States
Prior art keywords
agent
computer program
agent computer
web page
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US09/804,595
Inventor
Qiming Chen
Umeshwar Dayal
Meichun Hsu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Priority to US09/804,595 priority Critical patent/US20020152260A1/en
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHEN, QIMING, DAYAL, UMESHWAR, HSU, MEICHUN
Publication of US20020152260A1 publication Critical patent/US20020152260A1/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Priority to US11/102,999 priority patent/US7483940B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Definitions

  • FIG. 7 is a flow chart illustrating the steps performed by the inter-agent communication mechanism of FIG. 2 to enable the communication between agents in accordance with one embodiment of the present invention.
  • FIG. 4 illustrates an exemplary status web page associated with agent computer program.
  • This status web page 400 can be identified by a uniform resource locator (URL) address of “seller_agent_status.html.”
  • the status web page 400 includes a plurality of fields for providing non-static (e.g., changing values or parameters) information to the client program process. These fields can be organized by products or by another criteria, such as by date and time.
  • the agent can optionally initiate contact with the client computer process by specifying the client's web address.
  • One application where this may occur is approval for a proposed action (e.g., a gray area is reached in the price of the product, and the agent requests client's approval of proposed price).
  • step 714 a determination is made whether the interpreter currently loaded in the agent matches the interpreter needed to interpret the message. If yes, processing proceeds to step 724 . Otherwise, in step 718 , an appropriate interpreter that is specified in the message, is dynamically loaded into the agent.
  • the loaded interpreter uses an associated parser to translate the contents of the message into executable machine code (e.g., a tree of Java objects).
  • the Java objects are executable machine code that performs the program operations and functions.
  • step 728 the code is executed, and the requested action is performed and any requested information is sent to the requesting agent via a return message.
  • a message can include the following: 1) envelope information (e.g., name of sender, name of recipient, etc., 2) required interpreter or ontology; 3) and the contents of the message (e.g., data etc.).
  • Autonomous agents cooperate by sending messages and using concepts from domain ontology.
  • the inter-agent communication mechanism 220 of the present invention provides a message format with meaningful structure and semantics.
  • the ontology switching module 224 provides a mechanism for agents to exchange ontologies and message interpreters.
  • Dynamic agents that include the communication mechanisms of the present invention can exchange the DTDs together with documents, and exchange the corresponding interpreters as programming objects, in order to understand each other.

Abstract

An agent computer program for use in an automated electronic commerce infrastructure. A client-agent communication mechanism for enabling communication between an agent computer program and at least one client computer process is provided. The client-agent communication mechanism includes a web server embedded in the agent computer program that utilizes a predetermined Internet communication protocol for communication between the agent computer program and the client computer process. An inter-agent communication mechanism is provided for enabling the agent computer program to communicate with other agents. The inter-agent communication mechanism employs documents written in a predetermined markup language for communication.

Description

    FIELD OF THE INVENTION
  • The present invention is generally related to dynamic agent computer programs executable on computer systems and the like, and in particular, a dynamic agent computer programs having an embedded web server and mark-up language support for e-commerce automation. [0001]
  • BACKGROUND OF THE INVENTION
  • To enable an automated electronic commerce infrastructure that employs a plurality of dynamic agents, it is important to have an effective manner in which to communicate information to and from the agents. [0002]
  • There are two primary types of communication. First, there is the communication between the client and its agent (i.e., client-agent communication). An example of client-agent communication is the communication between a seller and the seller's agent. Since the client is often a human user, it is important that this type of communication feature a user-friendly and intuitive interface. [0003]
  • Agents typically operate on different computer systems that have different platforms (e.g., operating systems) and are remote from each other. For example, a seller agent may conduct business (e.g., sell products) on a computer system that is different from the computer system of the seller. Unfortunately, prior art systems require the seller to first log onto the computer system where the agent is operating or executing in order to communicate with its agent. As can be appreciated, it is inefficient to require a client to log onto the computer system where the agent is operating and wasteful of resources. [0004]
  • Moreover, it is also important for the communication mechanism to flexibly provide convenient access for the client to the agent from as many different computer systems, platforms, and devices without encountering difficulty. In other words, it would be highly desirable to have a communication mechanism that provides ready access to the agent from as many different platforms, computer systems, and devices as possible. [0005]
  • Second, there is the communication between agents (i.e., inter-agent communication). An example of inter-agent communication is the communication between a seller agent and a buyer agent. Since the agents may operate in different domains (e.g., entertainment versus banking), it is desirable for the facility for inter-agent communication to effectively communication information between different domains. [0006]
  • In addition, prior art inter-agent communication facilities do not allow for inter-agent communication across different domains. Instead, only agents from a common domain can communicate with each other. As can be appreciated, this approach is restrictive and severely limits the types of agents with which a particular agent can communicate. [0007]
  • Furthermore, the prior art approaches typically require a synchronous connection while communication occurs between agents or between the client and the agent. For example, a client is required to log onto the system where an agent of interest is currently executing and maintain the connection in order to interact with the agent. Unfortunately, in an automated electronic commerce system, where one can imagine tens of thousands of agents conducting business in a virtual marketplace, requiring a synchronous connection negatively impacts one's computing resources and the network through which the agents are connected. Consequently, it is desirable for there to be communication mechanisms that use an asynchronous connection, thereby saving resources. Unfortunately, the prior art communication facilities provided by the prior art electronic commerce systems are not asynchronous in nature. [0008]
  • Based on the foregoing, a significant need remains for an apparatus and method for allowing an agent to communicate information to others effectively, efficiently, and in an asynchronous manner. [0009]
  • SUMMARY OF THE INVENTION
  • The present invention provides an agent computer program with communication mechanisms for use in an automated electronic commerce infrastructure. A client-agent communication mechanism for enabling communication between an agent computer program and at least one client computer process is provided. The client-agent communication mechanism includes a web server embedded in the agent that utilizes a predetermined Internet communication protocol for communication between the agent computer program and the client computer process. An inter-agent communication mechanism is provided for enabling the agent computer program to communicate with other agents. The inter-agent communication mechanism employs documents written in a predetermined markup language for communication. [0010]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements. [0011]
  • FIG. 1 illustrates an automated electronic commerce infrastructure in which the dynamic agent equipped with the communication mechanisms of the present invention can be implemented. [0012]
  • FIG. 2 is a block diagram of a networked computer system environment, illustrating in greater detail the primary components of an agent computer program configured in accordance with one embodiment of the present invention. [0013]
  • FIG. 3 illustrates an exemplary profile web page associated with a seller agent computer program. [0014]
  • FIG. 4 illustrates an exemplary status web page associated with seller agent computer program. [0015]
  • FIG. 5 illustrates an exemplary instruction web page associated with seller agent computer program. [0016]
  • FIG. 6 is a flow chart illustrating the steps performed by the client-agent communication mechanism of FIG. 2 to enable the communication between an agent computer program and a client computer process in accordance with one embodiment of the present invention. [0017]
  • FIG. 7 is a flow chart illustrating the steps performed by the inter-agent communication mechanism of FIG. 2 to enable the communication between agents in accordance with one embodiment of the present invention. [0018]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • An apparatus and method for providing communication between agent computer programs and between the agent computer program and at least one client computer process are described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention. [0019]
  • Automated [0020] Electronic Commerce Infrastructure 10
  • FIG. 1 illustrates an automated [0021] electronic commerce infrastructure 10 in which dynamic agents equipped with communication mechanisms of the present invention can be implemented. The electronic commerce infrastructure 10 includes a plurality of business participants, such as a buyer 20, a first supplier 30, a second supplier 40, a third supplier 50, a first reseller 60, a second reseller 70, and a broker 80. In a non-automated environment, each of the business participants conducts business by having human representatives or agents represent the interests of the business participant.
  • In an automated environment, a cooperative system [0022] 14 that has a plurality of software agents is provided.
  • The agents (e.g., agents [0023] 24-84) correspond to each of the business participants. The communication mechanisms of the present invention that may be embodied in each dynamic agent are described in greater detail with reference to FIG. 2. Preferably, the agents are dynamic agents that can, inter alia, carry application programs, be loaded with new functions, dynamically change their behavior, and exchange program objects. Dynamic agents and an electronic commerce infrastructure in which the dynamic agents can be deployed are described in greater detail in a publication entitled, “Dynamic Agents”, by Q. Chen, P. Chundi, Umesh Dayal, M. Hsu, International Journal on Cooperative Information Systems, 1999, which is hereby incorporated by reference in its entirety.
  • Agent Computer Program [0024]
  • FIG. 2 is a block diagram of a networked computer system environment, illustrating in greater detail the primary components of an [0025] agent computer program 204 configured in accordance with one embodiment of the present invention and a client computer process 208.
  • The [0026] system 200 includes at least one client computer process 202, a browser 204 accessible to the client process 202, a plurality of dynamic agents 206 interconnected via a network, such as the Internet. Each dynamic agent 206 can have a mechanism 210 for enabling communication between the agent computer program 204 and at least one client computer process 202 and an inter-agent communication mechanism 220 for handling communication between agents 206.
  • The term, dynamic agent, is a computer program, which has been delegated a degree of autonomy, but which are limited to operating within constraints defined by its client. The client may be, for example, another agent; a computer program, application or system; or an individual interacting with the agent through a computer—hereinafter a client computer process. [0027]
  • The [0028] mechanism 210 utilizes a predetermined Internet communication protocol for communication between the agent computer program 204 and the client computer process 208.
  • The client-[0029] agent communication mechanism 210 includes a web server 214 for providing the web pages associated to the agent to a client computer process upon request. A web server can be any server process running at a web site that sends out web pages in response to HTTP requests from remote browsers. For example, the web server 214 can be an HTTP server that processes incoming and outgoing data written according to a predetermined Internet communication protocol, such as the HyperText Transport Protocol (HTTP). Preferably, the web server 214 is embedded in the agent. By embedding the web server 214 in the agent and having one or more web pages associated with the agent, the agent program becomes a web object that can be easily accessed by other computer processes without the need of a custom interface. It is further noted that computer processes can interact with the agent computer program without having to maintain a persistent connection with the agent computer program, thereby allowing asynchronous interaction and saving system resources.
  • The client-[0030] agent communication mechanism 210 also includes one or more web pages 218 (e.g., an HTML document) that are associated with the agent. Exemplary web pages for a seller agent are described hereinafter with reference to FIGS. 3-5. The steps performed by the client-agent communication mechanism 210 are described in greater detail hereinafter with reference to FIG. 6.
  • The [0031] agent computer program 204 can also have an inter-agent communication mechanism 220 for enabling the agent 204 to communicate with other agents. The inter-agent communication mechanism 220 employs documents 226 written in a predetermined markup language. The steps performed by the inter-agent communication mechanism 220 are described in greater detail hereinafter with reference to FIG. 7.
  • It is noted that one advantage of the communication mechanisms of the present invention is that the mechanisms are asynchronous and do not require a ongoing connection between either the client and agent or among agents, thereby saving system resources. [0032]
  • Exemplary Web Pages Associated with a Seller Agent Computer Program [0033]
  • FIG. 3 illustrates an exemplary [0034] profile web page 300 associated with agent computer program. This profile web page 300 can be identified by a uniform resource locator (URL) address of “seller_agent_profile.html.” The profile web page 300 includes a plurality of fields for providing static information to the client program process. These fields can include, but is not limited to, a creator field 310 for specifying the creator of the agent, a date of creation field 320 for specifying when the agent was created, an agent purpose field 330 for specifying the purpose of the agent, and a tasks field 340 for specifying the various tasks that the agent can perform.
  • FIG. 4 illustrates an exemplary status web page associated with agent computer program. This [0035] status web page 400 can be identified by a uniform resource locator (URL) address of “seller_agent_status.html.” The status web page 400 includes a plurality of fields for providing non-static (e.g., changing values or parameters) information to the client program process. These fields can be organized by products or by another criteria, such as by date and time. These fields can include, but is not limited to, a quantity sold field 410 for specifying the quantity of a first product sold by the agent, a price sold field 420 for specifying the price at which the quantities noted in field 410 were sold, an buyers field 430 for specifying the buyers who have bought from the agent, a current price field 440 for specifying the current price of the product (e.g., the price of the product at the present stage of negotiations), and a tasks field 450 for specifying the parties or buyers that the agent is currently negotiating a sale.
  • FIG. 5 illustrates an exemplary instruction web page associated with agent computer program. This [0036] instruction web page 500 can be identified by a uniform resource locator (URL) address of “seller_agent_instruction.html.” The instruction web page 500 includes a plurality of fields for allowing the client program process to provide at least one instruction or command to the agent program. The fields can be organized by products, as shown, or by another criteria, such as by date and time. These fields can include, but is not limited to, a lowest price field 510 for specifying the lowest acceptable price for the product, a price range field 520 for specifying a preferred price range for the product, an volume field 530 for specifying the minimum acceptable volume per transaction.
  • Client-Agent Communication [0037]
  • FIG. 6 is a flow chart illustrating communication between an agent computer program and a client computer process performed by the client-agent communication mechanism of FIG. 2 in accordance with one embodiment of the present invention. In [0038] step 610, a request (e.g., an HTTP request) is received by the client-agent communication mechanism 210. The request specifies at least one web page that corresponds to the agent by using an address, such as a URL address. In step 620, the dynamic agent then employs a web server (e.g., an embedded HTTP server) to communicate or publish the requested web page to a browser of the client computer process. For example, the current status of the agent can be published to the client computer process via one or more web pages.
  • In [0039] step 630, input (e.g., an instruction) is received from the client computer process. For example, one or more commands can be provided to control the actions of the agent. In step 640, the agents behavior or status is modified based on the input, if needed.
  • In [0040] step 650, the agent can optionally initiate contact with the client computer process by specifying the client's web address. One application where this may occur is approval for a proposed action (e.g., a gray area is reached in the price of the product, and the agent requests client's approval of proposed price).
  • Agents as Web Objects [0041]
  • The client-[0042] agent communication mechanism 210 allows a client to monitor, manage, or interact with the agent remotely. When a dynamic agent is configured with an embedded web server, the agent can deliver a web page to a browser on a remote computer. The web page can then be used by the client to interact with the agent remotely. One advantage of the mechanism 210 is the provision of an easy-to-use, intuitive, and flexible graphical user interface (GUI), which is especially important when the client is a human.
  • The main difference between treating agents as Web objects and as other Java objects is that each agent has a Web page, which is accessed via a URL. This Web page contains information about the agent itself and about the task it is doing. With this mechanism we can build a virtual market where clients and servers are all connected to the Web, have Web-facing representations, and are able to offer and participate in services on the Web. [0043]
  • As a Web object, an agent connected to the Internet is accessible via HTTP or XML. This typically requires that the agent embeds, or accesses, a web server. An agent is provided with at least one web page (HTML or XML page) that provides an interface for it to be accessed via any browser. The agent “publishes” on that page, a set of control, maintenance and application operations that can be accessed or invoked by using a Web browser. [0044]
  • For example, an agent carrying seller functionality has a web page that shows what it sold, for which price, to whom, and when. The control operations can be represented on the Web page. An authorized person can adjust the price range via the Web page. [0045]
  • As with the agents' names, the URLs of the dynamic agents are preferably maintained by a coordinator that has a stable URL (i.e., having a stable host and port). In the event that the agents move, the coordinator can be consulted to determine the URL of a particular agent. [0046]
  • In one embodiment, operation requests issued from a Web browser to a dynamic agent looks the same as a traditional form request. For example, operation requests may be sent over HTTP using the GET or POST method. In the case of a POST request, the operation name and argument data can be sent in the body of the request. Preferably, the arguments in the URL (including the operation name and return value) are URL-encoded, which is a simple text encoding scheme. However, it is noted that more complex encoding schemes can be used to support integration with non-Web based systems or for the passing of private information types. [0047]
  • It is noted that inter-agent communication using messages does not require the involvement of a web server. For example, the inter-agent communication facility can be an electronic mail facility that supports messages in the form of electronic mail. In this manner, electronic mail attachments, such as text, voice, video data, may also be communicated. [0048]
  • Inter-Agent Communication [0049]
  • FIG. 7 is a flow chart illustrating inter-agent communication performed by the inter-agent communication mechanism of FIG. 2 in accordance with one embodiment of the present invention. In [0050] step 700, a message (e.g., an XML document) is received from another agent. In step 704, a DTD of the message is accessed. For example, the DTD can be received with the message or could have been received previously. As described previously, the DTD is a template with which the message can be decoded correctly. In step 708, the message is decoded by using the DTD. In this step, the interpreter needed to interpret the current message is determined.
  • In [0051] step 714, a determination is made whether the interpreter currently loaded in the agent matches the interpreter needed to interpret the message. If yes, processing proceeds to step 724. Otherwise, in step 718, an appropriate interpreter that is specified in the message, is dynamically loaded into the agent. In step 724, the loaded interpreter uses an associated parser to translate the contents of the message into executable machine code (e.g., a tree of Java objects). The Java objects are executable machine code that performs the program operations and functions. In step 728, the code is executed, and the requested action is performed and any requested information is sent to the requesting agent via a return message.
  • A message can include the following: 1) envelope information (e.g., name of sender, name of recipient, etc., 2) required interpreter or ontology; 3) and the contents of the message (e.g., data etc.). [0052]
  • Multi-agent Cooperation with XML Messaging [0053]
  • Autonomous agents cooperate by sending messages and using concepts from domain ontology. The [0054] inter-agent communication mechanism 220 of the present invention provides a message format with meaningful structure and semantics. The ontology switching module 224 provides a mechanism for agents to exchange ontologies and message interpreters.
  • Document-Driven Agent Cooperation [0055]
  • The messages can be in the form of a document that is written in a markup language. Preferably, the document is created by using an extensive markup language (XML) which is a standard for data interchange on the Web. It is noted that other message formats are acceptable provided that the selected message format is accepted by the research community and the industry and likely to be adopted by information providers. [0056]
  • In fact, an XML document is an information container for reusable and customizable components, which can be used by any receiving agent. This is the foundation for document-driven agent cooperation. By making the Web accessible to agents with XML, the present invention eliminates the need for custom interfaces for each consumer and supplier. Agents may use an XML format to explain their behavior, functions, interfaces, etc. by defining new performatives in terms of existing, mutually understood ones. Based on the commonly agreed tags, agents may use different style document type descriptions (DTDs) to accommodate the taste of the business units they mediate. Further, a dynamic agent can carry an XML front-end to a database for data exchange, where both queries and answers are XML encoded. [0057]
  • Although XML is well structured for encoding semantically meaningful information, it must be based on the ontology. As ontology varies from domain to domain, and may even be dynamic for dynamically formed domains. A significant issue is how to exchange the semantics of domain models, and how to interpret messages differently in different problem domains. The [0058] ontology switching module 224 of the present invention is provided to address this issue and is discussed in greater detail hereinafter.
  • Generally, a domain ontology provides a set of concepts, or meta-data, that can be queried, advertised and used to control the behavior of cooperating agents. These concepts can be marked using XML tags, and then a set of commonly agreed tags, underlie message interpretation. The structures and the semantics of the documents used in a particular problem domain are represented by the corresponding DTDs and interpreters. [0059]
  • Preferably, different languages, all in XML format, are utilized for different problem domains, such as product ordering, market analysis, etc. Consequently, an individual interpreter for each language is also used. Dynamic agents that include the communication mechanisms of the present invention can exchange the DTDs together with documents, and exchange the corresponding interpreters as programming objects, in order to understand each other. [0060]
  • DTD Based Program Generation [0061]
  • Since information sources are evolving, it is unlikely that we can use fixed programs for information accessing and processing. Our solution is to let a dynamic agent carry program tools that generate XML oriented data access and processing programs based on document type descriptions (DTDs). A DTD (like a schema) provides a grammar that tells which data structures can occur, and in what sequence. Such schematic information is used to automatically generate programs for basic data access and processing (i.e., to create classes that recognize and process different data elements according to the specification of those elements). [0062]
  • For example, from an XML document including tag UNIT_PRICE, a Java method “getUnitPrice” can be generated, provided that the meanings of tags are understood, and an XML parser is appended to the JDK classpath. In one embodiment, the XML parser that is employed is a parser developed by Sun Microsystems that supports SAX (Simple API for XML) and conforms to W3C DOM (Document Object Model). [0063]
  • One advantage of automatic program generation from DTDs is that tasks can be created on the fly, thereby handling the possible change of document structures. For example, when a vendor publishes a new DTD for its product data sheet, based on that DTD, an agent can generate the appropriate programs for handling the corresponding XML documents. Agents use different programs to handle data provided by different vendors. [0064]
  • Ontology Model Switching [0065]
  • Different application domains have different ontology models with different agent communication languages and language interpreters although they are in XML format. In a particular application domain, agents communicate using domain specific XML language constructs and interpreters. [0066]
  • The [0067] inter-agent communication mechanism 220 of the present invention enables a dynamic agent to participate in multiple applications. For example, the dynamic agent communicates with other agents for the business of one domain (Da) by employing Da's language and language interpreter. Similarly, for the business of another domain (Db) by employing Db's language and language interpreter. A dynamic agent can carry multiple interpreters and adapts to different application domains and ontologies by employing the ontology switching module 224 to detect the particular domain and automatically switch the DTD's and interpreters, thereby enabling communication with agents in that domain.
  • For example, the following message can be sent to load an interpreter (e.g., a xml_shopping interpreter) to an agent: [0068]
    <MESSAGE type = ″LOAD″ from = ″A″ to = ″B″
    interpreter = ″xml.default″>
    <CONTENT> <LOAD_INTERPRETER
    class = ″da.XMLshoppingInterpreter″
    url = ″file:host.hp.com/Dmclasses″>
    xml_shopping
    </LOAD_INTERPRETER> </CONTENT>
    </MESSAGE>
  • In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. [0069]

Claims (20)

What is claimed is:
1. A method of communicating between a client computer process and an agent computer program having an embedded web server comprising the steps of:
a) receiving a request for at least one web page associated with the agent computer program; and
b) in response to the request, using the web server to provide the requested web page for use by the client computer process to receive information from the agent computer program or to issue an instruction to the agent computer program.
2. The method of claim 1 further comprising:
using the web server to provide the requested web page for use by the client computer process to issue an instruction to the agent computer program; and
modifying the behavior or status of the agent computer program based on the instruction.
3. The method of claim 1 further comprising:
the client computer process initiating contact with the agent computer program by utilizing
a web address of at least one of web page of the agent computer program.
4. The method of claim 3 further comprising:
the agent computer program initiating contact with the client computer process by specifying a web address associated with the client computer process; and
agent computer program requesting approval of the client computer process for a proposed action by the agent computer program.
5. The method of claim 1 wherein the agent computer program includes a profile web page for providing static information associated with the agent computer program.
6. The method of claim 1 wherein the agent computer program includes a status web page for providing dynamic information associated with the agent computer program.
7. The method of claim 1 wherein the agent computer program includes an instruction web page for receiving at least one instruction from the client computer process.
8. The method of claim 1 wherein the method is utilized by dynamic agent computer programs in an automated electronic commerce infrastructure.
9. A method of communicating between at least two dynamic agent computer programs comprising the steps of:
a) receiving a message;
b) accessing a document type description (DTD) of the message and decoding the message by using the DTD;
c) determining an interpreter associated with the message;
d) determining whether the currently loaded interpreter in the agent computer program matches the interpreter required for the current message;
e) if no, dynamically load the interpreter needed to interpret the current message; and
f) the loaded interpreter using an associated parser to translate the contents of the message into executable machine code.
10. The method of claim 9 wherein executable machine code comprises a tree of Java objects that perform the program operations and functions.
11. The method of claim 9 wherein executable machine code performs the requested action and sends any requested information to the requesting agent via a return message.
12. The method of claim 9 wherein the method is utilized by dynamic agent computer programs in an automated electronic commerce infrastructure.
13. An agent computer program comprising:
a) a mechanism for enabling communication between the agent computer program and at least one other computer process; and
b) an inter-agent communication mechanism for enabling the agent computer program to communicate with other agents; wherein the inter-agent communication mechanism employs documents written in a predetermined markup language.
14. The agent computer program of claim 13 wherein the mechanism for enabling communication between the agent computer program and at least one other computer process includes
a web server embedded in the agent computer program for using a predetermined Internet communication protocol to communicate with the computer process; wherein the web server processes incoming and outgoing data that is formatted according to the predetermined Internet communication protocol; and
at least one web page associated with the agent computer program for use by a computer process to communicate information therewith.
15. The agent computer program of claim 13 wherein predetermined Internet communication protocol is the HyperText Transport Protocol (HTTP).
16. The agent computer program of claim 13 wherein the predetermined markup language is the extensive markup language (XML).
17. The agent computer program of claim 13 further comprising:
a profile web page for providing static information associated with the agent computer program.
18. The agent computer program of claim 13 further comprising:
a status web page for providing dynamic information associated with the agent computer program.
19. The agent computer program of claim 13 further comprising:
an instruction web page for receiving at least one instruction from a client computer process.
20. The agent computer program of claim 13 wherein the agent computer program is a dynamic agent computer program that is employed in an automated electronic commerce infrastructure.
US09/804,595 2001-03-12 2001-03-12 Dynamic agent with embedded web server and mark-up language support for e-commerce automation Abandoned US20020152260A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/804,595 US20020152260A1 (en) 2001-03-12 2001-03-12 Dynamic agent with embedded web server and mark-up language support for e-commerce automation
US11/102,999 US7483940B2 (en) 2001-03-12 2005-04-11 Dynamic agent with embedded web server and mark-up language support for e-commerce automation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/804,595 US20020152260A1 (en) 2001-03-12 2001-03-12 Dynamic agent with embedded web server and mark-up language support for e-commerce automation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/102,999 Division US7483940B2 (en) 2001-03-12 2005-04-11 Dynamic agent with embedded web server and mark-up language support for e-commerce automation

Publications (1)

Publication Number Publication Date
US20020152260A1 true US20020152260A1 (en) 2002-10-17

Family

ID=25189364

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/804,595 Abandoned US20020152260A1 (en) 2001-03-12 2001-03-12 Dynamic agent with embedded web server and mark-up language support for e-commerce automation
US11/102,999 Expired - Fee Related US7483940B2 (en) 2001-03-12 2005-04-11 Dynamic agent with embedded web server and mark-up language support for e-commerce automation

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/102,999 Expired - Fee Related US7483940B2 (en) 2001-03-12 2005-04-11 Dynamic agent with embedded web server and mark-up language support for e-commerce automation

Country Status (1)

Country Link
US (2) US20020152260A1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014502A1 (en) * 2001-07-03 2003-01-16 Snider Gregory Stuart E-service communication method and system
US20040205574A1 (en) * 2002-04-01 2004-10-14 Sayers Craig P. Document agents
US20050097197A1 (en) * 2003-10-07 2005-05-05 International Business Machines Corporation Web browser control for customer support
US20070283342A1 (en) * 2004-01-06 2007-12-06 Reed Chris A Dynamic Modularity In Flexible, Persistent Agents
US9269097B2 (en) 2007-02-06 2016-02-23 Voicebox Technologies Corporation System and method for delivering targeted advertisements and/or providing natural language processing based on advertisements
US9305548B2 (en) 2008-05-27 2016-04-05 Voicebox Technologies Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US9570070B2 (en) 2009-02-20 2017-02-14 Voicebox Technologies Corporation System and method for processing multi-modal device interactions in a natural language voice services environment
US9620113B2 (en) 2007-12-11 2017-04-11 Voicebox Technologies Corporation System and method for providing a natural language voice user interface
US9626703B2 (en) 2014-09-16 2017-04-18 Voicebox Technologies Corporation Voice commerce
US9747896B2 (en) 2014-10-15 2017-08-29 Voicebox Technologies Corporation System and method for providing follow-up responses to prior natural language inputs of a user
US9898459B2 (en) 2014-09-16 2018-02-20 Voicebox Technologies Corporation Integration of domain information into state transitions of a finite state transducer for natural language processing
US10297249B2 (en) 2006-10-16 2019-05-21 Vb Assets, Llc System and method for a cooperative conversational voice user interface
US10331784B2 (en) 2016-07-29 2019-06-25 Voicebox Technologies Corporation System and method of disambiguating natural language processing requests
US10431214B2 (en) 2014-11-26 2019-10-01 Voicebox Technologies Corporation System and method of determining a domain and/or an action related to a natural language input
US10614799B2 (en) 2014-11-26 2020-04-07 Voicebox Technologies Corporation System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504999B2 (en) * 2006-10-05 2013-08-06 Palo Alto Research Center Incorporated System and method for transferring code to a data producer
US7984497B2 (en) 2007-04-04 2011-07-19 Microsoft Corporation System and method for binding a subscription-based computing system to an internet service provider
US8239349B2 (en) 2010-10-07 2012-08-07 Hewlett-Packard Development Company, L.P. Extracting data
US8935705B2 (en) 2011-05-13 2015-01-13 Benefitfocus.Com, Inc. Execution of highly concurrent processing tasks based on the updated dependency data structure at run-time

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163794A (en) * 1998-10-23 2000-12-19 General Magic Network system extensible by users
US6292830B1 (en) * 1997-08-08 2001-09-18 Iterations Llc System for optimizing interaction among agents acting on multiple levels
US20020072998A1 (en) * 2000-12-08 2002-06-13 Haines Robert E. Consumable order-assistance system for computer peripheral devices within a centralized network environment and method for replenishing consumable components
US6539416B1 (en) * 1997-12-19 2003-03-25 Kabushiki Kaisha Toshiba Managing system and managing method of mobile agent
US6604135B1 (en) * 1995-06-07 2003-08-05 International Business Machines Corporation WWW client server dynamic interactive system method
US20030200301A1 (en) * 1999-11-10 2003-10-23 Trzcinko Alan P. Web-based network management system
US6691151B1 (en) * 1999-01-05 2004-02-10 Sri International Unified messaging methods and systems for communication and cooperation among distributed agents in a computing environment
US6735632B1 (en) * 1998-04-24 2004-05-11 Associative Computing, Inc. Intelligent assistant for use with a local computer and with the internet

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3229240B2 (en) * 1997-06-10 2001-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Message processing method, message processing device, and storage medium for storing program for controlling message processing
US6125391A (en) * 1998-10-16 2000-09-26 Commerce One, Inc. Market makers using documents for commerce in trading partner networks
US6631379B2 (en) * 2001-01-31 2003-10-07 International Business Machines Corporation Parallel loading of markup language data files and documents into a computer database

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604135B1 (en) * 1995-06-07 2003-08-05 International Business Machines Corporation WWW client server dynamic interactive system method
US6292830B1 (en) * 1997-08-08 2001-09-18 Iterations Llc System for optimizing interaction among agents acting on multiple levels
US6539416B1 (en) * 1997-12-19 2003-03-25 Kabushiki Kaisha Toshiba Managing system and managing method of mobile agent
US6735632B1 (en) * 1998-04-24 2004-05-11 Associative Computing, Inc. Intelligent assistant for use with a local computer and with the internet
US6163794A (en) * 1998-10-23 2000-12-19 General Magic Network system extensible by users
US6691151B1 (en) * 1999-01-05 2004-02-10 Sri International Unified messaging methods and systems for communication and cooperation among distributed agents in a computing environment
US20030200301A1 (en) * 1999-11-10 2003-10-23 Trzcinko Alan P. Web-based network management system
US20020072998A1 (en) * 2000-12-08 2002-06-13 Haines Robert E. Consumable order-assistance system for computer peripheral devices within a centralized network environment and method for replenishing consumable components

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014502A1 (en) * 2001-07-03 2003-01-16 Snider Gregory Stuart E-service communication method and system
US20040205574A1 (en) * 2002-04-01 2004-10-14 Sayers Craig P. Document agents
US7447991B2 (en) * 2002-04-01 2008-11-04 Hewlett-Packard Development Company, L.P. Document agents
US20050097197A1 (en) * 2003-10-07 2005-05-05 International Business Machines Corporation Web browser control for customer support
US20070283342A1 (en) * 2004-01-06 2007-12-06 Reed Chris A Dynamic Modularity In Flexible, Persistent Agents
US11222626B2 (en) 2006-10-16 2022-01-11 Vb Assets, Llc System and method for a cooperative conversational voice user interface
US10755699B2 (en) 2006-10-16 2020-08-25 Vb Assets, Llc System and method for a cooperative conversational voice user interface
US10515628B2 (en) 2006-10-16 2019-12-24 Vb Assets, Llc System and method for a cooperative conversational voice user interface
US10510341B1 (en) 2006-10-16 2019-12-17 Vb Assets, Llc System and method for a cooperative conversational voice user interface
US10297249B2 (en) 2006-10-16 2019-05-21 Vb Assets, Llc System and method for a cooperative conversational voice user interface
US10134060B2 (en) 2007-02-06 2018-11-20 Vb Assets, Llc System and method for delivering targeted advertisements and/or providing natural language processing based on advertisements
US9269097B2 (en) 2007-02-06 2016-02-23 Voicebox Technologies Corporation System and method for delivering targeted advertisements and/or providing natural language processing based on advertisements
US11080758B2 (en) 2007-02-06 2021-08-03 Vb Assets, Llc System and method for delivering targeted advertisements and/or providing natural language processing based on advertisements
US9406078B2 (en) * 2007-02-06 2016-08-02 Voicebox Technologies Corporation System and method for delivering targeted advertisements and/or providing natural language processing based on advertisements
US10347248B2 (en) 2007-12-11 2019-07-09 Voicebox Technologies Corporation System and method for providing in-vehicle services via a natural language voice user interface
US9620113B2 (en) 2007-12-11 2017-04-11 Voicebox Technologies Corporation System and method for providing a natural language voice user interface
US9305548B2 (en) 2008-05-27 2016-04-05 Voicebox Technologies Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US10089984B2 (en) 2008-05-27 2018-10-02 Vb Assets, Llc System and method for an integrated, multi-modal, multi-device natural language voice services environment
US10553216B2 (en) 2008-05-27 2020-02-04 Oracle International Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US9711143B2 (en) 2008-05-27 2017-07-18 Voicebox Technologies Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US10553213B2 (en) 2009-02-20 2020-02-04 Oracle International Corporation System and method for processing multi-modal device interactions in a natural language voice services environment
US9570070B2 (en) 2009-02-20 2017-02-14 Voicebox Technologies Corporation System and method for processing multi-modal device interactions in a natural language voice services environment
US9953649B2 (en) 2009-02-20 2018-04-24 Voicebox Technologies Corporation System and method for processing multi-modal device interactions in a natural language voice services environment
US10430863B2 (en) 2014-09-16 2019-10-01 Vb Assets, Llc Voice commerce
US10216725B2 (en) 2014-09-16 2019-02-26 Voicebox Technologies Corporation Integration of domain information into state transitions of a finite state transducer for natural language processing
US9626703B2 (en) 2014-09-16 2017-04-18 Voicebox Technologies Corporation Voice commerce
US9898459B2 (en) 2014-09-16 2018-02-20 Voicebox Technologies Corporation Integration of domain information into state transitions of a finite state transducer for natural language processing
US11087385B2 (en) 2014-09-16 2021-08-10 Vb Assets, Llc Voice commerce
US10229673B2 (en) 2014-10-15 2019-03-12 Voicebox Technologies Corporation System and method for providing follow-up responses to prior natural language inputs of a user
US9747896B2 (en) 2014-10-15 2017-08-29 Voicebox Technologies Corporation System and method for providing follow-up responses to prior natural language inputs of a user
US10431214B2 (en) 2014-11-26 2019-10-01 Voicebox Technologies Corporation System and method of determining a domain and/or an action related to a natural language input
US10614799B2 (en) 2014-11-26 2020-04-07 Voicebox Technologies Corporation System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance
US10331784B2 (en) 2016-07-29 2019-06-25 Voicebox Technologies Corporation System and method of disambiguating natural language processing requests

Also Published As

Publication number Publication date
US20050210456A1 (en) 2005-09-22
US7483940B2 (en) 2009-01-27

Similar Documents

Publication Publication Date Title
US7483940B2 (en) Dynamic agent with embedded web server and mark-up language support for e-commerce automation
CA2435263C (en) An improved system, method and apparatus to allow communication between cics and non-cics software applications
US7506072B2 (en) Web browser as web service server in interaction with business process engine
Roy et al. Understanding web services
US7568205B2 (en) Providing remote processing services over a distributed communications network
US7634726B2 (en) Technique for automated e-business services
US7343554B2 (en) Mechanisms for supporting back button function of web browser as web service server in interaction with business process engine
US6851087B1 (en) System and method of processing computer form data
US20030036966A1 (en) Computer system, method, and business method for integrating an e-commerce application with a back-end business processing application
US20060031750A1 (en) Web browser as web service server
US7607136B2 (en) Method and apparatus for interfacing with a distributed computing service
EP1156427A2 (en) Postback input handling by server-side control objects
JP2003531412A (en) Method and apparatus for creating a service
WO2002005119A1 (en) Method and apparatus for providing process-container platforms
WO2002082311A2 (en) Method and apparatus for document markup language based document processing
Bhargava et al. The World Wide Web: Opportunities for operations research and management science
Chen et al. Dynamic-Agents, workflow and XML for e-Commerce automation
US20020138566A1 (en) Using state information in a distributed environment
US20050198394A1 (en) Data conversion from HTML to XML in a tree structure
Kao Developer's Guide to Building XML-based Web Services
Dogac et al. A workflow-based electronic marketplace on the web
Qiang et al. Agent-based system for mobile commerce
EP1673701A2 (en) Web browser as web service server
Ulmer Architectural solutions to agent-enabling e-commerce portals with pull/push abilities
US20040260817A1 (en) Facilitating access to a resource of an on-line service

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, COLORADO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, QIMING;DAYAL, UMESHWAR;HSU, MEICHUN;REEL/FRAME:011983/0178

Effective date: 20010309

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION