The SeMPHoNIA project applies to an open and heterogeneous environment. For that purpose, we have developed two types of ontologies; process ontologies, which are specifically about auction-related concepts and relations, as well as domain ontologies, which enrich product descriptions with metadata to accurately describe their features.
The former type serves transactional needs, while the latter covers informational needs for product specifications. More specifically, each item or auction session, is semantically described by a set of ontologies. Retailers relate products with a specific domain and provide metadata about them in the corresponding domain ontology.
Querying is performed using RQL, a typed language following a functional approach, which supports generalized path expressions, featuring variables on both labels for classes and properties.
In SeMPHoNIA, users may decide to participate in multiple auctions at the same time, when the result of one auction may affect the action taken for the other. Agents automate bidding actions and make inferences for determining the optimum path, when interrelated auctions are involved, based on the human user’s preferences and on their local knowledge. We identify three types of agents operating in the SeMPHoNIA platform: A-, C- and CL-agents. The A-agent (Auctioneer agent) is the auctioneer’s representative in the SeMPHoNIA network. It surveils and coordinates the execution of a specific auction and is responsible for the enforcement of rules governing the negotiation among all involved parties. The A-agent is aware of its owner’s preferences, such as the auction’s type, the reserve price, etc. This information is captured in the ontology that the user publishes on the network.
Customers in SeMPHoNIA may initiate one or more auction sessions, participating concurrently in one or more auctions in each of them. Each session has one coordinator agent, the C-agent (Customer agent), whose role is to manage the distinct sub-tasks that a session is decomposed into. This agent represents the user’s intelligent interface to the system, since it performs the necessary actions to achieve the goal of purchasing the desired product with the best to its owner profit among all auctions that it monitors. The C-agent controls the allocation of bids across auctions, relying on information about their progress and on its internal strategy, but does not participate in any of them directly.
CL-agents (Clone agents) are the actual participants in auctions conducted in the SeMPHoNIA marketplace. These agents are created by the C-agent, inheriting the initial knowledge concerning the user’s preferences, i.e., the maximum price they are allowed to spend for an item, the number of items they should intend to acquire etc. They react to notifications sent by both the A-agent, informing them about the progress of the auction they participate in, and the C-agent, instructing them to continue bidding or postpone their execution, in case this serves best the session’s evolution. CL-agents are specialized according to the type of auction that has been assigned to them (English, Vickrey etc.) and the bidding strategy that the user intends to follow (aggressive, last-minute bidding etc.). They all possess the primal attributes and knowledge of the corresponding C-agent, but present specializations in their behavior, justifying their characterization as clones of the C-agent.
SeMPHoNIA’s peer-to-peer network is a typical asynchronous-message-passing super-peer system that implements the auction marketplace environment. Three are the basic types of SeMPHoNIA peers: customer, auctioneer and operator peers.
Customer and auctioneer peers serve as single end users. Auctioneer peers have the additional functionality of publishing their ontologies on the network. Therefore, they are always accompanied by an ontology database, describing the selling products. All simple peers are able to cache messages and route them over all other peers in the cluster that they are connected to.
The third type of peer is the operator peer that acts as super-peer and provides zero or more agencies to the platform. Simple peers are connected to one or more operator peers to ensure greater reliability and scalability. Operator peers interconnect forming a backbone of peer clusters, allowing bridging remote clusters and permiting the application of message propagation algorithms to the underlying peers of each cluster, avoiding flooding message to the entire network.
SeMPHoNIA peers advertise their services in language-neutral metadata structures, represented as XML documents, called advertisements. Advertisements are the basic unit of data exchanged between peers to provide information about available resources. All peers contribute to increasing the level of connectivity to the overall network, by caching locally XML advertisements and automatically delivering them to interested peers upon request, without any need for human intervention.
An important notion of the SeMPHoNIA peer-to-peer architecture is its peer grouping concept. Peer groups are used to promote trusted services, by segmenting the network space into distinct communities of peers participating in an auction. For every auction listed on the network a new peer group is created by the auctioneer peer and whenever a customer decides to participate in an auction, it must first join the corresponding peer group. Only after the admission is granted, the peer is allowed to send agents to the auction place. This authentication mechanism applied for joining peer groups before registering in auctions can be extended to restrict entrance to specific members, provisioning the creation of private or secure auctions, based on criteria, such as peer reputation. We believe that security issues are better handled at the peer-to-peer layer than at the multi-agent layer, due to the ability to combine restriction mechanisms from both the lower physical level (encryption, authentication) and the higher software level (trust models, trust content)
The figure displays a snapshot of the system’s state at a random moment. The middle part shows a fraction of the peer-to-peer network. Simple peers connect with operator peers, which in turn interconnect with each other to form a network of main channels. Advertisements travel between peers on the same cluster or between operator peers and are cached at various nodes throughout their path. These advertisements may describe resources, such as product domains, ontologies, auction peer groups, agency addresses or just the presence of peers. The lower part of the image depicts the correspondence between auctioneer peers and their own auction peer groups, indicated by dashed-dotted lines. Auctioneers may create multiple peer groups, one for every auction they conduct. This layer also shows the virtual presence of customer peers in each peer groups. Last, the upper part displays the multi-agent layer of the system, which is the component that implements all auction sessions. The dashed-dotted line here implies the relation between an operator peer and the agencies it offers. The other peers create places for supporting negotiations and agents that travel between agencies.