Who are the strongest European competitors on software ideas? Who is the best doctor to cure insomnia in a nearby hospital? Where can I attend an interesting conference in my field close to a sunny beach?
This information is available on the Web, but no software system can accept such queries nor compute the answer. We hereby propose search computing as the new multi-disciplinary science which will provide the abstractions, foundations, methods, and tools required to answer these and many similar questions.
The emerging paradigm of service computing has so far been neutral to the presence of search services, which are equal "inter pares". This proposal brings about a simple yet revolutionary idea: service computing evolves into search computing, a new paradigm where ranking is the dominant factor for composing services. While state-of-art search systems answer generic or domain-specific queries, search computing enables answering questions via a constellation of dynamically selected, cooperating search services.
The idea is simple, yet pervasive. New foundational theories are needed, rooted into formal disciplines such as mathematics, statistics, and optimization theory. New language and description paradigms are required for expressing queries and for discovering services. New interfaces and protocols help capturing ranking preferences and enabling their refinement. Semantic domain knowledge helps enriching terminological knowledge about objects being searched. Ranking is always relative to individuals and context, thus the study of personal and social behaviour is also essential. Economical and legal implications of search computing must be understood and mastered. In summary, search computing is a multi-disciplinary effort which requires adding to sound software principles contributions from other sciences such as mathematics, operations research, psychology, sociology, knowledge representation, human-computer interfaces, economical and legal sciences.
A. Theory for search computing. Select the best abstractions covering the concepts of conventional vs. search services and their interactions, abstracted as networks of operational nodes. Design basic operations on services and the algorithms to perform such operations, compute time and space complexity of these algorithms.
B. Optimization methods for search computing. Build cost models for search service computations. Design exact and heuristic methods for solving optimization problems in practical contexts.
C. Description abstractions for search services. Expose ranking-specific properties of search services - much in the same way as all other functional and non fun-ctional properties of services - so as to drive search service selection and composition strategies.
D. Language abstractions for search computing. Build languages that enable expressing queries over search services, by incorporating the ranking aspects and strategies for dealing with rankings.
E. Human-computer interfaces for search computing. Build new and original interaction paradigms focused on expressing ranking preferences. User interaction should be light-weight and at the same time user-engaging, linking one request to the next; it should help orchestrators in “resolving” conflicts, e.g. due to incommensurable rankings rendered as partial orders.
F. Semantics for search computing. Merging the results of heterogeneous search services dealing with the “same real-world fact” is inherently difficult, as the search services will not share the same terminology for describing such fact. Thus, the “join” of search services requires solving semantic problems. Search computing research will incorporate some results stemming from automatic reasoning, inference upon ontologies, and semantic Web services.
G. Higher-order rankings for search computing. Higher-order ranking, or the “ranking of rankings”, is essential for selecting and prioritizing search services. This problem is inherently a multi-level one, and can be solved by assigning “ranks” to search engines based on the query domain and then using such ranks in the higher-order orchestration layer.
H. Managing individual and social searching. Factors such as relating search strategies to user profiling or to past user interactions may significantly improve the perceived quality of each user. Societal recommendation and evaluation is the most critical success factor for most Web applications, including search, as the number of visits is the worldwide used success metric. Thus, individual and societal aspects are key ingredients for search computing.
I. Search computing engineering. Develop a method for specifying, designing, assembling and deploying search computing software applications. The method should separately address service design and service orchestration, where the first activity produces best-suited ingredients to be used (and re-used) by the second activity.
L. Economy of search computing. The success of search computing will depend on the development of an economy of search services. Application developers and data source owners will need suitable business models, based upon advertising schemes, pay-per-query, subscription fees, micro-billing, and so on.
Links: