IP Library › Granted Patent US 9,092,497
Granted Patent B2
US 9,092,497 · App. 13/371,828 · Granted Jul 28, 2015

System and method to join and cut two-way rest overlay trees for distributed knowledge bases

Inventors: Li Li (Bridgewater, NJ); Wu Chou (Basking Ridge, NJ)
Assignee: Avaya Inc.
G06F17/30575
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,092,497
App. No.
13/371,828
Filed
Feb 13, 2012
Granted
Jul 28, 2015
Kind
B2
Art Unit
2157
USPC
707/636
Abstract

System and method of event-driven synchronization of a database distributed among servers connected in a tree topology, including: transmitting, from a root server, a composition request to a first level of child servers of the root server; recursively transmitting, from each child server of a first level, a composition request to child servers at a second level, wherein the second level is lower than the first level; recursively transmitting, from each child server of the second level, a notification message to child servers at the first level, wherein the notification message comprises an identification of database fragments accessible to the child server; transmitting, from child servers at the first level, respective notification messages to the root server, wherein the root server synchronizes an availability of database fragments from the respective notification messages transmitted to the root server. Subtrees may be cut from or joined to the tree topology.

Claims (300)

1. A system to provide event-driven synchronization of a database distributed among a plurality of servers connected in a tree topology, comprising:

a root server further comprising a transceiver coupled to a processor, where the transceiver is configured to transmit, from the root server of the tree topology, a composition request to child servers at a first predetermined level;

the child servers at the first predetermined level of the tree topology, wherein each of the child servers at the first predetermined level further comprises a transceiver coupled to a processor, the transceiver configured to recursively transmit a composition request to child servers at a second predetermined level of the tree topology, wherein the second predetermined level is lower than the first predetermined level;

the child servers at the second predetermined level of the tree topology, wherein each of the child servers at the second predetermined level further comprises a transceiver coupled to a processor, the transceiver configured to recursively transmit a notification message to child servers at the first predetermined level of the tree topology, wherein the notification message comprises an identification of database fragments accessible to the child server;

at child servers at the first predetermined level of the tree topology, the transceiver transmits respective notification messages to the root server in the response to receiving the notification messages, wherein each of the child servers at the first predetermined level combines results received in the notification messages from their respective child servers at the second predetermined level with results associated with database fragments accessible to the child server itself;

wherein the root server merges the respective notification messages and synchronizes an availability of database fragments from the respective notification messages transmitted to the root server to form a virtual knowledge database,

wherein the step of recursively transmitting, from each child server of a first predetermined level of the tree topology, a composition request to child servers at a second predetermined level of the tree topology, comprises evaluating the following relationship:

V

⁡

(

P

,

S

i

)

=

K

⁡

(

P

,

S

i

)

⋃

⋃

C

∈

c

⁡

(

P

)

⁢

V

⁡

(

C

,

S

i

)

wherein:

P comprises a parent node;

C comprises a child node;

S i comprises a knowledge service on node i;

i comprises an index variable;

V( ) comprises a view of virtual knowledge base for service S i at node P;

K( ) comprises a knowledge base for service S i at node P; and

c(P) comprises a set of child nodes of node P.

2. The system of claim 1 , wherein the root server and child servers provide RESTful web services.

3. The system of claim 1 , wherein the tree topology comprises an overlay network of REST servers connected by a composition links and a notification links.

4. The system of claim 3 , further comprising the steps of:

pausing a processing of update events;

retrieving a reference count from a root node of a subtree to add to the tree topology;

updating a database mapping in the root server; and

resuming the processing of update events.

5. The system of claim 4 , wherein the reference count is determined in accordance with the following relationship:

rc

⁡

(

P

,

S

i

,

K

j

)

=

f

⁡

(

P

,

S

i

,

K

j

)

+

∑

C

∈

c

⁡

(

P

)

⁢

rc

⁡

(

C

,

S

i

,

K

j

)

wherein:

rc( ) comprises a reference count function;

ƒ( ) comprises a set of fragments of knowledge base Kj;

P comprises a parent node;

C comprises a child node;

c(P) comprises a set of child nodes of node P;

Si comprises a service;

Kj comprises a fragment of a knowledge base; and

i, j comprise index variables.

6. The system of claim 4 , further comprising: exchanging corrective messages between a node of the overlay tree and the root node of the subtree in order to add to the tree topology.

7. The system of claim 4 , further comprising:

providing a delete command to child servers; and

updating a database mapping in a parent server.

8. A method of event-driven synchronization of a database distributed among a plurality of servers connected in a tree topology, comprising:

transmitting, from a root server of the tree topology, a composition request to a first level of child servers of the root server;

recursively transmitting, from each child server of a first predetermined level of the tree topology, a composition request to child servers at a second predetermined level of the tree topology, wherein the second predetermined level is lower than the first predetermined level;

recursively transmitting, from each child server of the second predetermined level of the tree topology, a notification message to child servers at the first predetermined level of the tree topology, wherein the notification message comprises an identification of database fragments accessible to the child server;

transmitting, from child servers at the first predetermined level of the tree topology, respective notification messages to the root server,

wherein the root server synchronizes an availability of database fragments from the respective notification messages transmitted to the root server,

wherein the step of recursively transmitting, from each child server of a first predetermined level of the tree topology, a composition request to child servers at a second predetermined level of the tree topology, comprises evaluating the following relationship:

V

⁡

(

P

,

S

i

)

=

K

⁡

(

P

,

S

i

)

⋃

⋃

C

∈

c

⁡

(

P

)

⁢

V

⁡

(

C

,

S

i

)

wherein:

P comprises a parent node;

C comprises a child node;

S i comprises a knowledge service on node i;

i comprises an index variable;

V( ) comprises a view of virtual knowledge base for service S i at node P;

K( ) comprises a knowledge base for service S i at node P; and

c(P) comprises a set of child nodes of node P.

9. The method of claim 8 , wherein the root server and child servers provide RESTful web services.

10. The method of claim 8 , wherein the tree topology comprises an overlay network of REST servers connected by a composition links and a notification links.

11. The method of claim 10 , further comprising the steps of:

pausing a processing of update events;

retrieving a reference count from a root node of a subtree to add to the tree topology;

updating a database mapping in the root server; and

resuming the processing of update events.

12. The method of claim 11 , wherein the reference count is determined in accordance with the following relationship:

rc

⁡

(

P

,

S

i

,

K

j

)

=

f

⁡

(

P

,

S

i

,

K

j

)

+

∑

C

∈

c

⁡

(

P

)

⁢

rc

⁡

(

C

,

S

i

,

K

j

)

wherein:

rc( ) comprises a reference count function;

ƒ( ) comprises a set of fragments of knowledge base Kj;

P comprises a parent node;

C comprises a child node;

c(P) comprises a set of child nodes of node P;

Si comprises a service;

Kj comprises a fragment of a knowledge base; and

i, j comprise index variables.

13. The method of claim 11 , further comprising: exchanging corrective messages between a node of the overlay tree and the root node of the subtree in order to add to the tree topology.

14. The method of claim 11 , further comprising:

providing a delete command to child servers; and

updating a database mapping in a parent server.

15. A method of event-driven synchronization of a database distributed among a plurality of servers connected in a tree topology, comprising:

transmitting, from a root server of the tree topology, a composition request to a first level of child servers of the root server, wherein the tree topology comprises an overlay network of REST servers connected by a composition links and a notification links;

recursively transmitting, from each child server of a first predetermined level of the tree topology, a composition request to child servers at a second predetermined level of the tree topology, wherein the second predetermined level is lower than the first predetermined level;

recursively transmitting, from each child server of the second predetermined level of the tree topology, a notification message to child servers at the first predetermined level of the tree topology, wherein the notification message comprises an identification of database fragments accessible to the child server;

transmitting, from child servers at the first predetermined level of the tree topology, respective notification messages to the root server,

wherein the root server synchronizes an availability of database fragments from the respective notification messages transmitted to the root server,

pausing a processing of update events;

retrieving a reference count from a root node of a subtree to add to the tree topology;

updating a database mapping in the root server; and

resuming the processing of update events,

wherein the reference count is determined in accordance with the following relationship:

rc

⁡

(

P

,

S

i

,

K

j

)

=

f

⁡

(

P

,

S

i

,

K

j

)

+

∑

C

∈

c

⁡

(

P

)

⁢

rc

⁡

(

C

,

S

i

,

K

j

)

wherein:

rc( ) comprises a reference count function;

ƒ( ) comprises a set of fragments of knowledge base Kj;

P comprises a parent node;

C comprises a child node;

c(P) comprises a set of child nodes of node P;

Si comprises a service;

Kj comprises a fragment of a knowledge base; and

i, j comprise index variables.

Assignments (18)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2012
From: LI, LI; CHOU, WU
To: AVAYA INC.
Reel/Frame 027694/0138 →
Continuity (2)
Provisional Application 61540637 · Sep 29, 2011
Related Publication 20130085993A1 · Apr 4, 2013