System and method for providing additional functionality to existing software in an integrated manner

Patent No. US9578092 (titled "System and method for providing additional functionality to existing software in an integrated manner") on Oct 19, 2016. The application was issued on Feb 21, 2017.

What is this patent about?

’092 is related to the field of software application architecture, specifically focusing on methods for integrating complex communication capabilities into existing mobile and desktop applications. In traditional mobile environments, accessing specialized functions like video conferencing or secure file transfers often requires a context switch, forcing the user to leave their primary application to interact with a separate utility. This process is not only disruptive to the user experience but also resource-intensive, as the operating system must frequently swap instructions in and out of physical memory, which negatively impacts processor performance and battery longevity.

The underlying idea behind ’092 is the use of a self-contained, modular function block that is compiled directly into a primary “superblock” application to provide advanced services without external context switching. By embedding the logic for complex tasks—such as real-time media streaming or presence management—directly within the host application's memory space, the system bypasses the need for inter-process communication or application swapping. This architectural approach allows the host application to gain sophisticated features, like a floating video window, while maintaining a single, continuous execution state.

The claims of ’092 focus on a function block that manages audio/video (A/V) services and communication sessions by acting as an intelligent intermediary between the host application and external network resources. The independent claims specifically protect the mechanism of receiving a service request from the host, verifying authorization, and establishing a connection to an external device or resource through a network interface. Crucially, the claims require that these operations, including the rendering of video within the host’s own display window, occur entirely within the host application’s environment to avoid a context switch.

In practice, the invention works by utilizing a glue point or API that allows the host application to trigger the function block’s internal logic. When a user initiates a call or a file transfer, the function block performs a capability exchange to determine if the device hardware, such as a microphone or screen, is available and if the network can support the request. It then handles the heavy lifting of signaling and media negotiation with external servers, providing the resulting data stream back to the host application for simultaneous display alongside the original application content.

This approach differs from prior solutions by moving away from the standard model of launching separate, dedicated apps for communication. Instead of relying on the operating system to manage transitions between a business tool and an email or phone client, the ’092 patent describes a unified memory space implementation. This ensures that the host application retains control over the user experience and minimizes the overhead associated with memory management and processor state changes, leading to a more efficient and responsive mobile device performance.

How does this patent fit in bigger picture?

Technical Landscape

In the early 2010s when ’092 was filed, mobile application development was typically implemented using siloed software architectures where third-party functionalities were integrated via rigid, compile-time dependencies or external redirects. At a time when systems commonly relied on standalone applications to manage specific communication protocols or media services, hardware and software constraints on mobile devices made the seamless, runtime integration of complex external services non-trivial. Engineering practices often required significant overhead for backgrounding and resource management, as applications were generally restricted by the operating system from sharing execution contexts or hardware sinks like microphones and displays without intensive manual configuration.

Prosecution Position

The disclosed invention represents a meaningful technical advancement through an architectural shift that enables the dynamic integration of external service capabilities into a primary application via a specialized function block. By implementing a capability exchange mechanism, the system allows the function block to autonomously determine the availability of local hardware sinks and external service credentials before negotiating rendering responsibilities with the host application. This integration overcomes technical constraints related to resource efficiency and battery life by centralizing backgrounding, push notifications, and media processing within a unified framework that manages authentication and hardware access without requiring the host application to natively support the underlying service protocols.

Claims

The patent contains a total of 30 claims, with claims 1, 7, 12, and 22 serving as the independent claims. These independent claims focus on a function block that enables audio/video communication sessions within a superblock application by establishing connections with external resources without requiring a context switch from the application. The dependent claims serve to further define the system by specifying authorization protocols, API call mechanisms, rendering capabilities, initialization procedures, and collaborative features such as document sharing.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Capability exchange
(Claim 1, Claim 22)
In step 510, the function block 200 and the superblock 104 may perform a capability exchange. More specifically, the function block 200 may determine whether (1) the function block 200 has a particular capability, (2) whether the function block 200 can render that capability, and (3) whether the superblock 104 can render that capability. For example, the function block 200 may determine that the function block 200 has the capability to capture audio and play that captured audio through a speaker.A process where the function block determines its own capabilities, its ability to render them, and the superblock application's ability to render them.
Function block
(Claim 1, Claim 7, Claim 12, Claim 22)
The function block 200 may provide email or video capabilities for the superblock 104 and does so by providing those capabilities within the superblock application. The function block 200 may be configured to provide for specific behavior if desired and this behavior may in turn limit or enhance the capabilities of the superblock 104. By making such determinations, the function block 200 is able to notify the superblock 104 of the available functions.A discrete software component or module that provides specific capabilities, such as audio/video calling or communication sessions, to a separate application in an integrated manner.
Superblock application
(Claim 1, Claim 7, Claim 12, Claim 22)
The function block 200 may provide email or video capabilities for the superblock 104 and does so by providing those capabilities within the superblock application. In this example, the superblock 104 is involved in this process as it is needed to provide a video window to render the video. The superblock 104 may visually represent the audio, such as by means of an icon, one or more control buttons (e.g., play and stop), and/or other visual representations.An existing software application that receives additional functionality from a function block, allowing it to perform tasks like A/V services that it does not natively support.
Switching context
(Claim 7, Claim 12)
The steps of receiving, notifying, establishing, and providing are performed without switching context from the superblock application to another application on the data processing system. The manner in which functionality is accessed in certain environments, such as mobile device environments, may impact performance and/or battery life. Accordingly, what is needed are a system and method that addresses these issues.The act of moving the user's active environment or focus from one application to another, which the invention seeks to avoid by integrating functions.
Video window
(Claim 1, Claim 22)
In this example, the superblock 104 is involved in this process as it is needed to provide a video window to render the video. The function block 200 may provide the video data to be rendered and the superblock 104 may place that video data in a video window. The video window is displayable simultaneously with the display window of the superblock application.A specific display area provided by the superblock application where video data supplied by the function block is rendered simultaneously with the main application window.

Litigation Cases New

US Latest litigation cases involving this patent.

Case NumberFiling DateTitle
2:25-cv-00594May 30, 2025Damaka, Inc. V. The Cigna Group
2:25-cv-00593May 30, 2025Damaka, Inc. v. Cisco Systems, Inc.

Patent Family

Patent Family

File Wrapper

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.

  • Get instant alerts for new documents

US9578092

Application Number
US15297328A
Filing Date
Oct 19, 2016
Publication Date
Feb 21, 2017
External Links
Slate, USPTO , Google Patents