← Back to Patent Explorer
US5892946A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for multi-site distributed object management environment

Assignee: Xylon LLC
•
Filing: 1995-09-12
•
Granted: 1999-04-06
•
Expires: 2015-09-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A distributed object messaging system and method (10) are provided for a plurality of nodes (15-21, 25-32) distributed in multiple physically separate sites (12, 13). There are a plurality of processes (40-44) executing in each node. The processes register a plurality of objects in each node. The objects include client objects and server objects. The server objects may be registered for global service for service availability to client objects in a local node, local site and/or site global service for service availability for client object in remote sites. a server object database (46) is used in each node to store a server object description for each server object registered in the node and objects registered in remote nodes that are registered for global or site global service. a client-server interface (50) is accessible by client objects and receives requests for services therefrom. The client-server interface accesses the server object database (46) for at least one destination server object capable of performing the client object's requested service, and forwards the service request to the destination server objects at a local site or a remote site.

Inventors

  • 👤 George W. Woster
  • 👤 Melissa A. Linares
  • 👤 Mahesh V. Shah

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 16:18
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/465

Claims Analysis

Total Claims: 49
Claim 1
Independent Claim 349 words
A distributed object messaging system for a plurality of sites located geographically remote from each other and coupled to one another via at least one telecommunication link, each site having a plurality of processor nodes coupled by at least one telecommunications network, the system comprising: a plurality of processes executing in each processor node, wherein each of the plurality of processes perform telephony applications; said plurality of processes registering a plurality of objects, said objects including client objects and server objects, and each object having at least one instance thereof, wherein each object is a representation of a portion of hardware and software services provided by the telephony applications; said plurality of server objects being selectively registered for global service for service availability to client objects in a local node and a local site, and site global service for service availability to client objects in a processor node at geographically remote sites, each processing node registering server objects from other nodes at its local site, and nodes from geographically remote sites, which have been registered for global, or site global, service, wherein server objects registered for global service are broadcast to other processor nodes at the local site upon registration and server objects registered for site global service are sent to a particular processor node at a remote site over the telecommunications network upon a request therefrom and not broadcast upon registration; a server object database residing in each processor node storing a server object description for each registered server object, said server object description including an object name, a node name, a site name, and an instance name if more than one instance of an object is registered in the same processor node; and a client-server interface being accessible by said client objects and receiving requests for services therefrom, accessing said server object database for at least one destination server objects capable of performing said requested service, formatting said service request into a message, and forwarding said message to said destination server objects at a local node, load site, or a processor node at a geographically remote site.
Claim 2
Dependent Claim 349 words
A distributed object messaging system for a plurality of sites located geographically remote from each other and coupled to one another via at least one telecommunication link, each site having a plurality of processor nodes coupled by at least one telecommunications network, the system comprising: a plurality of processes executing in each processor node, wherein each of the plurality of processes perform telephony applications; said plurality of processes registering a plurality of objects, said objects including client objects and server objects, and each object having at least one instance thereof, wherein each object is a representation of a portion of hardware and software services provided by the telephony applications; said plurality of server objects being selectively registered for global service for service availability to client objects in a local node and a local site, and site global service for service availability to client objects in a processor node at geographically remote sites, each processing node registering server objects from other nodes at its local site, and nodes from geographically remote sites, which have been registered for global, or site global, service, wherein server objects registered for global service are broadcast to other processor nodes at the local site upon registration and server objects registered for site global service are sent to a particular processor node at a remote site over the telecommunications network upon a request therefrom and not broadcast upon registration; a server object database residing in each processor node storing a server object description for each registered server object, said server object description including an object name, a node name, a site name, and an instance name if more than one instance of an object is registered in the same processor node; and a client-server interface being accessible by said client objects and receiving requests for services therefrom, accessing said server object database for at least one destination server objects capable of performing said requested service, formatting said service request into a message, and forwarding said message to said destination server objects at a local node, load site, or a processor node at a geographically remote site.
Claim 3
Dependent Claim 29 words
The system, as set forth in claim 1, wherein said plurality of processes further comprises a local cache of past server object database access requests and destination server objects.
Claim 4
Dependent Claim 88 words
The system, as set forth in claim 2, wherein said server object database further comprises a revision counter recording a count of revisions performed on said server object database, said client-server interface accessing said local cache for matching server objects in response to a local revision count being equal to said count of said revision counter in said server object database, and accessing said server object database in response to said local revision count being unequal to said count of said revision counter in said server object database.
Claim 5
Dependent Claim 58 words
The system, as set forth in claim 1, further comprising: a message handler process residing in each processor node for sending messages to destination server objects residing in processor nodes at geographically remote sites; and a LinkTCP process residing in each processor node for receiving messages from client objects objects residing in processor nodes at geographically remote sites.
Claim 6
Dependent Claim 35 words
The system, as set forth in claim 4, wherein said message handler and LinkTCP processes create point-to-point TCP/IP paths between local nodes and processor nodes at geographically remote sites for sending and receiving said messages.
Claim 7
Dependent Claim 30 words
The system, as set forth in claim 1, wherein said server object description stored in said server object database further includes a processor node service state at object registration time.
Claim 8
Dependent Claim 29 words
The system, as set forth in claim 6, wherein said processor node service state includes an out of service state, a minimal service state, and an in service state.
Claim 9
Dependent Claim 48 words
The system, as set forth in claim 6, wherein said server object database is purged of registered objects having a higher service state than a current service state of a resident node of said registered objects in response to a downgrade of service state of said resident node.
Claim 10
Dependent Claim 50 words
The system, as set forth in claim 6, wherein said server object database is replaced by a new copy of a server object database of a processor node at a geographically remote site in response to an upgrade of service state of said processor node at said geographically remote site.
Claim 11
Dependent Claim 36 words
The system, as set forth in claim 1, wherein said server object description stored in said server object database further includes an operation mode of said registered objects, said operation modes including active/standby and load-sharing modes.
Claim 12
Dependent Claim 29 words
The system, as set forth in claim 1, wherein said server object description stored in said server object database further includes a message queue ID for each registered object.
Claim 13
Dependent Claim 30 words
The system, as set forth in claim 1, wherein said server object description stored in said server object database further includes a well known port ID for each registered object.
Claim 14
Independent Claim 323 words
A method for distributed object messaging for a plurality of geographically remote sites, each site having a plurality of interconnected nodes, and each node having a plurality of processes executing therein, the method comprising the steps of: registering at least one instance of a plurality of server objects by a plurality of processes in each node, said server objects being registered for local, global, and/or site global service, wherein each of the plurality of processes perform telephony applications, each server object providing a representation of a portion of hardware and/or software services provided by the telephony applications; storing a server object description of each registered object in a server object database, said server object description includes an object name, a node name, a site name, and an instance name if more than one instance of an object is registered in the same node; broadcasting said server object descriptions of server objects registered for global service to other nodes at a local site upon registration; providing said server object descriptions of server objects registered for site global service to nodes at geographically remote sites over a telecommunications network upon request therefrom at node initialization or status change; requesting server object descriptions of server objects registered for site global service from nodes at geographically remote sites upon node initialization or status change; receiving and registering said server object descriptions of global service registered server objects from other nodes at the local site; receiving and registering said server object descriptions of site global service registered server objects from nodes at geographically remote sites over the telecommunications network; storing said received server object descriptions in said server object database; receiving service requests from client objects, searching said server object database for a destination server object capable of performing said service requests, formatting said service requests into messages, and forwarding said messages to said destination server object at the local node, local site, or a geographically remote site.
Claim 15
Independent Claim 323 words
A method for distributed object messaging for a plurality of geographically remote sites, each site having a plurality of interconnected nodes, and each node having a plurality of processes executing therein, the method comprising the steps of: registering at least one instance of a plurality of server objects by a plurality of processes in each node, said server objects being registered for local, global, and/or site global service, wherein each of the plurality of processes perform telephony applications, each server object providing a representation of a portion of hardware and/or software services provided by the telephony applications; storing a server object description of each registered object in a server object database, said server object description includes an object name, a node name, a site name, and an instance name if more than one instance of an object is registered in the same node; broadcasting said server object descriptions of server objects registered for global service to other nodes at a local site upon registration; providing said server object descriptions of server objects registered for site global service to nodes at geographically remote sites over a telecommunications network upon request therefrom at node initialization or status change; requesting server object descriptions of server objects registered for site global service from nodes at geographically remote sites upon node initialization or status change; receiving and registering said server object descriptions of global service registered server objects from other nodes at the local site; receiving and registering said server object descriptions of site global service registered server objects from nodes at geographically remote sites over the telecommunications network; storing said received server object descriptions in said server object database; receiving service requests from client objects, searching said server object database for a destination server object capable of performing said service requests, formatting said service requests into messages, and forwarding said messages to said destination server object at the local node, local site, or a geographically remote site.
Claim 16
Dependent Claim 123 words
The method, as set forth in claim 13, further comprising the steps of: storing a revision count in said server object database in response to the number of revisions made to said server object database; storing a local historical cache of past service requests and destination server objects capable of performing the service request in each process; storing a local revision count in said local historical cache; accessing said local historical cache in response to a service request and said local revision count being equal to said revision count in said server object database; and accessing said server object database in response to a service request and said local revision count not being equal to said revision count in said server object database.
Claim 17
Dependent Claim 33 words
The method, as set forth in claim 14, wherein said server object description storing step further comprises the step of storing a node service state at object registration time for each registered object.
Claim 18
Dependent Claim 37 words
The method, as set forth in claim 15, wherein said step of storing a node service state further includes the step of storing an out of service state, a minimal service state, or an in service state.
Claim 19
Dependent Claim 49 words
The method, as set forth in claim 15, further comprising the step of: downgrading a node to a lower service state; and purging from said server object database registered objects resident in said downgraded node having a higher service state than said lower service state of said downgraded node.
Claim 20
Dependent Claim 67 words
The method, as set forth in claim 15, further comprising the step of: upgrading a node to a higher service state; notifying all other nodes at the local site and at geographically remote sites of said upgraded node's higher service state; requesting for a copy of contents of server object database of said upgraded node; and storing said copy in server object database in all other nodes.
Claim 21
Dependent Claim 37 words
The method, as set forth in claim 13, wherein the step of storing server object description further comprises the step of storing an operation mode of said registered objects, said operation modes including active/standby and load-sharing modes.
Claim 22
Dependent Claim 30 words
The method, as set forth in claim 13, wherein the step of storing server object description further comprises the step of storing a message queue ID for each registered object.
Claim 23
Dependent Claim 31 words
The method, as set forth in claim 13, wherein the step of storing server object description further comprises the step of storing a well known port ID for each registered object.
Claim 24
Dependent Claim 32 words
The method, as set forth in claim 13, wherein the step of storing server object description further comprises the step of storing an operation mode specifying an active/standby mode or load-sharing mode.
Claim 25
Dependent Claim 47 words
The method, as set forth in claim 22, wherein said step of searching said server object database for destination server objects comprises the step of distributing service requests substantially equally among said destination server objects in response to said server objects being registered for load-sharing operating mode.
Claim 26
Dependent Claim 52 words
The method, as set forth in claim 22, wherein said step of searching said server object database for destination server objects comprises the step of distributing service requests substantially equally among said destination server objects using a round robin algorithm in response to said server objects being registered for load-sharing operating mode.
Claim 27
Dependent Claim 39 words
The method, as set forth in claim 13, wherein the step of forwarding said messages to said destination server objects comprises the step of establishing a communications link to a destination node in which said destination server object resides.
Claim 28
Dependent Claim 40 words
The method, as set forth in claim 13, wherein the step of forwarding said messages to said destination server objects comprises the step of establishing a TCP/IP communications link to a destination node in which said destination server object resides.
Claim 29
Dependent Claim 43 words
The method, as set forth in claim 13, wherein the step of forwarding said messages to said destination server objects comprises the step of forwarding said message via a UDP/TLI socket connection of a destination node in which said destination server object resides.
Claim 30
Dependent Claim 57 words
The method, as set forth in claim 25, wherein the step of forwarding said messages to said destination server objects comprises the steps of: forwarding said formatted message to a message handler process, said message handler process sending said message to a LinkTCP process in said destination node; and forwarding said message to said destination server object.
Claim 31
Dependent Claim 21 words
The method, as set forth in claim 13, further comprising the step of receiving a reply from said destination server object.
Claim 32
Dependent Claim 356 words
In a telephony application running in multiple physically distinct sites, a method for distributed object messaging among said multiple sites, each site having a plurality of interconnected nodes, and each node having a plurality of processes executing therein, the method comprising the steps of: registering at least one instance of a plurality of server objects by a plurality of processes in each node, said server objects being registered for service for a local node, global service for a local site, and/or site global service for geographically remote sites, wherein each of the plurality of processes perform telephony applications, each service object providing a representation of a portion of hardware and/or software services provided by the telephony applications; storing a server object description of each registered object in a server object database, said server object description includes an object name, a node name, a site name, and an instance name if more than one instance of an object is registered in the same node; broadcasting said server object descriptions of server objects registered for global service to other nodes at the local site upon registration; providing said server object descriptions of server objects registered for site global service to nodes at geographically remote sites over a telecommunications network upon request therefrom at node initialization or status change, said broadcasted and provided server object descriptions being stored in server object databases at other nodes at the local site and nodes of geographically remote sites respectively; requesting server object descriptions of server objects registered for site global service from nodes at geographically remote sites over the telecommunications network upon node initialization or status change; receiving and registering said server object descriptions of registered server objects from other nodes at the local site and from nodes of geographically remote sites over the telecommunications network; storing said received server object descriptions in said server object database; receiving service requests from client objects, searching said server object database for destination server object capable of performing said service requests, formatting said service requests into messages, and forwarding said messages to said destination server objects at the local site or a geographically remote site.
Claim 33
Dependent Claim 356 words
In a telephony application running in multiple physically distinct sites, a method for distributed object messaging among said multiple sites, each site having a plurality of interconnected nodes, and each node having a plurality of processes executing therein, the method comprising the steps of: registering at least one instance of a plurality of server objects by a plurality of processes in each node, said server objects being registered for service for a local node, global service for a local site, and/or site global service for geographically remote sites, wherein each of the plurality of processes perform telephony applications, each service object providing a representation of a portion of hardware and/or software services provided by the telephony applications; storing a server object description of each registered object in a server object database, said server object description includes an object name, a node name, a site name, and an instance name if more than one instance of an object is registered in the same node; broadcasting said server object descriptions of server objects registered for global service to other nodes at the local site upon registration; providing said server object descriptions of server objects registered for site global service to nodes at geographically remote sites over a telecommunications network upon request therefrom at node initialization or status change, said broadcasted and provided server object descriptions being stored in server object databases at other nodes at the local site and nodes of geographically remote sites respectively; requesting server object descriptions of server objects registered for site global service from nodes at geographically remote sites over the telecommunications network upon node initialization or status change; receiving and registering said server object descriptions of registered server objects from other nodes at the local site and from nodes of geographically remote sites over the telecommunications network; storing said received server object descriptions in said server object database; receiving service requests from client objects, searching said server object database for destination server object capable of performing said service requests, formatting said service requests into messages, and forwarding said messages to said destination server objects at the local site or a geographically remote site.
Claim 34
Dependent Claim 123 words
The method, as set forth in claim 30, further comprising the steps of: storing a revision count in said server object database in response to the number of revisions made to said server object database; storing a local historical cache of past service requests and destination server objects capable of performing the service request in each process; storing a local revision count in said local historical cache; accessing said local historical cache in response to a service request and said local revision count being equal to said revision count in said server object database; and accessing said server object database in response to a service request and said local revision count not being equal to said revision count in said server object database.
Claim 35
Dependent Claim 33 words
The method, as set forth in claim 31, wherein said server object description storing step further comprises the step of storing a node service state at object registration time for each registered object.
Claim 36
Dependent Claim 37 words
The method, as set forth in claim 32, wherein said step of storing a node service state further includes the step of storing an out of service state, a minimal service state, or an in service state.
Claim 37
Dependent Claim 49 words
The method, as set forth in claim 32, further comprising the step of: downgrading a node to a lower service state; and purging from said server object database registered objects resident in said downgraded node having a higher service state than said lower service state of said downgraded node.
Claim 38
Dependent Claim 67 words
The method, as set forth in claim 32, further comprising the step of: upgrading a node to a higher service state; notifying all other nodes at the local site and at geographically remote sites of said upgraded node's higher service state; requesting for a copy of contents of server object database of said upgraded node; and storing said copy in server object database in all other nodes.
Claim 39
Dependent Claim 37 words
The method, as set forth in claim 30, wherein the step of storing server object description further comprises the step of storing an operation mode of said registered objects, said operation modes including active/standby and load-sharing modes.
Claim 40
Dependent Claim 30 words
The method, as set forth in claim 30, wherein the step of storing server object description further comprises the step of storing a message queue ID for each registered object.
Claim 41
Dependent Claim 31 words
The method, as set forth in claim 30, wherein the step of storing server object description further comprises the step of storing a well known port ID for each registered object.
Claim 42
Dependent Claim 32 words
The method, as set forth in claim 30, wherein the step of storing server object description further comprises the step of storing an operation mode specifying an active/standby mode or load-sharing mode.
Claim 43
Dependent Claim 47 words
The method, as set forth in claim 39, wherein said step of searching said server object database for destination server objects comprises the step of distributing service requests substantially equally among said destination server objects in response to said server objects being registered for load-sharing operating mode.
Claim 44
Dependent Claim 52 words
The method, as set forth in claim 39, wherein said step of searching said server object database for destination server objects comprises the step of distributing service requests substantially equally among said destination server objects using a round robin algorithm in response to said server objects being registered for load-sharing operating mode.
Claim 45
Dependent Claim 39 words
The method, as set forth in claim 30, wherein the step of forwarding said messages to said destination server objects comprises the step of establishing a communications link to a destination node in which said destination server object resides.
Claim 46
Dependent Claim 40 words
The method, as set forth in claim 30, wherein the step of forwarding said messages to said destination server objects comprises the step of establishing a TCP/IP communications link to a destination node in which said destination server object resides.
Claim 47
Dependent Claim 43 words
The method, as set forth in claim 30, wherein the step of forwarding said messages to said destination server objects comprises the step of forwarding said message via a UDP/TLI socket connection of a destination node in which said destination server object resides.
Claim 48
Dependent Claim 57 words
The method, as set forth in claim 42, wherein the step of forwarding said messages to said destination server objects comprises the steps of: forwarding said formatted message to a message handler process, said message handler process sending said message to a LinkTCP process in said destination node; and forwarding said message to said destination server object.
Claim 49
Dependent Claim 21 words
The method, as set forth in claim 30, further comprising the step of receiving a reply from said destination server object.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-04-05 2002-10-05 2003-04-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-04-05 2006-10-05 2007-04-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-04-05 2010-10-05 2011-04-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag