Patent 9531665
Derivative works
Defensive disclosure: derivative variations of each claim designed to render future incremental improvements obvious or non-novel.
Active provider: Google · gemini-2.5-pro
Derivative works
Defensive disclosure: derivative variations of each claim designed to render future incremental improvements obvious or non-novel.
Defensive Disclosure: Information Messaging Systems and Methods
Publication Date: May 12, 2026
Reference Patent: US 9,531,665
Keywords: Consent-based messaging, sequential advertising, triggered notifications, decentralized consent, federated messaging, cross-domain data triggers, AI-driven marketing, IoT-to-human messaging.
This document discloses a series of technical implementations, systems, and methods derived from the core concept of triggering a message from a second entity based on a user's affirmative acceptance of a message from a first entity. These disclosures are intended to enter the public domain as prior art.
Derivative Set 1: Component & Protocol Substitution
1.1. Decentralized Consent Ledger using Distributed Hash Tables (DHT)
Enabling Description: This variation replaces the central server and its database with a peer-to-peer network for managing and verifying user consent. When a user accepts a message from Vendor A, the mobile application (acting as a node) creates a cryptographically signed consent record. This record contains the user's public key, Vendor A's identifier, Vendor B's identifier, and a timestamp. The record is then stored on a Distributed Hash Table (DHT), like the one used in IPFS/libp2p, addressable by a key derived from the user's identifier and Vendor A. Vendor B's messaging service, also a node in the network, can query the DHT using the known key to verify consent before dispatching its message. This removes the single point of failure and control of the central server.
Diagram:
sequenceDiagram participant UserApp as User Application (Node) participant VendorA as Vendor A Service participant DHT as P2P DHT Network participant VendorB as Vendor B Service (Node) UserApp->>VendorA: Request/Interact with content VendorA-->>UserApp: Delivers Message/Offer 1 UserApp->>UserApp: User accepts Message 1 UserApp->>DHT: Publishes Signed Consent Record note over UserApp, DHT: Record: {user_pubkey, vendor_A_id, vendor_B_id, timestamp, signature} VendorB->>DHT: Queries for Consent Record by key(user_id, vendor_A_id) DHT-->>VendorB: Returns Signed Consent Record VendorB->>VendorB: Verifies Signature VendorB->>UserApp: Sends Message 2 (Post-Verification)
1.2. Rich Communication Services (RCS) with Chatbot-Managed Consent
Enabling Description: This implementation leverages the RCS protocol instead of SMS or proprietary push notifications. Vendor A initiates contact via an RCS chatbot. The user's "acceptance" is a structured interaction with the chatbot (e.g., tapping a "Yes, I agree" button). Upon acceptance, the chatbot for Vendor A makes a secure API call to a central consent-broker service. This service then instructs the RCS chatbot of Vendor B to initiate a new conversation with the user, delivering the second message. The entire flow occurs within the native messaging app, utilizing RCS's rich media and standardized event handling capabilities.
Diagram:
graph TD A[User's Native Messaging App] -- RCS Protocol --> B(Vendor A Chatbot); B -- Presents Offer 1 --> A; A -- User Taps 'Accept' Button --> B; B -- "Acceptance Event" --> C{Consent Broker API}; C -- Validates & Logs Consent --> C; C -- Trigger Message 2 --> D(Vendor B Chatbot); D -- Initiates New RCS Conversation --> A;
Derivative Set 2: Operational Parameter Expansion
2.1. Microsecond Consent-Trigger for High-Frequency Trading (HFT)
Enabling Description: The system is implemented for algorithmic trading. A trading algorithm's "acceptance" of a data packet from a primary market data feed (Vendor A, e.g., NYSE Direct Feed) is defined as executing a trade based on that packet's data. This execution event, logged in a low-latency messaging bus like Aeron or Kafka, triggers the system to subscribe the algorithm to a correlated, but competing, data feed (Vendor B, e.g., a dark pool's pricing feed) for a short, predefined window (e.g., 500 milliseconds) to seek arbitrage opportunities. The entire process from acceptance to the second subscription must occur in the sub-millisecond timeframe.
Diagram:
stateDiagram-v2 [*] --> Inactive Inactive --> Subscribed_To_A: Receive Market Data (Vendor A) Subscribed_To_A --> Subscribed_To_A: Processing Data Subscribed_To_A --> Triggered: Execute Trade Based on Data A Triggered --> Subscribed_To_B: Subscribe to Feed (Vendor B) Subscribed_To_B --> Subscribed_To_B: Processing Data A & B Subscribed_To_B --> Inactive: TTL (500ms) Expires Triggered --> Inactive: No Trade Executed
2.2. Low-Bandwidth, High-Latency System for Mesh Networks
Enabling Description: This variation is designed for disaster-response or battlefield IoT mesh networks using protocols like LoRaWAN or other delay-tolerant networking (DTN) standards. The "first message" is a high-priority status request from a central command node (Vendor A). A field unit's "acceptance" is its successful transmission of a response packet. Due to the unreliable network, this acceptance might take minutes or hours to propagate. Upon receipt at any listening node, the acceptance acts as a trigger for a secondary node (Vendor B, e.g., a supply drone) to queue a mission-critical message (e.g., "resupply coordinates") for delivery to the field unit on its next DTN routing opportunity.
Diagram:
flowchart LR subgraph FieldUnit A[Receive Status Request from A] --> B{Transmit Response}; end subgraph MeshNetwork B --> C[Nodes Propagate Response]; end subgraph SupplyDrone_NodeB C -- Response Received --> D[Queue Resupply Message]; D --> E(Transmit to Field Unit on Next Connection); end style FieldUnit fill:#f9f,stroke:#333,stroke-width:2px style SupplyDrone_NodeB fill:#ccf,stroke:#333,stroke-width:2px
Derivative Set 3: Cross-Domain Applications
3.1. Aerospace: Dissimilar Avionics System Cross-Verification
Enabling Description: In a glass cockpit, a pilot's "acceptance" of a critical flight parameter update from the primary Flight Management System (FMS, Vendor A), entered via the CDU, triggers an automated cross-check message. The FMS sends the newly accepted parameter (e.g., a final approach fix altitude) to a dissimilar secondary system, such as an Integrated Standby Instrument System (ISIS, Vendor B). The ISIS then runs its own calculation and sends a message back to the primary flight display indicating "AGREE" or "DISAGREE," providing immediate, automated verification from a redundant source.
Diagram:
sequenceDiagram participant Pilot participant PFD as Primary Flight Display participant FMS as FMS (Vendor A) participant ISIS as ISIS (Vendor B) Pilot->>FMS: Enters Altitude Update FMS-->>PFD: Displays Pending Update Pilot->>FMS: Executes/Accepts Update FMS->>ISIS: Send Accepted Parameter for Verification ISIS->>ISIS: Perform Independent Calculation ISIS-->>PFD: Display "AGREE" or "DISAGREE" status
3.2. Agriculture Technology (AgTech): Integrated Pest and Weather Management
Enabling Description: A farmer receives a message from their soil analytics provider (Vendor A) recommending the application of a specific nitrogen-based pesticide. The farmer "accepts" this recommendation by placing an order for the pesticide through Vendor A's platform. This order event triggers a message to a hyper-local weather forecasting service (Vendor B). Vendor B's service, now aware of the impending application, sends a secondary alert to the farmer with a 72-hour forecast specifically detailing conditions (wind speed, temperature inversions, precipitation) that would violate the pesticide's application guidelines, preventing spray drift and runoff.
Diagram:
erDiagram FARMER ||--o{ ACCEPTS : Recommendation ACCEPTS { string eventId PK datetime timestamp } RECOMMENDATION ||--|{ ACCEPTS RECOMMENDATION { string pesticideType } SOIL_ANALYTICS_A ||--|{ RECOMMENDATION SOIL_ANALYTICS_A { string vendorId PK } ACCEPTS }o--|| TRIGGERS : Alert TRIGGERS { string forecastType } WEATHER_SERVICE_B ||--|{ TRIGGERS WEATHER_SERVICE_B { string vendorId PK }
Derivative Set 4: Integration with Emerging Technologies
4.1. AI-Optimized Second Vendor Selection
Enabling Description: The server does not have a hardcoded rule for selecting the second vendor. When a user accepts a message from Vendor A, the server feeds a data payload (user's anonymized profile, Vendor A's category, time of day, geolocation) into a trained reinforcement learning model. The model's action space consists of all potential second vendors. The model selects the vendor (the "action") that maximizes the predicted reward, which is a combination of predicted user conversion probability and the bid price offered by the second vendor for the lead. The system continuously retrains the model based on the actual outcomes of the second messages.
Diagram:
flowchart TD A[User Accepts Message from Vendor A] --> B{Server Receives Acceptance}; B --> C[Construct Feature Vector: {user_profile, vendor_A_info, context}]; C --> D{RL Model}; D -- Predicts Optimal Action --> E[Select Vendor B from Pool]; E --> F[Send Message from Selected Vendor B]; F --> G[Track Outcome: Conversion/Dismissal]; G --> H(Update RL Model Weights); H --> D;
4.2. Blockchain-Verified Consent via Smart Contract
Enabling Description: The system is built on a permissioned blockchain (e.g., Hyperledger Fabric). Vendors and users are participants. Consent is managed by a smart contract. When a user accepts Vendor A's offer, their mobile app calls the
grantConsentfunction on the smart contract, passing Vendor A and Vendor B's identifiers. The smart contract logs this consent on the ledger immutably. A service run by Vendor B listens forConsentGrantedevents emitted by the smart contract. Upon hearing an event relevant to it, Vendor B's service is authorized to send its message, with the blockchain transaction ID serving as an auditable proof of prior consent.Diagram:
classDiagram class SmartContract { +mapping(address => Consent) consents +grantConsent(vendorA_id, vendorB_id) +revokeConsent(vendorA_id, vendorB_id) +verifyConsent(user, vendorB_id) bool } class UserApp { +wallet_address +callGrantConsent() } class VendorB_Service { +listenForConsentEvents() +sendMessage() } UserApp --> SmartContract : calls VendorB_Service --> SmartContract : listens to events
Derivative Set 5: The "Inverse" or Failure Mode
5.1. Privacy-Preserving Trigger with Zero-Knowledge Proof
Enabling Description: This variant ensures Vendor B can be triggered without knowing which Vendor A generated the consent, protecting commercial relationships. When User accepts Vendor A's message, the server generates a consent token. The server then generates a zero-knowledge proof (ZKP) that it holds a valid consent token for the user that matches a policy defined by Vendor B (e.g., "user consented to a message from the 'automotive' category"), without revealing the token itself or Vendor A's identity. Vendor B's system receives the trigger request along with the ZKP. It verifies the proof and, if valid, sends its message, trusting the trigger's authenticity without needing to know the source.
Diagram:
sequenceDiagram participant User participant Server as Consent Broker participant VendorB User->>Server: Accepts message from Vendor A Server->>Server: Generates Consent Token & ZKP note right of Server: Proof asserts: "I have a valid<br/>token for this user matching<br/>Vendor B's policy." Server->>VendorB: Request Send + Zero-Knowledge Proof VendorB->>VendorB: Verifies Proof alt Proof is Valid VendorB->>User: Sends Message 2 else Proof is Invalid VendorB->>Server: Rejects Request end
Combination Prior Art with Open-Source Standards
OAuth 2.0 Trigger Scopes: The user's "acceptance" is managed as an OAuth 2.0 consent flow. Vendor A's application requests a specific scope like
trigger:vendor_b:message. When the user authenticates and approves, the authorization server (the system) issues an access token. Vendor A's backend then uses this token to make a single, authorized API call to an endpoint that dispatches Vendor B's message. This grounds the consent mechanism in a widely adopted, secure, and well-defined authorization framework.CloudEvents for Decoupled Messaging: The acceptance event from Vendor A's system is packaged as a CNCF CloudEvent, a standard specification for describing event data. The event, containing
source: vendor-a,type: com.vendor.a.consent.accepted, andsubject: user_id, is published to a message broker (e.g., RabbitMQ, NATS). A separate microservice, acting as the trigger engine, subscribes to these events. It parses the CloudEvent and, based on its routing rules, constructs and emits a new CloudEvent (type: com.vendor.b.message.dispatch) directed to Vendor B's dispatch service. This creates a fully decoupled, event-driven architecture using open standards.OpenID Connect (OIDC) Consent Claim: The consent action is stored as a custom claim within a user's identity token, managed by an OIDC provider like Keycloak. When the user accepts Vendor A's message, the OIDC provider is updated to add a claim to that user's profile, e.g.,
"accepted_vendors": ["vendor_a_id"]. Vendor B's application, which also uses the OIDC provider for authentication, can then request this claim as part of its authentication flow. Upon findingvendor_a_idin the user's token claims, it is authorized to send its follow-up message, tying the trigger directly to the user's federated identity and session.
Generated 5/12/2026, 11:32:01 PM