IP Library Granted Patent US 9,578,092
Granted Patent B1
US 9,578,092 · App. 15/297,328 · Granted Feb 21, 2017

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

Inventors: Sivakumar Chaturvedi (Allen, TX); Satish Gundabathula (Irving, TX); Rashmi Hiremath (Allen, TX)
Assignee: DAMAKA, INC.
H04L67/10G06F15/167H04L41/20H04L41/28H04L65/1069H04L65/1089H04L65/60H04L67/32
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,578,092
App. No.
15/297,328
Granted
Feb 21, 2017
Kind
B1
Abstract

An improved system and method are disclosed for improving functionality in software applications. In one example, the method includes a computing entity having a network interface, a processor, and a memory configured to store a plurality of instructions. The instructions include instructions for a superblock application having instructions for a function block included therein. The function block is configured to provide functions that are accessible to the superblock application via an application programming interface (API). The functions are provided within the superblock application itself and are accessible within the superblock application without switching context to another application on the computing entity.

Claims (50)

1. A computer program product in a non-transitory computer readable medium for use in a data processing system that comprises a processor coupled to a network interface, the computer program product holding computer program instructions that comprise a function block, the function block having audio/video (A/V) call functionality, the function block operative when executed by the processor to:

receive from a superblock application a request for an audio/video (A/V) service;

determine that the superblock application is authorized to access the A/V service functionality;

determine that the AN service requires access to a resource that is external to the data processing system;

establish the A/V service between the superblock application and the resource via the network interface, wherein establishing is not otherwise supported by the superblock application;

provide video output for the A/V service to a video window within a display window associated with the superblock application, the video window displayable simultaneously with the display window of the superblock application; and

provide audio for the A/V service.

2. The computer program product of claim 1 wherein the function block is further operative when executed by the processor to operate as a bridge between the superblock application and the external resource.

3. The computer program product of claim 1 wherein the request is an application programming interface (API) call from the superblock application to the function block.

4. The computer program product of claim 1 wherein the superblock is configured to initialize the function block when the superblock application is loaded and executed.

5. The computer program product of claim 1 wherein the function block is further operative when executed by the processor to determine that the superblock application is authorized to access functionality provided by the function block for the A/V service.

6. The computer program product of claim 1 wherein the function block is further operative when executed by the processor to enable a user of the data processing system to collaborate on at least one of a document, a file, or an application with a user on another data processing system.

7. A computer program product in a non-transitory computer readable medium for use in a data processing system that comprises a processor coupled to a network interface, the computer program product holding computer program instructions that comprise a function block, the function block having audio/video (A/V) call functionality, the function block operative when executed by the processor to:

receive from a superblock application a request for a communication session, wherein the function block is configured to provide functionality for the communication session to the superblock application;

notify the superblock application that the communication session is being requested;

establish a connection with an external device via the network interface to support the communication session; and

provide the communication session to the superblock application, wherein 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.

8. The computer program product of claim 7 wherein the function block is further operative when executed by the processor to determine whether the function block has a capability to perform any rendering needed by the communication session.

9. The computer program product of claim 7 wherein the function block is further operative when executed by the processor to determine whether the superblock has a capability to perform any rendering needed by the communication session.

10. The computer program product of claim 7 wherein the function block is further operative when executed by the processor to determine that the superblock application is authorized to access functionality provided by the function block for the communication session.

11. The computer program product of claim 7 wherein the function block is further operative when executed by the processor to enable a user of the data processing system to collaborate on at least one of a document, a file, or an application with a user on another data processing system.

12. A method implemented in a function block associated with a computing entity having a network interface, comprising:

receiving from a superblock application a request for a communication session, wherein the function block is configured to provide functionality for the communication session to the superblock application;

notifying the superblock application that the communication session is being requested;

establishing a connection with an external device via a network interface of the computing entity to support the communication session; and

providing the communication session to the superblock application, wherein the steps of receiving, notifying, establishing, and providing are performed without switching context from the superblock application to another application associated with the computing entity.

13. The method of claim 12 wherein providing the communication session includes operating as a bridge between the superblock application and the external device.

14. The method of claim 12 wherein the request is an application programming interface (API) call from the superblock application to the function block.

15. The method of claim 12 further comprising determining whether the function block has a capability to provide the communication session.

16. The method of claim 12 further comprising determining whether the function block has a capability to perform any rendering needed by the communication session.

17. The method of claim 12 further comprising determining whether the superblock has a capability to perform any rendering needed by the communication session.

18. The method of claim 12 further comprising initializing the function block when the superblock application is loaded and executed.

19. The method of claim 12 further comprising determining that the superblock application is authorized to access functionality provided by the function block for the communication session.

20. The method of claim 12 further comprising providing at least one configuration parameter for the function block, wherein the configuration parameter enables the function block to be configured after the function block is distributed as part of the superblock application.

21. The method of claim 12 further comprising enabling, by the function block, a user of the computing entity to collaborate on at least one of a document, a file, or an application with a user on another computing entity.

22. A method implemented in a function block associated with a computing entity having a network interface, comprising:

receiving from a superblock application a request for an audio/video (A/V) service;

determining that the superblock application is authorized to access the A/V service functionality;

determining that the A/V service requires access to a resource that is external to the computing entity;

establishing the A/V service between the superblock application and the resource via the network interface, wherein establishing is not otherwise supported by the superblock application;

providing video output for the A/V service to a video window within a display window associated with the superblock application, the video window displayable simultaneously with the display window of the superblock application; and

providing audio for the A/V service.

23. The method of claim 22 further comprising operating as a bridge between the superblock application and the external resource.

24. The method of claim 22 further comprising initializing the function block when the superblock application is loaded and executed.

25. The method of claim 22 further comprising determining that the superblock application is authorized to access functionality provided by the function block for the A/V service.

26. The method of claim 22 further comprising providing at least one configuration parameter for the function block, wherein the configuration parameter enables the function block to be configured after the function block is distributed as part of the superblock application.

27. The method of claim 22 further comprising determining whether the function block has a capability to perform any rendering needed by the A/V service.

28. The method of claim 22 further comprising determining whether the superblock has a capability to perform any rendering needed by the communication session.

29. The method of claim 22 further comprising providing at least one configuration parameter for the function block, wherein the configuration parameter enables the function block to be configured after the function block is distributed as part of the superblock application.

30. The method of claim 22 further comprising enabling, by the function block, a user of the computing entity to collaborate on at least one of a document, a file, or an application with a user on another computing entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2016
From: CHATURVEDI, SIVAKUMAR; HIREMATH, RASHMI; GUNDABATHULA, SATISH
To: DAMAKA, INC.
Reel/Frame 040060/0195 →
Continuity (4)
Continuation 15049891 · Feb 22, 2016
Continuation 14690619 · Apr 20, 2015
Continuation 14024027 · Sep 11, 2013
Provisional Application 61846958 · Jul 16, 2013