Native Application Search Indexing via Virtual Machine Crawling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current search engines cannot effectively generate concise and accurate deep links for native applications, as they lack the necessary text or resources to create identifying strings, and existing metadata-based solutions are often too long, repetitive, or unclear.

Innovation Solution

A system that accesses and indexes application page data within a virtual machine emulating the user device's operating system, generating application page data including text, images, and icons, and combining these with application package data to create a concise and accurate identifying string for native application search results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If search engines use metadata from application packages to index native applications, then search results can be provided, but the metadata is often too long, repetitive, or unclear to provide accurate deep links

Engineering Contradiction:
Improveaccuracy of deep link identificationVSAvoidclarity of search results
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent extracts only the essential information from application packages and actual application content by crawling and indexing specific data elements (application name, package name, version, icon, and page content). This selective extraction filters out redundant metadata while preserving the core information needed for accurate deep link generation, resolving the contradiction between providing comprehensive search results and maintaining clarity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary crawling and indexing of application content before search queries are executed. By pre-processing and storing structured data about application pages, the system prepares concise identifying strings in advance, enabling fast and accurate search results without needing to process large amounts of metadata in real-time.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If search engines crawl and index web page resources, then comprehensive search results are provided, but this approach cannot be applied to native applications due to their closed environment

Engineering Contradiction:
Improvesearch capability across different application typesVSAvoidaccess to application content
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary indexing mechanism that bridges the gap between search engines and native applications. Instead of directly crawling application content (which is blocked by sandboxing), the system uses package manifests and authorized content access points as intermediaries to extract and index application information, enabling search capability while respecting the security model of mobile operating systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The search engine is enhanced with multi-functionality to handle both traditional web resources and native applications through a unified search interface. The system can process different data formats (web HTML and application package structures) and present consistent search results, making the search capability universally applicable across different application types while maintaining reliable access through authorized content retrieval mechanisms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10713324B2Search results for native applications
Publication Date: 2020.07.14 GOOGLE LLC
  • US10713324B2 patent drawing
  • US10713324B2 patent drawing
  • US10713324B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for generating native application search results. In one aspect, a method includes accessing application package files for native applications, and for each native application: determining, from the application package file, an application name of the native application, accessing, at the data processing apparatus, application pages of the native application, and for each of the application pages, generating application page data describing content of the application page, an application page name of the application page, the content described by the application page data including text that a user device displays on the application page when the user device displays the application page, and indexing the application page data and application icon for the native application in an index that is searchable by a search engine.