Patent Document ID: 7908278
Application ID: 12027315

Base Claim:
1. A recommendation system for assisting mashup developers at build time comprising: a processor; a repository manager analyzes a repository of mashups and pulls from the mashup repository a list of all existing mashups, the repository manager including a catalog manager, which keeps track of all mashups, services and service outputs in the repository of mashups, and a statistics manager, which collects statistics and determines probability distributions for the occurrence of different repository terms and their co-occurrence patterns; a semantic matcher accesses one or more databases and provides a similarity score upon request of the repository manager for any pair of terms in the list of all existing mashups to the statistics manager, the repository manager then computing a table of frequencies for all outputs and services based on the similarity scores; an output ranker receives a partial mashup from the mashup developer and generates a ranked output list from the list of all existing mashups provided by the repository manager, excluding outputs appearing in the partial mashup, the output ranker assigns a relevance score to each candidate output, said score reflecting the relevance of the output to any of the terms in the partial mashup, and ranks candidate outputs based on their scores, the ranked candidate outputs being provided as recommended outputs to the mashup developer; and a planner receiving a selected recommended output from the mashup developer and computing a combination of repository services that will produce the selected output, the combination being based on the similarity scores from the semantic matcher and the table of frequencies from the repository manager, the computed combination of repository services being added to the mashup developer's mashup.

---

Claim 2:
2. The recommendation system of claim 1 , wherein the mashup developer communicates with the recommendation system through a communication system includes: a mashup editor client including a graphic user interface (GUI) for displaying a repository of services from which the mashup developer can select services, displaying recommended outputs from the output ranker, one of the displayed recommended outputs being selectable by the mashup developer, and displaying the computed combination of services; and a mashup editor server communicating with the mashup editor client via a network, the mashup editor server providing a partial mashup to the output ranker and receiving a ranked output list from the output ranker, the mashup editor server further providing a partial mashup and desired output to the planer and receiving a computed combination of services from the planner.