IP Library Granted Patent US 9,331,967
Granted Patent B2
US 9,331,967 · App. 14/069,308 · Granted May 3, 2016

Browser/HTML friendly protocol for real-time communication signaling

Inventors: Binod Pankajakshy Gangadharan (Bangalore, IN); Terje Strand (Redwood Shores, CA); Xiaoyan Sun (Beijing, CN); Shuquan Zhang (Beijing, CN); Boris Selitser (Castro Valley, CA); Honggang Frank Zhu (Roswell, CA); Karthic Loganathan (New Albany, OH)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L51/04H04L45/021H04L67/141
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,331,967
App. No.
14/069,308
Granted
May 3, 2016
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system for real-time communication signaling protocol for use in a telecommunication network and communication in web-only Internet. The protocol facilitates adapting complex signaling on the server-side into simple operations towards the Web. In an embodiment the protocol is used to communicate between a server-side web signaling engine and a client-side communication controller. The client-side communication controller provides a JavaScript API to encapsulate the signaling layer. The web signaling engine includes a controller which terminates communications using the protocol, and normalizes communications into an internal protocol suitable for communication with telecommunications network systems. In an embodiment, the protocol utilizes JSON and a WebSocket connection and can be defined as a WebSocket subprotocol.

Claims (44)

1. A method for real-time communication over a WebSocket connection, comprising:

creating a session between an HTML5 application on a client-side controller and a network-side controller;

sending, via the HTML5 application, a plurality of messages over the WebSocket connection to a network-side controller; and

receiving at least one message in response to the plurality of messages sent over the WebSocket connection;

wherein each message is sent or received in a separate subsession within the session, and implements a real-time communication protocol comprising a JavaScript Object Notation (JSON) object;

wherein the JSON object includes

a control headers section containing an identifier of the associated subsession for use in tracking the message,

a general headers section that contains information related to a specific action that the message performs, and

a payload.

2. The method of claim 1 , further comprising processing the plurality of messages by the network-side controller, wherein the network-side controller supports a plurality of communication protocols, including the real-time communication protocol.

3. The method of claim 1 , wherein the network-side controller translates the plurality of messages from the real-time communication protocol to a different protocol based on a data definition maintained in the network-side controller.

4. The method of claim 1 , wherein one or more of the plurality of messages are signaling messages used to set up a call between the client-side controller and the network-side controller.

5. The method of claim 1 , wherein the control headers section contains information related to at least one of reconnect, reliability and timeout of the WebSocket connection; and

state and type of a message.

6. The method of claim 1 , wherein the general headers section is extensible by adding additional headers to the section via the network-side controller.

7. The method of claim 1 , wherein the payload is specific to a package used by a message, wherein the package is a type of service that the message handles.

8. The method of claim 7 , wherein the payload is session description protocol information.

9. The method of claim 1 , wherein the real-time communication protocol uses WebSocket ping/pong to support keep-alive, and a failure of one side to receive the keep-alive would result in a timeout of a last message.

10. A system for real-time communication over a WebSocket Connection, comprising:

a client-side controller operating on one or more microprocessors, the client-side controller being adapted to transmit a plurality of messages over the WebSocket Connection to a network-side controller in a session established between the client-side and network-side controllers, and receive at least one message in response to the plurality of messages sent over the WebSocket Connection;

wherein each message is sent or received in a separate subsession within the session, and implements a real-time communication protocol comprising a JavaScript Object Notation (JSON) object;

wherein the JSON object includes

a control headers section containing an identifier of the associated subsession for use in tracking the message,

a general headers section that contains information related to a specific action that the message performs, and

a payload.

11. The system of claim 10 , further comprising:

processing the plurality of messages by the network-side controller, wherein the network-side controller supports a plurality of communication protocols, including the real-time communication protocol.

12. The system of claim 10 , wherein one or more of the plurality of messages are signaling messages used to set up a call between the client-side controller and the network-side controller.

13. The system of claim 10 , wherein the control headers section contains information related to at least one of reconnect, reliability and timeout of the WebSocket connection; and state and type of a said message.

14. The system of claim 10 , wherein the general headers section is extensible by adding additional headers to the section via the network-side controller.

15. The system of claim 10 , wherein the payload is specific to a package used by a message, wherein the package is a type of service that the message handles.

16. The system of claim 15 , wherein the payload is session description protocol information.

17. The system of claim 10 , wherein the network-side controller translates the plurality of messages from the real-time communication protocol to a different protocol based on a data definition maintained in the network-side controller.

18. A non-transitory computer-readable storage medium storing a set of instructions for real-time communication over a WebSocket Connection, said instructions, when executed by one or more processors, causing the one or more processors to perform steps comprising:

creating a session between an HTML5 application on a client-side controller and a network-side controller;

sending, via the HTML5 application, a plurality of messages over the WebSocket connection to a network-side controller; and

receiving at least one message in response to the plurality of messages sent over the WebSocket connection;

wherein each message is sent or received in a separate subsession within the session, and implements a real-time communication protocol comprising a JavaScript Object Notation (JSON) object;

wherein the JSON object includes a control headers section containing an identifier of the associated subsession for use in tracking the message,

a general headers section that contains information related to a specific action that the message performs, and

a payload.

19. The non-transitory computer-readable storage medium of claim 18 , further comprising;

processing the plurality of messages by the network-side controller, wherein the network-side controller supports a plurality of communication protocols, including the real-time communication protocol.

20. The non-transitory computer-readable storage medium of claim 18 , wherein one or more of the plurality of messages are signaling messages used to set up a call between the client-side controller and the network-side controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2014
From: GANGADHARAN, BINOD PANKAJAKSHY; STRAND, TERJE; SUN, XIAOYAN; ZHANG, SHUQUAN; SELITSER, BORIS; ZHU, HONGGANG FRANK; LOGANATHAN, KARTHIC
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 031954/0481 →
Continuity (2)
Continuation In Part 13758768 · Feb 4, 2013
Related Publication 20140222930A1 · Aug 7, 2014