Native App Load Signal for Crawling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing search systems face challenges in determining when native applications are sufficiently instantiated for crawling and indexing operations, leading to potential omission of content, especially for high-latency requests, and require application-specific tuning.

Innovation Solution

Monitoring both request and thread status within native applications to generate a load signal when all threads are idle, indicating the application is ready for crawling and indexing, eliminating the need for fixed timeouts and allowing for application-independent operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed timeout is used to determine when an application is ready for crawling, then the system is simple to implement, but content from high-latency requests may be omitted from indexing

Engineering Contradiction:
Improvecontent indexing completenessVSAvoidmonitoring system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms by monitoring request fulfillment status and thread idle status, using this information to dynamically determine when an application is ready for crawling. This feedback loop ensures content is not omitted while avoiding premature crawling, resolving the contradiction between reliability and complexity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The application itself provides signals about its readiness state through its thread execution status and request fulfillment patterns. The monitoring system leverages these self-generated signals rather than imposing external fixed timeouts, improving reliability without excessive complexity.

Inventive Principle:
Principle #25Self-service

2Productivity

If fixed timeout based requests are used, then resource usage is simpler to manage, but the system does not make optimal use of resources and may miss content

Engineering Contradiction:
Improveindexing efficiencyVSAvoidwaiting time for application readiness
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system transitions from static fixed timeout values to dynamic monitoring that adapts to each application's actual loading behavior. By observing request fulfillment and thread status in real-time, the system optimizes the timing of crawling operations for each application individually, improving productivity while reducing unnecessary waiting time.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If application-specific parameters are required for tuning, then the system can be optimized for each application, but the system becomes more complex and requires manual configuration

Engineering Contradiction:
Improveapplication-specific optimizationVSAvoidsystem configuration simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

Each application effectively configures its own monitoring parameters through its natural request patterns and thread execution behavior. The monitoring system observes these inherent characteristics without requiring manual tuning or application-specific configuration files, maintaining ease of operation while achieving application-specific optimization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The monitoring system implements a universal approach that works across different applications by observing common patterns (request fulfillment, thread idle status) rather than requiring application-specific configurations. This universal mechanism adapts to each application's unique behavior automatically, preserving both versatility and ease of operation.

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

Data Source

PatentUS9513961B1Monitoring application loading
Publication Date: 2016.12.06 GOOGLE LLC
  • US9513961B1 patent drawing
  • US9513961B1 patent drawing
  • US9513961B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for determining when an application is sufficiently instantiated to be subject to a crawling operation. In one aspect, a method includes instantiating an instance of a native application that generates environment instances for display on a user device within the native application instance; monitoring requests for content sent from the native application instance to serving entities that are external to the native application instance; determining whether each monitored request has been fulfilled; in response to determining that the requests are fulfilled: determining whether each thread in a set of threads of the native application instance is idle, generating a load signal in response to determining each thread in the set of thread of the native application instance is idle, the load signal indicating the native application instance is sufficiently instantiated to be subject to a crawling operation.