IP Library Granted Patent US 11,575,732
Granted Patent B1
US 11,575,732 · App. 16/013,680 · Granted Feb 7, 2023

Networked device control using a high-level programming interface

Inventor: Zhishen Liu (San Jose, CA)
Assignee: 8x8, Inc.
H04L67/10G10L15/22G10L2015/223
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 11,575,732
App. No.
16/013,680
Granted
Feb 7, 2023
Kind
B1
Abstract

Certain aspects of the disclosure are directed to customization of communications services. According to a specific example, a data communications server is configured and arranged to provide a database with virtual office features available to remotely-situated client entities. The data communications server is configured to provide to the client entities, a set of instructions written in a first programming language that defines a message exchange protocol. The set of instructions includes aspects of the message exchange protocol to be populated with client-specific directives. The data communications server may receive operating state information from endpoint devices associated with the client entity and trigger an action on one or more of the endpoint devices associated with the client entity by executing client-specific sets of control data derived from programming instructions written in a second programming language that is compatible with the first programming language.

Claims (31)

1. An apparatus, comprising:

a data communications provider server having one or more servers to provide data communications services, via a communications platform, of different types including routing of incoming data communications and virtual office data-communications features that involve the routing of incoming data communications that are incoming to the data communications provider server for providing specific ones of the data communications services for each of a plurality of disparate client entities;

a computing server, from among the one or more servers configurable to provide data communications services, configured to communicate with and control a plurality of endpoint devices each respectively associated with an account of a respective one of the plurality of disparate client entities according and responsive to client-specific sets of control data; and

a processing circuit communicatively coupled to the computing server and configured to, for each of the plurality of disparate client entities:

provide a set of instructions written in a first computer programming language;

receive, from each respective client entity, a set of instructions written in a second computer programming language that is compatible with and different than the first computer programming language, the set of instructions including the client-specific sets of control data associated with virtual office data-communications features available to the client entity, wherein each of the first and second computer programming languages provide respective sets of computer programming commands, and the set of computer programming commands provided by the second computer programming language being fewer than the set of computer programming commands provided by the first computer programming language;

receive operating state information from endpoint devices associated with the client entity; and

in response to receipt of the operating state information, send a triggering signal to cause a change of operating mode or activity of one or more of the endpoint devices associated with the client entity based on the client-specific sets of control data derived from the set of instructions received from the client entity.

2. The apparatus of claim 1 , wherein the client-specific sets of control data specify a frequency of data collection for at least some of the endpoint devices associated with the client entity.

3. The apparatus of claim 1 , wherein the client-specific sets of control data specify a frequency with which at least some of the endpoint devices communicate collected data with others of the endpoint devices.

4. The apparatus of claim 3 , wherein each of the endpoint devices is configured and arranged to store and communicate data including at least two of: voice interaction, music playback, making to-do lists, setting alarms, streaming podcasts, playing audiobooks, providing weather information, and providing traffic information.

5. The apparatus of claim 1 , wherein the client-specific sets of control data specify a manner in which endpoint devices are controlled by the processing circuit.

6. The apparatus of claim 1 , wherein the client-specific sets of control data specify a manner in which endpoint devices are monitored by the processing circuit.

7. The apparatus of claim 1 , wherein at least some of the plurality of endpoint devices are configured and arranged to control automation for home automation.

8. The apparatus of claim 1 , wherein the client-specific sets of control data control specify a manner of operating at least one of a lighting system, a heating system, a ventilation system, and an air conditioning system.

9. The apparatus of claim 1 , wherein the client-specific sets of control data control specify a manner of operating at least one of a washing machine, a robotic vacuum, an air purifier, an oven, and a refrigerator.

10. The apparatus of claim 1 , wherein the client-specific sets of control data specify a manner in which the plurality of endpoint devices communicate with the processing circuit, a manner in which the plurality of endpoint devices communicate with one another, and various parameters for remote monitoring of the plurality of endpoint devices.

11. The apparatus of claim 1 , wherein the client-specific sets of control data specify particular individuals associated with a particular client entity among the plurality of disparate client entities that may access or control the plurality of endpoint devices associated with the client entity, using the processing circuit.

12. The apparatus of claim 1 , wherein the client-specific sets of control data specify a manner in which the plurality of endpoint devices associated with a particular client entity may be activated via the processing circuit.

13. The apparatus of claim 1 , wherein the client-specific sets of control data specify a language in which the plurality of endpoint devices associated with a particular client entity may communicate with the processing circuit.

14. The apparatus of claim 1 , wherein the processing circuit is configured and arranged to, based on the client-specific sets of control data, control a first endpoint device of a particular client entity in a first spoken language and control a second endpoint device of the particular client entity in second spoken language.

15. A method for use in a data communications system, comprising:

receiving from a data communications server, a set of instructions written in a first computer programming language, wherein the data communications server is configured and arranged to provide a database with a set of virtual office data-communications features available to remotely-situated client entities based on a subscription, wherein the virtual office data-communications features involve routing of incoming data communications, to the data communications server, for providing specific ones of data communications services to the remotely-situated client entities;

generating at a client server communicatively coupled to the data communications server and associated with a particular remotely-situated client entity, a set of instructions written in a different second computer programming language by populating the set of instructions received from the data communications server with client-specific directives received as input on behalf of the client entity, wherein the second computer programming language is a subset of the first computer programming language and is associated with virtual office data-communications features available to the particular client entity;

identify an operating state for each of a plurality of endpoint devices associated with the client entity; and

facilitating control of the plurality of endpoint devices via the data communications server, by communicating the operating state information for the endpoint devices to the data communications server and executing client-specific sets of control data derived from the set of instructions written in the second computer programming language.

16. The method of claim 15 , including communicating information to the data communications server indicating a type of system supported by each of the respective endpoint devices.

17. The method of claim 15 , including identifying each of the plurality of endpoint devices by at least one of a device type, an operating system, and an identification number, and facilitating or directing data communications with said each of the plurality of endpoint devices based on or as a function the respective identification and of the set of instructions written in the second computer programming language.

18. The method of claim 15 , including facilitating a manner in which new endpoint devices may be added to the data communications system, based on the client-specific sets of control data.

19. The method of claim 15 , including facilitating connection of the plurality of endpoint devices, and communication of data between the plurality of connected endpoint devices, based on the client-specific sets of control data.

20. The apparatus of claim 1 , wherein each of the sets of instructions, as written in a first computer programming language and a second computer programming language, is written using one from among the following: C++; XML; JAVA; HTML; and SQL, and wherein each of the first and second computer programming languages provide respective sets of computer programming commands, and the set of computer programming commands provided by the second computer programming language being fewer than the set of computer programming commands provided by the first computer programming language.

Assignments (5)
SECURITY INTEREST Recorded Aug 5, 2024
From: 8X8, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 068327/0819 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2024
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: 8X8, INC.; FUZE, INC.
Reel/Frame 068328/0569 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE APPLICATION NUMBERS 11265423, 11252205, 11240370, 11252276, AND 11297182 PREVIOUSLY RECORDED ON REEL 061085 FRAME 0861. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY SECURITY AGREEMENT. Recorded Jan 26, 2024
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066383/0936 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 061085/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2018
From: LIU, ZHISHEN
To: 8X8, INC.
Reel/Frame 046149/0291 →