Systems, apparatuses, and methods for discovering systems and apparatuses

A machine-implemented method can include finding one or more unique commands for each of a plurality of device command sets over one or more connections, wherein the finding is based at least in part on one or more of a device model, a device type, and a device version. The method can also include creating a decision tree based at least in part on the one or more unique commands, and generating a list of identified devices based at least in part on the decision tree.

FIELD

The present systems, apparatuses, methods explained in this document relates to directory systems, discovery systems, information sharing, cryptography, controlling singularity and plurality of systems, apparatuses, devices.

BACKGROUND

Operating communication apparatuses or systems involves multiple steps.

For example to call a party or multiple parties, operator of a video conferencing apparatus needs to collect connection information for the video conferencing apparatus or apparatuses that belongs to other party. This may be phone number, ISDN number, IP address.

Once operator finds the address, operator needs to find other information like connection speed, protocols supported and compare it to local video conferencing apparatus capabilities to make sure conference call may happen between two apparatuses.

Sometimes operator makes a manual test call before the actual call to make sure everything works.

Some people might want to have technical people have available before and during the call to make sure call will go through and there are no problems during the call.

Sometimes it may be impossible to or hard the find all the info needed to make a conference call because each party may not have that information readily available or people who have the information may not be available to provide it.

The more the steps involved, the less likely may be the technology adoption and return on investment of such systems, and possible operator errors may increase.

Systems, apparatuses, methods to reduce the number of steps to achieve a certain intent and complexity have been introduced in the past.

For example use of directory systems is a way to improve usability of a system.

Certain systems, apparatuses may read and write certain data that is connected to an external database, like reading an address book from corporate servers and adding new addresses to that centralized corporate servers.

All these systems, apparatuses need some sort of manual input and has interoperability issues.

SUMMARY

The systems, apparatuses, methods explained in this document advances the current art by introducing discovery apparatus which performs automatic identification and recognition of the connected apparatuses, systems which may include at least one or more of communication apparatuses, office automation system apparatuses, home automation apparatuses, e-mail apparatuses, calendaring apparatuses, multipoint conferencing apparatuses, web conferencing apparatuses, video conferencing apparatuses, audio conferencing apparatuses, telephone systems, apparatuses that allows multiple parties to communicate with each other, apparatuses that allows controlling behavior of other apparatuses.

Once identified and recognized by discovery apparatus, communications mapping apparatus finds the capabilities of apparatuses that are found, resolves any conflicts with some or no user input, and makes the capabilities of the apparatuses, systems available to controlling systems which control those apparatuses and systems.

Policy apparatuses which may be standalone or part of the apparatuses, may help implement legal or company policy requirements or preferences with each one of the apparatuses mentioned.

The capabilities may be made publicly accessible by making a lookup system available for other systems, apparatuses, parties to lookup the information.

The capabilities may be made public by publishing the lookup information to public sharing apparatuses, other systems, apparatuses, parties to lookup the information.

Root server connector apparatus may register access information for different apparatuses in the organization to root servers so other organizations may find how to access the organization.

Root server policy apparatus, which may be standalone or part of root server apparatus, may protect root server from unauthorized registrations and access.

Capabilities and limitations of systems in different organizations may be automatically found by utilizing root servers which points to lookup and publishing servers for the resources in the organization being looked for.

Pooling apparatus may allow pooling of resources such as conference rooms so any one of the resources in the pool may be allocated and used on demand or by schedule.

Security implementations like usernames, passwords, certificate, certificate authorities may provide secure access and authorization between apparatuses.

Proxy lookup apparatuses may serve as a public facing apparatus allowing organizations to keep lookup apparatuses internal and have different policies.

Proxy lookup apparatuses may also provide caching and save computing resources.

In an ideal case, abovementioned apparatuses one or more individual apparatuses per apparatus type to provide more processing power and redundancy. In certain embodiments each one or more of the abovementioned apparatuses may be combined into one apparatus, which may provide space and cost savings.

In a full implementation of above apparatuses, a person's video conferencing apparatus may find information to make a video call from any conference room in their organization to multiple party or parties in any conference room in their respective organizations with minimal or no input from the user and video conferencing apparatus proceeds to call using the information obtained automatically, all the while optionally making sure such a call, costs and technical equipment and communication lines being used are in line with the policy of organizations, which may improve the adoption of such systems and may make them enjoyable to use.

DETAILED DESCRIPTION

In the following description, numerous details are given for purpose of explanation. However, one of ordinary skill in the art will realize that the systems, apparatuses, methods may be practiced without the use of these specific details. In other instances, well known structures and devices are shown in abbreviated form in order not to obscure the description of the systems, apparatuses, methods with unnecessary detail.

In this document detection generally refers to determining the intent which may include detecting, categorizing, identifying, recognizing the intent.

FIG. 1illustrates a block diagram of discovery apparatus.

A discovery apparatus101may include at least one input connection, which may be labeled as input 1102, input 2103, numbered through input M−1104, input M105.

A discovery apparatus101may include at least one output connection, which may be labeled as output 1106, output 2107, numbered through output N−1108, output N109.

A discovery apparatus may include one or more of CPU, GPU, RAM, ROM, BIOS, firmware, storage, bus, bus controllers, switch, switch controllers, memory controller, CPU cache, memory cache, storage cache, storage, wired network I/O, wireless network I/O, I/O controller, audio I/O, storage I/O, expansion ports, local I/O, general purpose controllers, power supplies, multipurpose I/O ports, RS422 ports, RS232 ports, parallel ports, Bluetooth interfaces, infrared interfaces, relays, analog I/O ports, digital I/O ports, chassis, keyboard, mouse, display monitors, LCD displays and other hardware and software components that will make the system functional, such as using a PC based platform with Linux, or single board computers with real time operating systems.

A discovery apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interfaces with other systems, TCP/IP communications, and form of communications that allows discovery apparatus to receive data from operator, environment, systems, apparatuses and other discovery apparatuses.

A discovery apparatus may use discovery methods, such as the initial discovery method explained inFIG. 47.

A discovery apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands.

A discovery apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus.

A discovery apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A discovery apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A discovery apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A discovery apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A discovery apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A discovery apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A discovery apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A discovery apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A discovery apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A discovery apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A discovery apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus and communicating information about the issues with apparatuses, systems that may be involved. A discovery apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by discovery apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A discovery apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A discovery apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may be communicating with. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A discovery apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A discovery apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A discovery apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A discovery apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as controlling apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A discovery apparatus may communicate with all apparatuses and systems it may be connected to.

A discovery apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

Behavior of a discovery apparatus may be modified by one or more policy apparatuses, such as to turn certain network segments off, ports off and not discover anymore if those are not used anymore.

Inputs of a discovery apparatus may pass through a policy apparatus, such as data being read from certain networks, for example certain communication devices that organizational policy does not allow to be known by other people in the organization, are filtered out by policy apparatus using networks may exemption policy and not categorized by discovery apparatus.

Outputs of a discovery apparatus may pass through a policy apparatus, such as removing some detected apparatuses by allowed device type policy if they will not be used in the system.

A discovery apparatus may communicate with a policy apparatus and may feed data to policy apparatus for policy apparatus to inspect. Discovery apparatus may decide to accept/deny a request and/or send/don't send a response based on the approval/denial message received from the policy apparatus, such as a request for CEO's video conferencing access information may not be available to every requestor.

A discovery apparatus may use queries to identify the apparatus and systems to be discovered, such as sending commands asking model, firmware version and reading responses.

A discovery apparatus may classify the information that may be stored in the discovery apparatus or by using information that is obtained from communications with other apparatus and systems, such as discovering location A locally, and receiving information about location B from discovery apparatus at location B.

A discovery apparatus may provide reference information by using information that may be stored in the discovery apparatus or by using information that is obtained from communications with other apparatus and systems, such as providing a full organizational apparatus reference database, which is collected from all discovery apparatuses in the organization.

A discovery apparatus may provide reporting information by using information that may be stored in the communications mapping apparatus or by using information that is obtained from communications with other apparatus and systems, such as providing information acting as a proxy and provide usage reports from a video conferencing apparatus, provide access methods to certain networks from communications apparatus.

A discovery apparatus may synchronize with public discovery apparatuses. An example may be providing publicly available discovery information. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with discovery apparatus.

A discovery apparatus may synchronize with communications mapping apparatuses in other organizations. An example may be providing publicly available discovery information. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with discovery apparatus.

A discovery apparatus may synchronize with other apparatuses in real time, at scheduled times, at scheduled intervals or at other time schedules or time patterns, such as synchronizing information off hours so the network traffic is reduced during business hours.

A discovery apparatus may synchronize with other apparatuses in push, pull, push/pull replication, or using other synchronization methods, such as using push/pull for more real time synchronization.

A discovery apparatus may fully or partially synchronize with one or more discovery apparatuses, such as synchronizing in full to have complete reference information.

A discovery apparatus may fully or partially synchronize with one or more communication mapping apparatuses, such as send full reference information to communications mapping apparatuses to make access maps for the communication devices in the system.

A discovery apparatus may fully or partially synchronize with one or more lookup apparatuses, such as in the case of lookup apparatus needs additional reference information or real time status update from discovery apparatus.

A discovery apparatus may fully or partially synchronize with one or more publishing apparatuses, such as in the case of publishing apparatus needs additional reference information or real time status update from discovery apparatus.

A discovery apparatus may fully or partially synchronize with one or more root server connector apparatuses, such as in the case of root server apparatus needs additional reference information or real time status of systems from discovery apparatus.

A discovery apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the discovery apparatus, such as finding device types at shortest time using the decision tree with device identifying queries to have a log n detect time rather than n.

A discovery apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses, such as status information of the apparatuses discovery apparatus has direct connection to.

A discovery apparatus may generate configuration and software code, such as to fix communication problems, discovery apparatus may create commands to program network access router go through another Internet connection.

A discovery apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions discovery apparatus may have, such as programming the network routers to prioritize the video conferencing traffic if there is packet loss reported from the video conferencing apparatus.

A discovery apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of discovery apparatus or other apparatus and systems that may be related and/or part of the system, such as using the controlling apparatus to reduce the speed of video conference call to match the video conferencing unit of the other parties.

Other apparatus or systems may request discovery apparatus to perform certain tasks it is capable of, such as collecting certain information or sending certain commands where discovery apparatus may have direct connection to apparatus but other apparatuses don't.

A discovery apparatus may store the information it may receive or send and may access that information if it is needed, such as device make and models.

A discovery apparatus may store the information it may generate and may access that information if it is needed, such as reference database.

A discovery apparatus may transfer the information it has to other apparatuses and may keep them synchronized, such as sending reference database to communications mapping apparatus or other discovery apparatuses.

A discovery apparatus may be in a redundant configuration with two or more discovery apparatuses which may help for recovery in case one of the discovery apparatuses may not perform its functions, such as two discovery apparatuses querying the same network for devices and providing reference information, in case one fails, other will continue covering the same network, increasing up time.

A discovery apparatus may be in a load balance and/or redundant configuration with two or more discovery apparatuses, which may improve the speed of discovery and providing reference information, which may help for recovery in case one of the discovery apparatuses may not perform its functions, such as having n discovery apparatuses querying the network for devices in equal segments and synchronizing with each other after the query, which would cut off discovery time by n plus overhead.

A discovery apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization, such as using a dedicated high speed network connection between two discovery apparatuses which might have bid reference databases that might cause network congestion and/or interfere with query ports if synchronization is done over query ports.

Information received from the discovery apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination, such as a reference database sent to an apparatus may be discarded due to policy or network errors, or altered to match the database format of the receiving system.

Information received from the discovery apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination, such as reference database that may be received by communications mapping apparatus may be discarded if it is not signed with correct digital signature and a digital signature is required for such information.

FIG. 2illustrates a block diagram of communications mapping apparatus.

A communications mapping apparatus201may include at least one data connection, which may be labeled as input 1202, input 2203, numbered through input M−1204, input M205.

A communications mapping apparatus201may include at least one action communication connection, which may be labeled as output 1206, output 2207, numbered through output N−1208, output N209.

A communications mapping apparatus may include one or more of CPU, GPU, RAM, ROM, BIOS, firmware, storage, bus, bus controllers, switch, switch controllers, memory controller, CPU cache, memory cache, storage cache, storage, wired network I/O, wireless network I/O, I/O controller, audio I/O, storage I/O, expansion ports, local I/O, general purpose controllers, power supplies, multipurpose I/O ports, RS422 ports, RS232 ports, parallel ports, Bluetooth interfaces, infrared interfaces, relays, analog I/O ports, digital I/O ports, chassis, keyboard, mouse, display monitors, LCD displays and other hardware and software components that will make the system functional, such as PC based systems, or other industrial or commercial grade systems with common operating systems such as Linux, Windows or special real time operating systems.

A communications mapping apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interfaces with other systems, TCP/IP communications, and form of communications that allows communications mapping apparatus to receive data from operator, environment, systems, apparatuses and other communications mapping apparatuses, such as a redundant connection to apparatuses discovery apparatus may be connecting to for extended capabilities queries.

A communications mapping apparatus may use communications mapping methods, such as the mapping method described inFIG. 50.

A communications mapping apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands, and may be used as a redundant connection in addition to connection through discovery apparatus and/or for running extended queries directly out of communications mapping apparatus rather than going through discovery apparatus.

A communications mapping apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating with. It may communicate with those apparatuses directly or through discovery apparatus.

A communications mapping apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A communications mapping apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A communications mapping apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A communications mapping apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A communications mapping apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A communications mapping apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A communications mapping apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A communications mapping apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A communications mapping apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A communications mapping apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A communications mapping apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. A communications mapping apparatus may be in a communication about the issues with apparatuses, systems that may be involved. A communications mapping apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by communications mapping apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A communications mapping apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A communications mapping apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A communications mapping apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A communications mapping apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A communications mapping apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A communications mapping apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A communications mapping apparatus may communicate to all apparatuses and systems it may be connected to.

A communications mapping apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A communications mapping apparatus may classify the information that may be stored in the communications mapping apparatus or by using information that may be obtained from communications with other apparatus and systems.

Behavior of a communications mapping apparatus may be modified by one or more policy apparatuses.

Inputs of a communications mapping apparatus may pass through policy apparatus.

Outputs of a communications mapping apparatus may pass through policy apparatus.

A communications mapping apparatus may communicate with a policy apparatus and may feed data to policy apparatus for policy apparatus to inspect. Communications mapping apparatus may decide to accept/deny a request and/or send/don't send a response based on the information received from the policy apparatus.

A communications mapping apparatus may create computer graphics that may include at least one or more of nodes, vertexes, values, weights and other computer graphics related elements and components, which may be using the information that may be stored in the communications mapping apparatus or by using information that is obtained from communications with other apparatus and systems. This may be used for finding best cost route or fastest route or to find an optimal path in the graphics which may be used in a situation or application that may need that information.

A communications mapping apparatus may run conflict resolution methods which may resolve conflicts in the computer graphics and may remove ambiguities, which may be using the information that may be stored in the communications mapping apparatus or by using information that is obtained from communications with other apparatus and systems.

A communications mapping apparatus may provide reporting information by using information that may be stored in the communications mapping apparatus or by using information that is obtained from communications with other apparatus and systems.

A communications mapping apparatus may synchronize with public communications mapping apparatuses. An example may be providing publicly available communications maps. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with communications mapping apparatus.

A communications mapping apparatus may synchronize with communications mapping apparatuses in other organizations. An example may be providing publicly available communications maps. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with communications mapping apparatus.

A communications mapping apparatus may synchronize with other apparatuses in real time, at scheduled times, at scheduled intervals or at other time schedules or time patterns.

A communications mapping apparatus may synchronize with other apparatuses in push, pull, push/pull replication, or using other synchronization methods.

A communications mapping apparatus may fully or partially synchronize with one or more discovery apparatuses.

A communications mapping apparatus may fully or partially synchronize with one or more communication mapping apparatuses.

A communications mapping apparatus may fully or partially synchronize with one or more lookup apparatuses.

A communications mapping apparatus may fully or partially synchronize with one or more publishing apparatuses.

A communications mapping apparatus may fully or partially synchronize with one or more root server connector apparatuses.

A communications mapping apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the communications mapping apparatus.

A communications mapping apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A communications mapping apparatus may generate configuration and software code.

A communications mapping apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions communications mapping apparatus may have.

A communications mapping apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of communications mapping apparatus or other apparatus and systems that may be related and/or part of the system.

Other apparatus or systems may request communications mapping apparatus to perform certain tasks it is capable of.

A communications mapping apparatus may store the information it may receive or send and may access that information if it is needed.

A communications mapping apparatus may store the information it may generate and may access that information if it is needed.

A communications mapping apparatus may transfer the information it has to other apparatuses and may keep them synchronized.

A communications mapping apparatus may be in a redundant configuration with two or more communications mapping apparatuses which may help for recovery in case one of the communications mapping apparatuses may not perform its functions.

A communications mapping apparatus may be in a load balance and/or redundant configuration with two or more communications mapping apparatuses, which may improve the speed of communications mapping and providing reference information, which may help for recovery in case one of the communications mapping apparatuses may not perform its functions.

A communications mapping apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization.

Information received from the communications mapping apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

Information received from the communications mapping apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

FIG. 3illustrates a block diagram of policy apparatus.

A policy apparatus301may include at least one input connection, which may be labeled as input 1302, input 2303, numbered through input M−1304, input M305.

A policy apparatus301may include at least one output connection, which may be labeled as output 1306, output 2307, numbered through output N−1308, output N309.

A policy apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interfaces with other systems, TCP/IP communications, and form of communications that allows policy apparatus to receive data from operator, environment, systems, apparatuses and other policy apparatuses.

A policy apparatus may use policy methods.

A policy apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands.

A policy apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating with.

A policy apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A policy apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A policy apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A policy apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A policy apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A policy apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A policy apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A policy apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A policy apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A policy apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A policy apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. A policy apparatus may be in a communication about the issues with apparatuses, systems that may be involved. A policy apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by policy apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A policy apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A policy apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A policy apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A policy apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A policy apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A policy apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A policy apparatus may communicate to all apparatuses and systems it may be connected to.

Behavior of a policy apparatus may be modified by one or more policy apparatuses.

Inputs of a policy apparatus may pass through a policy apparatus.

Outputs of a policy apparatus may pass through a policy apparatus.

A policy apparatus may communicate with a policy apparatus and may feed data to policy apparatus for policy apparatus to inspect. Policy apparatus may decide to accept/deny a request and/or send/don't send a response based on the information received from the policy apparatus.

A policy apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A policy apparatus may classify the information that may be stored in the policy apparatus or by using information that may be obtained from communications with other apparatus and systems.

A policy apparatus may have an input buffer to queue incoming requests.

A policy apparatus may have an output buffer to queue outbound responses.

A policy apparatus may have a decision logic to which may use decision criteria which may be defined by user, apparatus, system, administrator, department, organization, city, state, federal government and government.

Decision criteria may include policies of the user, apparatus, system, administrator, department, organization, city, state, federal government and government.

Decision criteria may include singularity or plurality of policies.

Policies may include one or more of rules, conditional rules, complex rules, rules that are combination of other rules, rules that are combined with AND logic operators, OR logic operators, XOR logic operators, NOT logic operators and other logic operators.

Rules may include operators such as greater than, less than, equal, greater than and equal, less than and equal, range, match, wildcard match, list match and other operators that may be required by user, apparatus, system, administrator, department, organization, city, state, federal government and government.

Rules may include recursive rules.

Decision logic may include a preconfigured default rule set.

Decision criteria may include a preconfigured policy and rule set.

Policy apparatus may inspect the data through the policy apparatus by receiving the data on input, inspect data, filter out the data that is not allowed by the policy or policies, pass the allowed data to output.

Policy apparatus may inspect the data through the policy apparatus by receiving the data on input from originating apparatus, inspect data, filter out the data that is not allowed by the policy or policies, pass the allowed data to output to destination apparatus.

Policy apparatus may inspect the data through the policy apparatus by receiving the data on input from originating apparatus, inspect data, filter out the data that is not allowed by the policy or policies, pass the allowed data to output back to origination apparatus.

Policy apparatus may inspect the data presented by originating apparatus and may provide an output meaning “allow” or “do not allow” to the presenting apparatus or other apparatuses.

Policy apparatus may inspect the data presented by another apparatus and may provide an output which may contain a message listing what fields are allowed to the presenting apparatus or other apparatuses.

Policy apparatus may inspect the data presented by another apparatus and may provide a message specifying rules for filtering the data to the presenting apparatus or other apparatuses.

Policy apparatus may track the state of data contents and context which may result in applying policies more effectively. Tracking may be all data, partial data, summarized data, time window data, all context, partial context, summarized context, time window context, and any other data or context state tracking that may be required by user, apparatus, system, administrator, department, organization, city, state, federal government and government.

A policy apparatus may synchronize with public policy apparatuses. An example may be providing public policies. What may be synchronized may be dictated by company policy which may be enforced by policy apparatus which may be working in conjunction with policy apparatus.

A policy apparatus may synchronize with policy apparatuses in other organizations. An example may be providing public policies. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with policy apparatus.

A policy apparatus may synchronize with other apparatuses in real time, at scheduled times, at scheduled intervals or at other time schedules or time patterns.

A policy apparatus may synchronize with other apparatuses in push, pull, push/pull replication, or using other synchronization methods.

A policy apparatus may fully or partially synchronize with one or more discovery apparatuses.

A policy apparatus may fully or partially synchronize with one or more communication mapping apparatuses.

A policy apparatus may fully or partially synchronize with one or more lookup apparatuses.

A policy apparatus may fully or partially synchronize with one or more publishing apparatuses.

A policy apparatus may fully or partially synchronize with one or more root server connector apparatuses.

A policy apparatus may provide reporting information by using information that may be stored in the policy apparatus or by using information that is obtained from communications with other apparatus and systems.

A policy apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the policy apparatus.

A policy apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A policy apparatus may generate configuration and software code.

A policy apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions policy apparatus may have.

A policy apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of policy apparatus or other apparatus and systems that may be related and/or part of the system.

Other apparatus or systems may request policy apparatus to perform certain tasks it is capable of.

A policy apparatus may store the information it may receive or send and may access that information if it is needed.

A policy apparatus may store the information it may generate and may access that information if it is needed.

A policy apparatus may transfer the information it has to other apparatuses and may keep them synchronized.

A policy apparatus may be in a redundant configuration with two or more policy apparatuses which may help for recovery in case one of the policy apparatuses may not perform its functions.

A policy apparatus may be in a load balance and/or redundant configuration with two or more policy apparatuses, which may improve the speed of policy and providing reference information, which may help for recovery in case one of the policy apparatuses may not perform its functions.

A policy apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization.

Information received from the policy apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

Information received from the policy apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

FIG. 4illustrates a block diagram of lookup apparatus.

A lookup apparatus401may include at least one input connection, which may be labeled as input 1402, input 2403, numbered through input M−1404, input M405.

A lookup apparatus401may include at least one output connection, which may be labeled as output 1406, output 2407, numbered through output N−1408, output N409.

A lookup apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interfaces with other systems, TCP/IP communications, and form of communications that allows lookup apparatus to receive data from operator, environment, systems, apparatuses and other lookup apparatuses.

A lookup apparatus may use lookup methods.

A lookup apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands.

A lookup apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating with.

A lookup apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A lookup apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A lookup apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A lookup apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A lookup apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A lookup apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A lookup apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A lookup apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A lookup apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A lookup apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A lookup apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. A lookup apparatus may be in a communication about the issues with apparatuses, systems that may be involved. A lookup apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by lookup apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A lookup apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A lookup apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A lookup apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A lookup apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A lookup apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A lookup apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A lookup apparatus may communicate to all apparatuses and systems it may be connected to.

A lookup apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A lookup apparatus may classify the information that may be stored in the lookup apparatus or by using information that may be obtained from communications with other apparatus and systems.

Behavior of a lookup apparatus may be modified by one or more policy apparatuses.

Inputs of a lookup apparatus may pass through policy apparatus.

Outputs of a lookup apparatus may pass through policy apparatus.

A lookup apparatus may communicate with a policy apparatus and may feed data to policy apparatus for policy apparatus to inspect. Lookup apparatus may decide to accept/deny a request and/or send/don't send a response based on the information received from the policy apparatus.

A lookup apparatus may provide information requested by other people, apparatuses, systems. Such information may include calendar entries, free/busy information, availability, connection information, access information, phone numbers, IP addresses, usernames, passwords, certificates, connection speeds, number of simultaneous connections available, usage information, and other information that is being made accessible by other people, apparatuses, systems.

Access information may include but not limited to fully qualified domain name (FQDN)s, IP addresses, domain names, sub domain names, usernames, passwords, certificates and any other information needed to access a certain apparatus or system.

A lookup apparatus may locate and fetch the information being requested.

A lookup apparatus may include a storage. Storage may store requests, responses, and any other information that may be needed for the function of lookup apparatus.

A lookup apparatus may include a cache. Cache may store the information that may be frequently accessed. Cache may be a storage that may be accessed faster than storage used in the apparatus. Cache may cache requests and responses. Cache may cache information stored in the storage for faster access by the lookup method and lookup apparatus. Cache may be read only, write through, adaptive, or may use other caching algorithms.

A lookup apparatus may synchronize with public lookup apparatuses. An example may be providing availability of conference rooms. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with lookup apparatus.

A lookup apparatus may synchronize with lookup apparatuses in other organizations. An example may be providing availability of conference rooms. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with lookup apparatus.

A lookup apparatus may synchronize with other apparatuses in real time, at scheduled times, at scheduled intervals or at other time schedules or time patterns.

A lookup apparatus may synchronize with other apparatuses in push, pull, push/pull replication, or using other synchronization methods.

A lookup apparatus may fully or partially synchronize with one or more discovery apparatuses.

A lookup apparatus may fully or partially synchronize with one or more communication mapping apparatuses.

A lookup apparatus may fully or partially synchronize with one or more lookup apparatuses.

A lookup apparatus may fully or partially synchronize with one or more publishing apparatuses.

A lookup apparatus may fully or partially synchronize with one or more root server connector apparatuses.

A lookup apparatus may provide reporting information by using information that may be stored in the lookup apparatus or by using information that is obtained from communications with other apparatus and systems.

A lookup apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the lookup apparatus.

A lookup apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A lookup apparatus may generate configuration and software code.

A lookup apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions lookup apparatus may have.

A lookup apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of lookup apparatus or other apparatus and systems that may be related and/or part of the system.

Other apparatus or systems may request lookup apparatus to perform certain tasks it is capable of.

A lookup apparatus may store the information it may receive or send and may access that information if it is needed.

A lookup apparatus may store the information it may generate and may access that information if it is needed.

A lookup apparatus may transfer the information it has to other apparatuses and may keep them synchronized.

A lookup apparatus may be in a redundant configuration with two or more lookup apparatuses which may help for recovery in case one of the lookup apparatuses may not perform its functions.

A lookup apparatus may be in a load balance and/or redundant configuration with two or more lookup apparatuses, which may improve the speed of lookup and providing reference information, which may help for recovery in case one of the lookup apparatuses may not perform its functions.

A lookup apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization.

Information received from the lookup apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

Information received from the lookup apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

FIG. 5illustrates a block diagram of publishing apparatus.

A publishing apparatus501may include at least one input connection, which may be labeled as input 1502, input 2503, numbered through input M−1504, input M505.

A publishing apparatus501may include at least one output connection, which may be labeled as output 1506, output 2507, numbered through output N−1508, output N509.

A publishing apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interfaces with other systems, TCP/IP communications, and form of communications that allows publishing apparatus to receive data from operator, environment, systems, apparatuses and other publishing apparatuses.

A publishing apparatus may use publishing methods.

A publishing apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands.

A publishing apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating with.

A publishing apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A publishing apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A publishing apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A publishing apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A publishing apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A publishing apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A publishing apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A publishing apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A publishing apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A publishing apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A publishing apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. A publishing apparatus may be in a communication about the issues with apparatuses, systems that may be involved. A publishing apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by publishing apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A publishing apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A publishing apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A publishing apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A publishing apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A publishing apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A publishing apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A publishing apparatus may communicate to all apparatuses and systems it may be connected to.

A publishing apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A publishing apparatus may classify the information that may be stored in the publishing apparatus or by using information that may be obtained from communications with other apparatus and systems.

Behavior of a publishing apparatus may be modified by one or more policy apparatuses.

Inputs of a publishing apparatus may pass through policy apparatus.

Outputs of a publishing apparatus may pass through policy apparatus.

A publishing apparatus may communicate with a policy apparatus and may feed data to policy apparatus for policy apparatus to inspect. Publishing apparatus may decide to accept/deny a request and/or send/don't send a response based on the information received from the policy apparatus.

A publishing apparatus may provide information requested by other people, apparatuses, systems. Such information may include calendar entries, free/busy information, availability, connection information, access information, phone numbers, IP addresses, usernames, passwords, certificates, connection speeds, number of simultaneous connections available, usage information, and other information that is being made accessible by other people, apparatuses, systems.

Access information may include but not limited to fully qualified domain name (FQDN)s, IP addresses, domain names, sub domain names, usernames, passwords, certificates and any other information needed to access a certain apparatus or system.

A publishing apparatus may locate and fetch the information being requested.

A publishing apparatus may include a storage. Storage may store requests, responses, and any other information that may be needed for the function of publishing apparatus.

A publishing apparatus may include a cache. Cache may store the information that may be frequently accessed. Cache may be a storage that may be accessed faster than storage used in the apparatus. Cache may cache requests and responses. Cache may cache information stored in the storage for faster access by the publishing method and publishing apparatus. Cache may be read only, write through, adaptive, or may use other caching algorithms.

Publishing apparatus may be available for public access.

Publishing apparatus may be available for private network access between organizations.

Publishing apparatus may be available for the organization it belongs to only.

A publishing apparatus may synchronize with public publishing apparatuses. An example may be publishing availability of conference rooms. What may be published may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with publishing apparatus.

A publishing apparatus may synchronize with publishing apparatuses in other organizations. An example may be publishing availability of conference rooms. What may be published may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with publishing apparatus.

A publishing apparatus may synchronize with other apparatuses in real time, at scheduled times, at scheduled intervals or at other time schedules or time patterns.

A publishing apparatus may synchronize with other apparatuses in push, pull, push/pull replication, or using other synchronization methods.

A publishing apparatus may fully or partially synchronize with one or more discovery apparatuses.

A publishing apparatus may fully or partially synchronize with one or more communication mapping apparatuses.

A publishing apparatus may fully or partially synchronize with one or more lookup apparatuses.

A publishing apparatus may fully or partially synchronize with one or more publishing apparatuses.

A publishing apparatus may fully or partially synchronize with one or more root server connector apparatuses.

A publishing apparatus may provide reporting information by using information that may be stored in the publishing apparatus or by using information that is obtained from communications with other apparatus and systems.

A publishing apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the publishing apparatus.

A publishing apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A publishing apparatus may generate configuration and software code.

A publishing apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions publishing apparatus may have.

A publishing apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of publishing apparatus or other apparatus and systems that may be related and/or part of the system.

Other apparatus or systems may request publishing apparatus to perform certain tasks it is capable of.

A publishing apparatus may store the information it may receive or send and may access that information if it is needed.

A publishing apparatus may store the information it may generate and may access that information if it is needed.

A publishing apparatus may transfer the information it has to other apparatuses and may keep them synchronized.

A publishing apparatus may be in a redundant configuration with two or more publishing apparatuses which may help for recovery in case one of the publishing apparatuses may not perform its functions.

A publishing apparatus may be in a load balance and/or redundant configuration with two or more publishing apparatuses, which may improve the speed of publishing and providing reference information, which may help for recovery in case one of the publishing apparatuses may not perform its functions.

A publishing apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization.

Information received from the publishing apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

Information received from the publishing apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

FIG. 6illustrates a block diagram of a root server connector apparatus.

A root server connector apparatus601may include at least one input connection, which may be labeled as input 1602, input 2603, numbered through input M−1604, input M605.

A root server connector apparatus601may include at least one output connection, which may be labeled as output 1606, output 2607, numbered through output N−1608, output N609.

A root server connector apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interlaces with other systems, TCP/IP communications, and form of communications that allows root server connector apparatus to receive data from operator, environment, systems, apparatuses and other root server connector apparatuses.

A root server connector apparatus may use root server connector methods.

A root server connector apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands.

A root server connector apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating with.

A root server connector apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A root server connector apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A root server connector apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A root server connector apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A root server connector apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A root server connector apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A root server connector apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A root server connector apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A root server connector apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A root server connector apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A root server connector apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. A root server connector apparatus may be in a communication about the issues with apparatuses, systems that may be involved. A root server connector apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by root server connector apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A root server connector apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A root server connector apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A root server connector apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A root server connector apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A root server connector apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A root server connector apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A root server connector apparatus may communicate to all apparatuses and systems it may be connected to.

A root server connector apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A root server connector apparatus may classify the information that may be stored in the root server connector apparatus or by using information that may be obtained from communications with other apparatus and systems.

Behavior of a root server connector apparatus may be modified by one or more policy apparatuses.

Inputs of a root server connector apparatus may pass through policy apparatus.

Outputs of a root server connector apparatus may pass through policy apparatus.

A root server connector apparatus may communicate with a policy apparatus and may feed data to policy apparatus for policy apparatus to inspect. Root server connector apparatus may decide to accept/deny a request and/or send/don't send a response based on the information received from the policy apparatus.

A root server connector apparatus may provide information requested by other people, apparatuses, systems. Such information may include one or more of access information for lookup apparatus, access information for publishing apparatus, access information for communications mapping apparatus, access information for discovery apparatus, calendar entries, free/busy information, availability, connection information, access information, phone numbers, IP addresses, usernames, passwords, certificates, connection speeds, number of simultaneous connections available, usage information, and other information that is being made accessible by other people, apparatuses, systems.

Access information may include but not limited to fully qualified domain name (FQDN)s, IP addresses, domain names, sub domain names, usernames, passwords, certificates and any other information needed to access a certain apparatus or system.

A root server connector apparatus may locate and fetch the information being requested.

A root server connector apparatus may register access information for apparatuses in an organization it may represent with the root server apparatus. Registration may include one or more of access information for lookup apparatus, access information for publishing apparatus, access information for communications mapping apparatus, access information for discovery apparatus, calendar entries, free/busy information, availability, connection information, access information, phone numbers, IP addresses, usernames, passwords, certificates, connection speeds, number of simultaneous connections available, usage information, and other information that is being made accessible by other people, apparatuses, systems.

A root server connector apparatus may include a storage. Storage may store requests, responses, and any other information that may be needed for the function of root server connector apparatus.

A root server connector apparatus may include a cache. Cache may store the information that may be frequently accessed. Cache may be a storage that may be accessed faster than storage used in the apparatus. Cache may cache requests and responses. Cache may cache information stored in the storage for faster access by the root server connector method and root server connector apparatus. Cache may be read only, write through, adaptive, or may use other caching algorithms.

A root server connector apparatus may fully or partially synchronize with one or more discovery apparatuses.

A root server connector apparatus may fully or partially synchronize with one or more communication mapping apparatuses.

A root server connector apparatus may fully or partially synchronize with one or more lookup apparatuses.

A root server connector apparatus may fully or partially synchronize with one or more publishing apparatuses.

A root server connector apparatus may fully or partially synchronize with one or more root server connector apparatuses.

A root server connector apparatus may provide reporting information by using information that may be stored in the root server connector apparatus or by using information that is obtained from communications with other apparatus and systems.

A root server connector apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the root server connector apparatus.

A root server connector apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A root server connector apparatus may generate configuration and software code.

A root server connector apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions root server connector apparatus may have.

A root server connector apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of root server connector apparatus or other apparatus and systems that may be related and/or part of the system.

Other apparatus or systems may request root server connector apparatus to perform certain tasks it is capable of.

A root server connector apparatus may store the information it may receive or send and may access that information if it is needed.

A root server connector apparatus may store the information it may generate and may access that information if it is needed.

A root server connector apparatus may transfer the information it has to other apparatuses and may keep them synchronized.

A root server connector apparatus may be in a redundant configuration with two or more root server connector apparatuses which may help for recovery in case one of the root server connector apparatuses may not perform its functions.

A root server connector apparatus may be in a load balance and/or redundant configuration with two or more root server connector apparatuses, which may improve the speed of root server connector and providing reference information, which may help for recovery in case one of the root server connector apparatuses may not perform its functions.

A root server connector apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization.

Information received from the root server connector apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

Information received from the root server connector apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

FIG. 7illustrates a block diagram of a root server apparatus.

A root server apparatus701may include at least one input connection, which may be labeled as input 1702, input 2703, numbered through input M−1704, input M705.

A root server apparatus701may include at least one output connection, which may be labeled as output 1706, output 2707, numbered through output N−1708, output N709.

A root server apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interfaces with other systems, TCP/IP communications, and form of communications that allows root server apparatus to receive data from operator, environment, systems, apparatuses and other root server apparatuses.

A root server apparatus may use root server methods.

A root server apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands.

A root server apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating with.

A root server apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A root server apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A root server apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A root server apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A root server apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A root server apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A root server apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A root server apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A root server apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A root server apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A root server apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. A root server apparatus may be in a communication about the issues with apparatuses, systems that may be involved. A root server apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by root server apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A root server apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A root server apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A root server apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A root server apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A root server apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A root server apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A root server apparatus may communicate to all apparatuses and systems it may be connected to.

A root server apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A root server apparatus may classify the information that may be stored in the root server apparatus or by using information that may be obtained from communications with other apparatus and systems.

Behavior of a root server apparatus may be modified by one or more policy apparatuses.

Inputs of a root server apparatus may pass through policy apparatus.

Outputs of a root server apparatus may pass through policy apparatus.

A root server apparatus may communicate with a policy apparatus and may feed data to policy apparatus for policy apparatus to inspect. Root server apparatus may decide to accept/deny a request and/or send/don't send a response based on the information received from the policy apparatus.

A root server apparatus may provide information requested by other root server apparatuses, root server connector apparatuses, people, apparatuses, systems. Such information may include one or more of access information for root server connector apparatuses, access information for root server apparatuses, access information for lookup apparatus, access information for publishing apparatus, access information for communications mapping apparatus, access information for discovery apparatus, calendar entries, free/busy information, availability, connection information, access information, phone numbers, IP addresses, usernames, passwords, certificates, connection speeds, number of simultaneous connections available, usage information, and other information that is being made accessible by other people, apparatuses, systems.

Access information may include but not limited to fully qualified domain name (FQDN)s, IP addresses, domain names, sub domain names, usernames, passwords, certificates and any other information needed to access a certain apparatus or system.

A root server apparatus may have a registration method which registers other root server apparatuses, root server connector apparatuses, publishing apparatuses, lookup apparatuses, communications mapping apparatuses, discovery apparatuses and other apparatuses that are requested to be registered. Registration may require the registrant to be authenticated by root server apparatus by one or more of username, password, certificates.

A root server apparatus may have an internal certificate authority that may be used to authenticate the connections.

A root server apparatus may communicate with internal certificate authorities that may be located in other organizations, which may be used to authenticate the connections.

A root server apparatus may communicate with public certificate authorities, which may be used to authenticate the connections.

A root server apparatus may have a resolver engine method that may resolve requests for information from other root server apparatuses, root server connector apparatuses, publishing apparatuses, lookup apparatuses, communications mapping apparatuses, discovery apparatuses and other apparatuses that may request information. Requestors may require to be authenticated by root server apparatus by one or more of username, password, certificates.

A root server apparatus may locate and fetch the information being requested.

A root server apparatus may register access information for apparatuses in an organization it may represent with the root server apparatus. Registration may include one or more of access information for lookup apparatus, access information for publishing apparatus, access information for communications mapping apparatus, access information for discovery apparatus, calendar entries, free/busy information, availability, connection information, access information, phone numbers, IP addresses, usernames, passwords, certificates, connection speeds, number of simultaneous connections available, usage information, and other information that is being made accessible by other people, apparatuses, systems.

A root server apparatus may include a storage. Storage may store requests, responses, and any other information that may be needed for the function of root server apparatus.

A root server apparatus may include a cache. Cache may store the information that may be frequently accessed. Cache may be a storage that may be accessed faster than storage used in the apparatus. Cache may cache requests and responses. Cache may cache information stored in the storage for faster access by the root server method and root server apparatus. Cache may be read only, write through, adaptive, or may use other caching algorithms. Cache may be used for internal database. Cache may be used by resolver method. Cache may be used by registration method. There may be singularity or plurality of caches in a root server apparatus. There may be dedicated caches or shared caches.

A root server apparatus may fully or partially synchronize with one or more discovery apparatuses.

A root server apparatus may fully or partially synchronize with one or more communication mapping apparatuses.

A root server apparatus may fully or partially synchronize with one or more lookup apparatuses.

A root server apparatus may fully or partially synchronize with one or more publishing apparatuses.

A root server apparatus may fully or partially synchronize with one or more root server apparatuses.

A root server apparatus may provide reporting information by using information that may be stored in the root server apparatus or by using information that is obtained from communications with other apparatus and systems.

A root server apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the root server apparatus.

A root server apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A root server apparatus may generate configuration and software code.

A root server apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions root server apparatus may have.

A root server apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of root server apparatus or other apparatus and systems that may be related and/or part of the system.

Other apparatus or systems may request root server apparatus to perform certain tasks it is capable of.

A root server apparatus may store the information it may receive or send and may access that information if it is needed.

A root server apparatus may store the information it may generate and may access that information if it is needed.

A root server apparatus may transfer the information it has to other apparatuses and may keep them synchronized.

A root server apparatus may be in a redundant configuration with two or more root server apparatuses which may help for recovery in case one of the root server apparatuses may not perform its functions.

A root server apparatus may be in a load balance and/or redundant configuration with two or more root server apparatuses, which may improve the speed of root server and providing reference information, which may help for recovery in case one of the root server apparatuses may not perform its functions.

A root server apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization.

Information received from the root server apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

Information received from the root server apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

FIG. 8illustrates a block diagram of root server policy apparatus.

A root server policy apparatus801may include at least one input connection, which may be labeled as input 1802, input 2803, numbered through input M−1804, input M805.

A root server policy apparatus801may include at least one output connection, which may be labeled as output 1806, output 2807, numbered through output N−1808, output N809.

A root server policy apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interfaces with other systems, TCP/IP communications, and form of communications that allows root server policy apparatus to receive data from operator, environment, systems, apparatuses and other root server policy apparatuses.

A root server policy apparatus may use policy methods.

A root server policy apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands.

A root server policy apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating with.

A root server policy apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A root server policy apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A root server policy apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A root server policy apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A root server policy apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A root server policy apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A root server policy apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A root server policy apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A root server policy apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A root server policy apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A root server policy apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. A root server policy apparatus may be in a communication about the issues with apparatuses, systems that may be involved. A root server policy apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by root server policy apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A root server policy apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A root server policy apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A root server policy apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A root server policy apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A root server policy apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A root server policy apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A root server policy apparatus may communicate to all apparatuses and systems it may be connected to.

Behavior of a root server policy apparatus may be modified by one or more root server policy apparatuses.

Inputs of a root server policy apparatus may pass through a root server policy apparatus.

Outputs of a root server policy apparatus may pass through a root server policy apparatus.

A root server policy apparatus may communicate with a root server policy apparatus and may feed data to root server policy apparatus for root server policy apparatus to inspect. Root server policy apparatus may decide to accept/deny a request and/or send/don't send a response based on the information received from the root server policy apparatus.

A root server policy apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server root server policy apparatuses, pooling apparatuses.

A root server policy apparatus may classify the information that may be stored in the root server policy apparatus or by using information that may be obtained from communications with other apparatus and systems.

A root server policy apparatus may have an input buffer to queue incoming requests.

A root server policy apparatus may have an output buffer to queue outbound responses.

A root server policy apparatus may have a decision logic to which may use decision criteria which may be defined by user, apparatus, system, administrator, department, organization, city, state, federal government and government.

Decision criteria may include policies of the user, apparatus, system, administrator, department, organization, city, state, federal government and government.

Decision criteria may include singularity or plurality of policies.

Policies may include one or more of rules, conditional rules, complex rules, rules that are combination of other rules, rules that are combined with AND logic operators, OR logic operators, XOR logic operators, NOT logic operators and other logic operators.

Rules may include operators such as greater than, less than, equal, greater than and equal, less than and equal, range, match, wildcard match, list match and other operators that may be required by user, apparatus, system, administrator, department, organization, city, state, federal government and government.

Rules may include recursive rules.

Decision logic may include a preconfigured default rule set.

Decision criteria may include a preconfigured policy and rule set.

Root server policy apparatus may inspect the data through the root server policy apparatus by receiving the data on input, inspect data, filter out the data that is not allowed by the policy or policies, pass the allowed data to output.

Root server policy apparatus may inspect the data through the root server policy apparatus by receiving the data on input from originating apparatus, inspect data, filter out the data that is not allowed by the policy or policies, pass the allowed data to output to destination apparatus.

Root server policy apparatus may inspect the data through the root server policy apparatus by receiving the data on input from originating apparatus, inspect data, filter out the data that is not allowed by the policy or policies, pass the allowed data to output back to origination apparatus.

Root server policy apparatus may inspect the data presented by originating apparatus and may provide an output meaning “allow” or “do not allow” to the presenting apparatus or other apparatuses.

Root server policy apparatus may inspect the data presented by another apparatus and may provide an output which may contain a message listing what fields are allowed to the presenting apparatus or other apparatuses.

Root server policy apparatus may inspect the data presented by another apparatus and may provide a message specifying rules for filtering the data to the presenting apparatus or other apparatuses.

Root server policy apparatus may track the state of data contents and context which may result in applying policies more effectively. Tracking may be all data, partial data, summarized data, time window data, all context, partial context, summarized context, time window context, and any other data or context state tracking that may be required by user, apparatus, system, administrator, department, organization, city, state, federal government and government.

A root server policy apparatus may synchronize with public root server policy apparatuses. An example may be providing public policies. What may be synchronized may be dictated by company policy which may be enforced by root server policy apparatus which may be working in conjunction with root server policy apparatus.

A root server policy apparatus may synchronize with root server policy apparatuses in other organizations. An example may be providing public policies. What may be synchronized may be dictated by company policy which may be enforced by a root server policy apparatus which may be working in conjunction with root server policy apparatus.

A root server policy apparatus may synchronize with other apparatuses in real time, at scheduled times, at scheduled intervals or at other time schedules or time patterns.

A root server policy apparatus may synchronize with other apparatuses in push, pull, push/pull replication, or using other synchronization methods.

A root server policy apparatus may fully or partially synchronize with one or more discovery apparatuses.

A root server policy apparatus may fully or partially synchronize with one or more communication mapping apparatuses.

A root server policy apparatus may fully or partially synchronize with one or more lookup apparatuses.

A root server policy apparatus may fully or partially synchronize with one or more publishing apparatuses.

A root server policy apparatus may fully or partially synchronize with one or more root server connector apparatuses.

A root server policy apparatus may provide reporting information by using information that may be stored in the root server policy apparatus or by using information that is obtained from communications with other apparatus and systems.

A root server policy apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the root server policy apparatus.

A root server policy apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server root server policy apparatuses, pooling apparatuses.

A root server policy apparatus may generate configuration and software code.

A root server policy apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions root server policy apparatus may have.

A root server policy apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of root server policy apparatus or other apparatus and systems that may be related and/or part of the system.

Other apparatus or systems may request root server policy apparatus to perform certain tasks it is capable of.

A root server policy apparatus may store the information it may receive or send and may access that information if it is needed.

A root server policy apparatus may store the information it may generate and may access that information if it is needed.

A root server policy apparatus may transfer the information it has to other apparatuses and may keep them synchronized.

A root server policy apparatus may be in a redundant configuration with two or more root server policy apparatuses which may help for recovery in case one of the root server policy apparatuses may not perform its functions.

A root server policy apparatus may be in a load balance and/or redundant configuration with two or more root server policy apparatuses, which may improve the speed of policy and providing reference information, which may help for recovery in case one of the root server policy apparatuses may not perform its functions.

A root server policy apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization.

Information received from the root server policy apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

Information received from the root server policy apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

FIG. 9illustrates a block diagram of pooling apparatus.

A pooling apparatus901may include at least one input connection, which may be labeled as input 1902, input 2903, numbered through input M−1904, input M905.

A pooling apparatus901may include at least one output connection, which may be labeled as output 1906, output 2907, numbered through output N−1908, output N909.

A pooling apparatus collects various data from its data connections, data connections may be in the form of wet contact switch, dry contact switch, data communication, analog circuit state, digital circuit state, serial communication, RS422, RS232, parallel communication, wireless communication, Bluetooth, Infrared, wired communication, interfaces with other apparatuses, interfaces with other systems, TCP/IP communications, and form of communications that allows pooling apparatus to receive data from operator, environment, systems, apparatuses and other pooling apparatuses.

A pooling apparatus may use pooling methods.

A pooling apparatus may detect the presence of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include whether device is connected or disconnected, whether it responds to commands.

A pooling apparatus may identify, if available, the manufacturer, model, version, firmware version of apparatuses, systems it may have information about or it may be communicating with.

A pooling apparatus may identify capabilities of apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include speeds of communication supported, number of communications channels supported, resolutions supported, connection types supported, environmental operating range.

A pooling apparatus may identify the control commands supported by apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include full command set, or partial command set, alternative command set, compatible command set, multiple command sets.

A pooling apparatus may identify information about people, resources by communicating with calendaring apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include information in calendar entries, attendee lists in calendar entries, attachments in calendar entries, scheduling, availability usage information, auditing information.

A pooling apparatus may identify information about people, resources by communicating with web conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A pooling apparatus may identify information about people, resources by communicating with video conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, URLs, IP addresses, port numbers, usernames, passwords usage information, auditing information.

A pooling apparatus may identify information about people, resources by communicating with audio conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A pooling apparatus may identify information about people, resources by communicating with multi point conferencing apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include free/busy status, address book, scheduling, phone numbers, URLs, IP addresses, port numbers, usernames, passwords, certificates, SIP addresses, gateway addresses, call manager addresses, multipoint conference unit addresses, DSP resource information, DSP utilization information usage information, auditing information.

A pooling apparatus may identify information about people, resources by communicating with e-mail apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include e-mails, contacts, availability, free/busy status, address book, scheduling, e-mail configuration, server side rules, client side rules, usage information, auditing information.

A pooling apparatus may identify information about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus, where apparatuses, systems allows one or more parties to communicate e.g. with each other. Such information may include availability, free/busy status, address book, scheduling.

A pooling apparatus may identify information about people, resources by communicating with phone or telephone apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include availability, free/busy status, address book, scheduling, phone numbers, directory information.

A pooling apparatus may identify issues about people, resources by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. A pooling apparatus may be in a communication about the issues with apparatuses, systems that may be involved. A pooling apparatus may take corrective action, may update its records, may inform other apparatuses about the information received, may inform other systems about the information received, may cause other apparatuses, systems to take actions that may be determined by pooling apparatus and/or other apparatuses/systems. Such issues and information may include apparatus disconnect information, system disconnect information, call disconnect information, network error information, packet loss information, error codes, crash logs, alternative route information, primary route lost information, schedule changes, availability changes, free/busy status changes, changes to address book, changes to scheduling, changes to phone numbers, changes to directory information.

A pooling apparatus may identify information about services provided by apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include directory services, e-mail services, calendaring services, name resolution services, WINS services, DNS services, file sharing services, print services, office automation services, home automations services, lighting control services, security services, alarm services.

A pooling apparatus may identify information about pooled apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include finding apparatuses that are in the same system, network, department, organization, town, city, country, geographical location.

A pooling apparatus may identify information about network apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A pooling apparatus may identify information about controlling apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, number of ports, port types, devices connected to ports, signal levels, signal types, environmental information, interaction devices controlling system is connected to, other apparatuses controlling apparatus is connected to, other systems controlling apparatus is connected to. Such information from controlling apparatuses may also include access lists, permit lists, deny lists, firewalls, routers, switches, operating system versions, virtual private networks, redundancy information, failover information, cost, latency, jitter, round trip delay, delay, bandwidth, channels, line protocols, department, organization, town, city, country, geographical location.

A pooling apparatus may identify information about interaction apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, type of interaction apparatus, software version, number of touches supported, signal levels, signal types, environmental information, information about the controlling apparatus interaction apparatus is connected to, other apparatuses interaction apparatus is connected to or communicating with, other systems interaction apparatus is connected to or communicating with.

A pooling apparatus may identify information about intention detection and action apparatuses, systems by communicating with apparatuses, systems it may have information about or it may be communicating directly with or it may be communicating through another apparatus such as discovery apparatus. Such information may include IP addresses, network masks, gateways, connection methods, communication protocols, request types.

A pooling apparatus may communicate to all apparatuses and systems it may be connected to.

A pooling apparatus may communicate with discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A pooling apparatus may classify the information that may be stored in the pooling apparatus or by using information that may be obtained from communications with other apparatus and systems.

Behavior of a pooling apparatus may be modified by one or more policy apparatuses.

Inputs of a pooling apparatus may pass through policy apparatus.

Outputs of a pooling apparatus may pass through policy apparatus.

A pooling apparatus may communicate with a policy apparatus and may feed data to policy apparatus for policy apparatus to inspect. Pooling apparatus may decide to accept/deny a request and/or send/don't send a response based on the information received from the policy apparatus.

A pooling apparatus may provide information requested by other people, apparatuses, systems. Such information may include calendar entries, free/busy information, availability, connection information, access information, phone numbers, IP addresses, usernames, passwords, certificates, connection speeds, number of simultaneous connections available, usage information, and other information that is being made accessible by other people, apparatuses, systems.

Access information may include but not limited to fully qualified domain name (FQDN)s, IP addresses, domain names, sub domain names, usernames, passwords, certificates and any other information needed to access a certain apparatus or system.

A pooling apparatus may locate and fetch the information being requested.

A pooling apparatus may assign one of the available pooled resources to requestor.

A pooling apparatus may assign a certain pooled resource to requestor if requestor requests the specific resource from the pool.

A pooling apparatus may deny resource requests if there is no resources available in the pool.

A pooling apparatus may deny resource requests if the specific resource requested from the pool is not available.

A pooling apparatus may deny or grant resource requests in coordination with one or more policy apparatuses.

A pooling apparatus may make the resources and/or availability accessible through lookup apparatus, publishing apparatus, public lookup apparatus, public publishing apparatus, and other apparatuses that may be used to make the information available. What may be published may be determined by one or more policy apparatuses.

A pooling apparatus may coordinate with calendaring systems or e-mail systems to book, read details or check availability of resources it may be pooling.

A pooling apparatus may include a storage. Storage may store requests, responses, and any other information that may be needed for the function of pooling apparatus.

A pooling apparatus may include a cache. Cache may store the information that may be frequently accessed. Cache may be a storage that may be accessed faster than storage used in the apparatus. Cache may cache requests and responses. Cache may cache information stored in the storage for faster access by the lookup method and pooling apparatus. Cache may be read only, write through, adaptive, or may use other caching algorithms.

A pooling apparatus may synchronize with public pooling apparatuses. An example may be providing availability of conference rooms. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with pooling apparatus.

A pooling apparatus may synchronize with pooling apparatuses in other organizations. An example may be providing availability of conference rooms. What may be synchronized may be dictated by company policy which may be enforced by a policy apparatus which may be working in conjunction with pooling apparatus.

A pooling apparatus may synchronize with other apparatuses in real time, at scheduled times, at scheduled intervals or at other time schedules or time patterns.

A pooling apparatus may synchronize with other apparatuses in push, pull, push/pull replication, or using other synchronization methods.

A pooling apparatus may require requestors to be authenticated by username, password, certificates. Certificates may be required to be from one or more of private certificate authorities that may be in organization, private certificate authorities that may be in another organization, public certificate authorities.

A pooling apparatus may fully or partially synchronize with one or more calendaring apparatuses.

A pooling apparatus may fully or partially synchronize with one or more e-mail apparatuses.

A pooling apparatus may fully or partially synchronize with one or more discovery apparatuses.

A pooling apparatus may fully or partially synchronize with one or more communication mapping apparatuses.

A pooling apparatus may fully or partially synchronize with one or more pooling apparatuses.

A pooling apparatus may fully or partially synchronize with one or more publishing apparatuses.

A pooling apparatus may fully or partially synchronize with one or more root server connector apparatuses.

A pooling apparatus may provide reporting information by using information that may be stored in the pooling apparatus or by using information that is obtained from communications with other apparatus and systems.

A pooling apparatus may utilize at least one or more of decision trees, data structures, statistical analysis methods, data analysis, analytics, pairwise comparison, n-tree structures, other structures and/or analysis methods that may help performing the functions of the pooling apparatus.

A pooling apparatus may provide information to discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses.

A pooling apparatus may generate configuration and software code.

A pooling apparatus may configure or program discovery apparatuses, policy apparatuses, communications mapping apparatuses, lookup apparatuses, publishing apparatuses, root server connector apparatuses, root server apparatuses, root server policy apparatuses, pooling apparatuses and other apparatuses and systems it is connected to, which may improve communicating, discovering, categorizing and building reference information functions and other functions pooling apparatus may have.

A pooling apparatus may configure and program the apparatuses and systems directly or through another apparatus such as controlling apparatus, terminal server, terminal server client, console server. This may improve the function of pooling apparatus or other apparatus and systems that may be related and/or part of the system.

Other apparatus or systems may request pooling apparatus to perform certain tasks it is capable of.

A pooling apparatus may store the information it may receive or send and may access that information if it is needed.

A pooling apparatus may store the information it may generate and may access that information if it is needed.

A pooling apparatus may transfer the information it has to other apparatuses and may keep them synchronized.

A pooling apparatus may be in a redundant configuration with two or more pooling apparatuses which may help for recovery in case one of the pooling apparatuses may not perform its functions.

A pooling apparatus may be in a load balance and/or redundant configuration with two or more pooling apparatuses, which may improve the speed of lookup and providing reference information, which may help for recovery in case one of the pooling apparatuses may not perform its functions.

A pooling apparatus may synchronize with other apparatuses over a dedicated connection just for synchronization or a shared connection that may be used for other purposes in addition to synchronization.

Information received from the pooling apparatus may be used, discarded, allowed, denied and altered by operators, apparatuses, systems and environments that may receive such information, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

Information received from the pooling apparatus by operators, apparatuses, systems and environments may cause the recipient or recipients to take action or actions or not to take an action, which may be determined by limitations, operator preferences, policies, environment, situations and other factors that may affect the determination.

FIG. 10illustrates an example of discovery apparatus such as discovery apparatus101ofFIG. 1.

In this example discovery apparatus acts as information gathering apparatus.

It queries the information using input communication ports to communicate with apparatuses, systems, operators, administrators. It receives the information over input ports, classifies the information, and creates a reference database.

It receives queries for reference database over output connections and responds with reference information over output connections.

In a discovery apparatus1001there may be one or more connections100610071008which may communicate with a query engine1002that may exist in discovery apparatus1001.

Query engine1002may query information from at least one or more of apparatuses, systems, operators, administrators.

Query engine1002may connect1014to storage1005and may store information in storage.

Query engine1002may connect1012to classifying engine1003and send information to classifying engine1003. Information that may be sent may be full information or partial information or full updates or partial updates.

Query engine1002may connect1012to classifying engine1003and send information to classifying engine1003and may also connect1014to storage1005and may store information in storage.

Query engine1002may connect1014to storage1005and may store information in storage and may also connect1012to classifying engine1003and may notify classifying engine1003. Classifying engine1003may connect1015to storage and may fetch the information from the storage1005with or without notification received from query engine1002. Information that may be fetched may be full information or partial information or full updates or partial updates.

Classifying engine1003may process the information and may organize and/or classify the information based on the organization and/or classification parameters that may be set by apparatuses, systems operators, administrators.

Classifying engine1003may query information from at least one or more of apparatuses, systems, operators, administrators.

Classifying engine1003may connect1015to storage1005and may store information in storage.

Classifying engine1003may connect1013to referencing engine1004and send information to referencing engine1004. Information that may be sent may be full information or partial information or full updates or partial updates.

Classifying engine1003may connect1013to referencing engine1004and send information to referencing engine1004and may also connect1015to storage1005and may store information in storage.

Classifying engine1003may connect1015to storage1005and may store information in storage and may also communicate with referencing engine1004and may notify referencing engine1004. Classifying engine1003may connect1015to storage and may fetch the information from the storage1005with or without notification received from referencing engine1004. Information that may be fetched may be full information or partial information or full updates or partial updates.

In a discovery apparatus1001there may be one or more connections100910101011which may communicate with a referencing engine1004that may exist in discovery apparatus1001.

Referencing engine1004may receive queries for information from at least one or more of apparatuses, systems, using at least one or more connections100910101011.

Referencing engine may provide information to other apparatuses, systems, operators, administrators, using at least one or more connections100910101011.

Referencing engine1004may query information from at least one or more of apparatuses, systems, operators, administrators.

Referencing engine1004may connect1016to storage1005and may store information in storage.

Referencing engine1004may connect100910101011to apparatuses, systems, operators and administrators and send information to apparatuses, systems, operators and administrators. Information that may be sent may be full information or partial information or full updates or partial updates.

Referencing engine1004may connect100910101011to apparatuses, systems, operators and administrators and send information to apparatuses, systems, operators and administrators and may also connect1016to storage1005and may store information in storage.

FIG. 11illustrates an example of communications mapping apparatus such as communications mapping apparatus201ofFIG. 2.

In this example communications mapping apparatus acts as information organizing, summarizing, aggregating, analyzing apparatus.

It receives reference information from discovery apparatus using input communication ports. It receives the information creates graphs, resolves conflicts, creates and reports communications maps.

It receives queries for reports on output connections and responds with reference information on output connections.

In the illustrated example the communications mapping apparatus has a graphing engine, a conflict resolution engine and a reporting engine.

The graphing engine receives data from one or more inputs from 1 to i110611071108.

The graphing engine may output results to the conflicting resolution engine.

Alternatively or in addition thereto the graphic engine may store the results in the storage.

The reporting engine may output data to one or more outputs 1 to o110811091110

In a communications mapping apparatus1101there may be one or more connections110611071108which may communicate with a graphing engine1102that may exist in communications mapping apparatus1101.

Graphing engine1102may query information from at least one or more of apparatuses, systems, operators, administrators.

Graphing engine1102may create computer graphics with nodes, vertexes and other information in graph theory.

Graphing engine1102may represent graph information in different formats which may make information exchange possible.

Graphing engine1102may connect1114to storage1105and may store information in storage.

Graphing engine1102may connect1112to conflict resolution engine1103and send information to conflict resolution engine1103. Information that may be sent may be full information or partial information or full updates or partial updates.

Graphing engine1102may connect1112to conflict resolution engine1103and send information to conflict resolution engine1103and may also connect1114to storage1105and may store information in storage.

Graphing engine1102may connect1114to storage1105and may store information in storage and may also connect1112to conflict resolution engine1103and may notify conflict resolution engine1103. Conflict resolution engine1103may connect1115to storage and may fetch the information from the storage1105with or without notification received from graphing engine1102. Information that may be fetched may be full information or partial information or full updates or partial updates.

Conflict resolution engine1103may process the information and may find conflicting information or missing information.

Conflict resolution engine1103may query information from at least one or more of apparatuses, systems, operators, administrators.

Conflict resolution engine1103may connect1115to storage1105and may store information in storage.

Conflict resolution engine1103may connect1113to reporting engine1104and send information to reporting engine1104. Information that may be sent may be full information or partial information or full updates or partial updates.

Conflict resolution engine1103may connect1113to reporting engine1104and send information to reporting engine1104and may also connect1115to storage1105and may store information in storage.

Conflict resolution engine1103may connect1115to storage1105and may store information in storage and may also communicate with reporting engine1104and may notify reporting engine1104. Conflict resolution engine1103may connect1115to storage and may fetch the information from the storage1105with or without notification received from reporting engine1104. Information that may be fetched may be full information or partial information or full updates or partial updates.

In a communications mapping apparatus1101there may be one or more connections110911101101which may communicate with a reporting engine1104that may exist in communications mapping apparatus1101.

Reporting engine1104may receive queries for information from at least one or more of apparatuses, systems, using at least one or more connections110911101101.

Reporting engine may provide information to other apparatuses, systems, operators, administrators, using at least one or more connections110911101101.

Reporting engine1104may query information from at least one or more of apparatuses, systems, operators, administrators.

Reporting engine1104may connect1116to storage1105and may store information in storage.

Reporting engine1104may connect110911101101to apparatuses, systems, operators and administrators and send information to apparatuses, systems, operators and administrators. Information that may be sent may be full information or partial information or full updates or partial updates.

Reporting engine1104may connect110911101101to apparatuses, systems, operators and administrators and send information to apparatuses, systems, operators and administrators and may also connect1116to storage1105and may store information in storage.

FIG. 12illustrates an example of policy apparatus such as policy apparatus301ofFIG. 3.

In this example policy apparatus acts as an inline policy enforcement apparatus.

It receives information from other apparatuses, buffers the information, inspects information and makes decisions on which part of the information is allowed to pass through the policy apparatus by referring to policies set by operators, administrators, apparatuses, systems. It then sends allowed information from outputs of the apparatus

A policy apparatus1201may receive policy information1215and may store in decision criteria1205area.

Decision logic1203may have at least one or more inputs1212which may have been feed from at least one or more input buffers1202.

Input buffer1202may buffer and prioritize information received from at least one or more policy apparatus inputs120612071208.

Decision logic1203may have at least one or more outputs1213which may feed an output buffer1204.

Output buffer1204may buffer information received from decision logic1203and send using at least one or more policy apparatus outputs120912101211.

FIG. 13illustrates an example of root server policy apparatus such as root server policy apparatus601ofFIG. 6.

In this example root server policy apparatus acts as an inline root server policy enforcement apparatus.

It receives information from other apparatuses, buffers the information, inspects information and makes decisions on which part of the information is allowed to pass through the policy apparatus by referring to policies set by operators, administrators, apparatuses, systems. It then sends allowed information from outputs of the apparatus

In this example root server policy apparatus acts as an in line filtering apparatus. It receives the information, finds information that is allowed to be transmitted by the policy, and send that information from the outputs. It does not hold state information such as historical data, session information.

A root server policy apparatus1301may receive root server policy information1315and may store in decision criteria1305area.

Decision logic1303may have at least one or more inputs1313which may have been feed from at least one or more input buffers1302.

Input buffer1302may buffer and prioritize information received from at least one or more root server policy apparatus inputs130613071308.

Decision logic1303may have at least one or more outputs1313which may feed an output buffer1304.

Output buffer1304may buffer information received from decision logic1303and send using at least one or more root server policy apparatus outputs130913101311.

FIG. 14illustrates an example of policy apparatus such as policy apparatus301ofFIG. 3.

In this example policy apparatus acts as a stateless policy apparatus with allow/deny response.

Policy apparatus1401receives the information on its buffer1402inputs 1 to l1406-1408, communicates1412to decision logic1403. Decision logic1403uses decision criteria1404, which is feeding from policy information communication1415and communicating1413with decision logic1403to find whether the information is allowed to be transmitted by the policy, and send an allow/deny decision from the outputs 1 to l1409-1411that matches the input for the information decision is based on. It does not hold state information such as historical data, session information. Policy apparatus1401inputs1406-1408may feed from discovery apparatus, communications mapping apparatus, lookup apparatus, publishing apparatus, root server connector apparatus and other apparatuses that may be part of the system. Policy apparatus1401output1409-1411may feed to discovery apparatus, communications mapping apparatus, lookup apparatus, publishing apparatus, root server connector apparatus and other apparatuses that may be part of the system.

FIG. 15illustrates an example policy apparatus such as policy apparatus301ofFIG. 3.

In this example policy apparatus acts as a stateful policy apparatus with allow/deny response.

Policy apparatus1501receives the information on its buffer1502inputs 1 to l1506-1508, communicates1512to decision logic1503. Decision logic1503uses decision criteria1504, which is feeding from policy information communication1515and communicating1514with decision logic1503to find whether the information is allowed to be transmitted by the policy, and send an allow/deny decision from the outputs 1 to l1509-1511that matches the input for the information decision is based on. Decision logic1503communicates with1513state logic1505which holds state information such as historical data, session information which may affect the decisions of decision logic1503. Policy apparatus1501inputs1506-1508may feed from discovery apparatus, communications mapping apparatus, lookup apparatus, publishing apparatus, root server connector apparatus and other apparatuses that may be part of the system. Policy apparatus1501output1509-1511may feed to discovery apparatus, communications mapping apparatus, lookup apparatus, publishing apparatus, root server connector apparatus and other apparatuses that may be part of the system.

FIG. 16illustrates an example root server policy apparatus such as root server policy apparatus801ofFIG. 8.

In this example root server policy apparatus acts as a stateless root server policy apparatus with allow/deny response.

Root server policy apparatus1601receives the information on its buffer1602inputs 1 to l1606-1608, communicates1612to decision logic1603. Decision logic1403uses decision criteria1604, which is feeding from policy information communication1615and communicating1613with decision logic1603to find whether the information is allowed to be transmitted by the root server policy, and send an allow/deny decision from the outputs 1 to l1609-1611that matches the input for the information decision is based on. It does not hold state information such as historical data, session information.

Root server policy apparatus1601inputs1606-1608may feed from root server apparatus and for inbound requests fit may feed rom discovery apparatus, communications mapping apparatus, lookup apparatus, publishing apparatus, root server connector apparatus and other apparatuses that may be part of the system. Root server policy apparatus1601output1609-1611may feed to root server apparatus, and for outbound requests it may feed to discovery apparatus, communications mapping apparatus, lookup apparatus, publishing apparatus, root server connector apparatus and other apparatuses that may be part of the system.

Root server policy apparatus1601decision logic1603may consult a certificate server to authenticate the requestors, requests and sign responses sent from outputs1609-1611.

FIG. 17illustrates an example of root server policy apparatus such as root server policy apparatus801ofFIG. 8.

In this example root server policy apparatus acts as a stateful root server policy apparatus with allow/deny response.

Root server policy apparatus1701receives the information on its buffer1702inputs 1 to l1706-1708, communicates1712to decision logic1703. Decision logic1703uses decision criteria1704, which is feeding from policy information communication1715and communicating1714with decision logic1703to find whether the information is allowed to be transmitted by the root server policy, and send an allow/deny decision from the outputs 1 to l1709-1711that matches the input for the information decision is based on. Decision logic1703communicates with1713state logic1705which holds state information such as historical data, session information which may affect the decisions of decision logic1703.

Root server policy apparatus1701inputs1706-1708may feed from root server apparatus and for inbound requests fit may feed rom discovery apparatus, communications mapping apparatus, lookup apparatus, publishing apparatus, root server connector apparatus and other apparatuses that may be part of the system. Root server policy apparatus1701output1709-1711may feed to root server apparatus, and for outbound requests it may feed to discovery apparatus, communications mapping apparatus, lookup apparatus, publishing apparatus, root server connector apparatus and other apparatuses that may be part of the system.

Root server policy apparatus1701decision logic1703may consult a certificate server to authenticate the requestors, requests and sign responses sent from outputs1709-1711.

FIG. 18illustrates an example of lookup apparatus such as lookup apparatus401ofFIG. 4.

In this example lookup apparatus acts as a general information search apparatus with inline policy filtering for inputs and outputs.

Lookup apparatus1801receives an information request on its input1810which may be filtered by an inline policy apparatus1809which receives requests1808.

Lookup apparatus1801input1810feeds to lookup engine1802in the lookup apparatus1801, which communicates1814with at least one or more apparatuses that contains information being looked for, store1806the information received in storage1804, and connects1807to a caching engine1803which connects1805to storage for faster access to data in storage.

Lookup engine1802, looks up the requested information from direct consult with communication1814with one or more other apparatuses whether the information requested is available, or look up using cache1803or storage1804which stores previous look up results. If information requested is found, lookup engine1802communicates1811the information requested from the output1811, which may be filtered by an inline policy apparatus1812which sends filtered responses1813to requestors. If information requested is found, lookup engine1802directly stores1806the results in storage1806, or stores1807through caching engine1803which then stores1805to storage1804.

To find the information requested, lookup apparatus1801relies on at least one or more apparatuses such as communications mapping apparatus or other apparatuses that may contain information being looked for.

FIG. 19illustrates an example of lookup apparatus such as lookup apparatus401ofFIG. 4.

In this example lookup apparatus acts as an information search apparatus to search information in communications mapping apparatus with inline policy filtering for inputs and outputs.

Lookup apparatus1901receives an information request on its input1910which may be filtered by an inline policy apparatus1909which receives requests1908.

Lookup apparatus1901input1910feeds to lookup engine1902in the lookup apparatus1901, which communicates1914with communications mapping apparatus1915, store1906the information received in storage1904, and connects1907to a caching engine1903which connects1905to storage for faster access to data in storage.

Lookup engine1902, looks up the requested information from direct consult with communication1914with one or more other apparatuses whether the information requested is available, or look up using cache1903or storage1904which stores previous look up results. If information requested is found, lookup engine1902communicates1911the information requested from the output1911, which may be filtered by an inline policy apparatus1912which sends filtered responses1913to requestors. If information requested is found, lookup engine1902directly stores1906the results in storage1906, or stores1107through caching engine1903which then stores1905to storage1904.

To find the information requested, lookup apparatus1901relies on at least one or more communications1915to communications mapping apparatuses1915, which may communicate1916to at least one or more discovery apparatuses1917, which may communicate to devices 1 to d1918.

FIG. 20illustrates an example of lookup apparatus such as lookup apparatus401ofFIG. 4.

In this example lookup apparatus acts as a general information search apparatus with allow/deny policy filtering.

Lookup apparatus2001receives an information request on its input2008which may be allowed or denied based on communication2009with policy apparatus2010.

Lookup apparatus2001input2008feeds to lookup engine2002in the lookup apparatus2001, which communicates2012with at least one or more apparatuses that contains information being looked for, store2006the information received in storage2004, and connects2007to a caching engine2003which connects2005to storage for faster access to data in storage.

Lookup engine2002, looks up the requested information from direct consult with communication2012with one or more other apparatuses whether the information requested is available, or look up using cache2003or storage2004which stores previous look up results. If information requested is found, lookup engine2002consults with policy apparatus2009for whether to send outbound response using communication2009with policy apparatus2010, if policy apparatus2010communicates2009allow, lookup engine2002communicates2011the information requested using the output2011. If information requested is found, lookup engine2002directly stores2006the results in storage2006, or stores2007through caching engine2003which then stores2005to storage2004.

To find the information requested, lookup apparatus2001relies on at least one or more apparatuses such as communications mapping apparatus or other apparatuses that may contain information being looked for.

FIG. 21illustrates an example of lookup apparatus such as lookup apparatus401ofFIG. 4.

In this example lookup apparatus acts as an information search apparatus to search information in communications mapping apparatus with allow/deny policy filtering.

Lookup apparatus2101receives an information request on its input2108which may be allowed or denied based on communication2109with policy apparatus2110.

Lookup apparatus2101input2108feeds to lookup engine2102in the lookup apparatus2101, which communicates2112with communications mapping apparatus2113, store2106the information received in storage2104, and connects2107to a caching engine2103which connects2105to storage for faster access to data in storage.

Lookup engine2102, looks up the requested information from direct consult with communication2112with one or more other apparatuses whether the information requested is available, or look up using cache2103or storage2104which stores previous look up results. If information requested is found, lookup engine2102consults with policy apparatus2109for whether to send outbound response using communication2109with policy apparatus2110, if policy apparatus2110communicates2109allow, lookup engine2102communicates2111the information requested using the output2111. If information requested is found, lookup engine2102directly stores2106the results in storage2106, or stores2107through caching engine2103which then stores2105to storage2104.

To find the information requested, lookup apparatus2101relies on at least one or more communications2115to communications mapping apparatuses2115, which may communicate2116to at least one or more discovery apparatuses2117, which may communicate to devices 1 to d2118.

FIG. 22illustrates an example of proxy lookup apparatus such as lookup apparatus401ofFIG. 4.

Proxy lookup apparatus2201receives lookup requests2225which may be filtered by inline policy apparatus2211. Policy apparatus2211receives the incoming look up requests over connection2217, such as requests from other lookup apparatuses. Proxy lookup apparatus2201receives the communication2225for an information request over lookup engine2202in proxy lookup apparatus2201. Lookup engine2202looks up the cache2203or storage2204for stored request response pairs from past, if not found, passes the request to lookup proxy engine2205, which communicates2213-2216the request at least one or more other lookup apparatuses 1 to L2207-2210and also looks up in cache2206and in storage2224. If lookup apparatuses2207-2210communicate2213-2216a response to lookup proxy engine2205with information requested, or information is found in cache2206or storage2204, lookup proxy engine2205communicates2219the response to lookup engine2202, and stores2206in storage2204and/or stores222in cache2206which stores2223in storage. Lookup engine communicates2226the response from storage2204, cache2203or lookup proxy engine2205, which may be filtered by an inline policy apparatus2212, which communicates2218the filtered response to requestor. Lookup engine2205stores2203the request and response pairs in storage2204, or stores2220in cache2203which stores2221in storage2204.

FIG. 23illustrates an example of proxy lookup apparatus such as lookup apparatus401ofFIG. 4.

In the illustrated example the proxy lookup apparatus2301has a lookup proxy engine2305, a lookup engine2302and a storage2304. In the example the lookup proxy engine2305is connected to a cache2306and storage2304. The lookup engine2302is connected to cache2303and storage2304.

The lookup engine2302may receive a lookup request2316such as access information for a video conferencing apparatus from the lookup apparatus of another organization.

Responsive to receiving the lookup request2316, the lookup engine2302may consult a policy apparatus2311. The policy apparatus2311may provide an indication as to whether the lookup engine2302should allow the incoming lookup request.

Responsive to policy apparatus2311approving, the lookup engine searches cache2303, searches storage2304, if information is not found, lookup engine2302forms a requests and sends the requests to lookup proxy engine2305over connection2318.

The lookup proxy engine searches cache2306, searches storage2304, if information is not found, lookup proxy engine2305contacts any number of lookup apparatuses 1 through l2307-2310over connections2312through2315. If the information requested is provided by the lookup apparatuses 1 through L2307-2310, it is communicated2318to lookup engine2302, stored2323in storage2304and/or stored2321in cache2306which stores2322in storage2304.

Responsive to lookup proxy engine2305, lookup engine2302may consult a policy apparatus2311. The policy apparatus2311may provide an indication as to whether the lookup engine2302should allow the outbound lookup response.

Responsive to policy apparatus2311approving, the lookup engine2302forms a response and sends over connection2317. Lookup engine stores2319the request/response pairs in cache2303which stores2320in storage2304. Lookup engine stores2324the request/response pairs in storage2304.

While the example may show one proxy engine, other embodiments may include multiple lookup proxy engines.

FIG. 24illustrates an example of publishing apparatus such as publishing apparatus501ofFIG. 5.

In this example publishing apparatus2401acts as a general information publishing apparatus with inline policy filtering for inputs and outputs.

Publishing apparatus2401receives a publish request on its input2410which may be filtered by an inline policy apparatus2407which receives publish requests2409.

Publishing apparatus2401input2410feeds directly2413or through a buffer2403to publishing engine2402in the publishing apparatus2401. In response to publishing request, publishing engine2402searches cache2406, searches storage2406, if not found, communicates2418with at least one or more apparatuses that contains information being looked for. If the requested information is communicated2418from the apparatuses to publishing engine2402, publishing engine2402stores2417the information received in storage2406and/or connects2415to a cache2405which connects2416to storage2406for faster access to data in storage2406.

After publishing engine2402finds the information for publish request from direct consult with communication2418with one or more other apparatuses, or cache2405or storage2406which stores previous publish results, publishing engine2402communicates2411the information requested from the output2411, which may be filtered by an inline policy apparatus2408which sends filtered responses2412to requestors. If information requested is found, publishing engine2402may directly store2417the results in storage2406, or store2407through caching engine2403which then stores2405to storage2404.

To find the information requested that does not exist in storage or cache, publishing apparatus2401relies on at least one or more apparatuses such as communications mapping apparatus, lookup apparatuses, other publishing apparatuses or other apparatuses that may contain information being looked for.

Publishing apparatus2401may have a storage that may hold all or some data that is allowed to be published without relying on repeated communications to other apparatuses such as communications mapping apparatus. In an embodiment of lookup apparatus, lookup apparatus may have a smaller storage in comparison to publishing apparatus, enough to cache real time queries in consulting with the publishing apparatus or communications mapping apparatus.

Publishing apparatus2401may also synchronize with other publishing apparatuses.

Publishing apparatus2401may hold state information such as historical data, session information which may optimize queries or response time.

FIG. 25illustrates an example of publishing apparatus such as publishing apparatus501ofFIG. 5.

In this example publishing apparatus acts as an information publishing apparatus to publishing information in communications mapping apparatus with inline policy filtering for inputs and outputs.

In this example publishing apparatus2501acts as a general information publishing apparatus with inline policy filtering for inputs and outputs.

Publishing apparatus2501receives a publish request on its input2510which may be filtered by an inline policy apparatus2507which receives publish requests2509.

Publishing apparatus2501input2510feeds directly2513or through a buffer2503to publishing engine2502in the publishing apparatus2501. In response to publishing request, publishing engine2502searches cache2506, searches storage2506, if not found, communicates2518with communications mapping apparatus2519, which may communicate2521to a discovery apparatus2520. If the requested information is communicated2518from communications mapping apparatus2519to publishing engine2502, publishing engine2502stores2517the information received in storage2506and/or connects2515to a cache2505which connects2516to storage2506for faster access to data in storage2506.

After publishing engine2502finds the information for publish request from direct consult with communication2518with communications mapping apparatus2519, or cache2505or storage2506which stores previous publish results, publishing engine2502communicates2511the information requested from the output2511, which may be filtered by an inline policy apparatus2508which sends filtered responses2512to requestors. If information requested is found, publishing engine2502may directly store2517the results in storage2506, or store2507through caching engine2503which then stores2505to storage2504.

To find the information requested that does not exist in storage or cache, publishing apparatus2501relies on at least one or more of communications mapping apparatuses, lookup apparatuses, other publishing apparatuses or other apparatuses that may contain information being looked for.

Publishing apparatus2501may have a storage that may hold all or some data that is allowed to be published without relying on repeated communications to other apparatuses such as communications mapping apparatus. In an embodiment of lookup apparatus, lookup apparatus may have a smaller storage in comparison to publishing apparatus, enough to cache real time queries in consulting with the publishing apparatus or communications mapping apparatus.

Publishing apparatus2501may also synchronize with other publishing apparatuses.

Publishing apparatus2501may hold state information such as historical data, session information which may optimize queries or response time.

FIG. 26illustrates an example of publishing apparatus such as publishing apparatus501ofFIG. 5.

In this example publishing apparatus acts as a general information publishing apparatus with allow/deny policy filtering.

Publishing apparatus2601receives a publish request on its input2608.

Publishing apparatus2601input2608feeds directly2603or through a buffer2610to publishing engine2602in the publishing apparatus2601. In response to publishing request, publishing engine2602searches cache2605, searches storage2606, if not found, communicates2615with at least one or more apparatuses that contains information being looked for. If the requested information is communicated2615from the apparatuses to publishing engine2602, publishing engine2602stores2614the information received in storage2606and/or connects2612to a cache2605which connects2613to storage2606for faster access to data in storage2606.

After publishing engine2602finds the information for publish request from direct consult with communication2618with one or more other apparatuses, or cache2605or storage2606which stores previous publish results, publishing engine2602, in consulting with a policy apparatus2607which communicates2615an allow message allowing publishing engine2602to send response to requestor on output2609, which may be fed directly2611or through a buffer2604, or deny message which causes publishing engine2602to not to send a response or send a response with informing respond to request is denied. If information requested is found from outside connections2615, publishing engine2602may directly store2614the results in storage2606, or store2612through caching engine2603which then stores2613to storage2606.

To find the information requested that does not exist in storage2606or cache2605, publishing apparatus2601relies on at least one or more apparatuses such as communications mapping apparatus, lookup apparatuses, other publishing apparatuses or other apparatuses that may contain information being looked for.

Publishing apparatus2601may have a storage that may hold all or some data that is allowed to be published without relying on repeated communications to other apparatuses such as communications mapping apparatus. In an embodiment of lookup apparatus, lookup apparatus may have a smaller storage in comparison to publishing apparatus, enough to cache real time queries in consulting with the publishing apparatus or communications mapping apparatus.

Publishing apparatus2601may also synchronize with other publishing apparatuses.

Publishing apparatus2601may hold state information such as historical data, session information which may optimize queries or response time.

FIG. 27illustrates an example of publishing apparatus such as publishing apparatus501ofFIG. 5.

In this example publishing apparatus acts as an information publishing apparatus to publishing information in communications mapping apparatus with allow/deny policy filtering.

Publishing apparatus2701receives a publish request on its input2708.

Publishing apparatus2701input2708feeds directly2703or through a buffer2710to publishing engine2702in the publishing apparatus2701. In response to publishing request, publishing engine2702searches cache2705, searches storage2706, if not found, communicates2715with communications mapping apparatus2716, which communicates2717to discovery apparatus2718, which communicates with device 1 to d2719. If the requested information is communicated2715from the communications mapping apparatus to publishing engine2702, publishing engine2702stores2714the information received in storage2706and/or connects2712to a cache2705which connects2713to storage2706for faster access to data in storage2706.

After publishing engine2702finds the information for publish request from direct consult with communication2718with communications mapping apparatus2716, or cache2705or storage2706which stores previous publish results, publishing engine2702, in consulting with a policy apparatus2707which communicates2715an allow message allowing publishing engine2702to send response to requestor on output2709, which may be fed directly2711or through a buffer2704, or deny message which causes publishing engine2702to not to send a response or send a response with informing respond to request is denied. If information requested is found from outside connections2715, publishing engine2702may directly store2714the results in storage2706, or store2712through caching engine2703which then stores2713to storage2706.

To find the information requested that does not exist in storage2706or cache2705, publishing apparatus2701relies on at least one or more communications mapping apparatus, lookup apparatuses, other publishing apparatuses or other apparatuses that may contain information being looked for.

Publishing apparatus2701may have a storage that may hold all or some data that is allowed to be published without relying on repeated communications to other apparatuses such as communications mapping apparatus. In an embodiment of lookup apparatus, lookup apparatus may have a smaller storage in comparison to publishing apparatus, enough to cache real time queries in consulting with the publishing apparatus or communications mapping apparatus.

Publishing apparatus2701may also synchronize with other publishing apparatuses.

Publishing apparatus2701may hold state information such as historical data, session information which may optimize queries or response time.

FIG. 28illustrates an example of public publishing apparatus such as publishing apparatus501ofFIG. 5.

A public publishing apparatus2801may accept communications from other publishing apparatuses 1 to P2802-2804which may communicate data that is allowed to be public. Public publishing apparatus2601may serve the public data to any publishing apparatus if demanded, or synch parts or all of the data to any publishing apparatus if it demands so.

FIG. 29illustrates an example of root server connector apparatus such as root server connector apparatus601ofFIG. 6.

A root server connector apparatus2901may have a root server registration engine2902and a storage2903. Root server registration engine2902in the root server registration apparatus2901of an organization2901, communicates with2913and registers itself with the root server2907as point of contact for the organization. Root server connector apparatus2901may also communicate with one or more communications mapping apparatuses in the organization and register publicly available resources with the root server2907.

In this embodiment, to obtain organization information to be registered with root server2907, root server connector registration engine2902communicates2909to an inline policy apparatus2904, which communicates with2912a communications mapping apparatus2906. Policy apparatus2904determines what is allowed to be read by the root server registration engine2902. Root server registration engine2902stores2911the information to be registered in storage2903and communicates2910through an inline policy apparatus2905, which communicates with2913a root server apparatus2907, which may be in cloud2908to register access information for the organization. Policy apparatus2905determines what is allowed to be registered by the root server registration engine2902to root server apparatus2907. In other embodiments, root server registration engine2902may also communicate with lookup apparatuses and publishing apparatuses in the organization and register access information for those apparatuses with root server apparatus2907.

FIG. 30illustrates an example of root server connector apparatus such as root server connector apparatus601ofFIG. 6.

A root server connector apparatus3001may have a root server registration engine3002and a storage3003. Root server registration engine3002in the root server registration apparatus3001of an organization3001, communicates with3013and registers itself with the root server3007as point of contact for the organization. Root server connector apparatus3001may also communicate with one or more communications mapping apparatuses in the organization and register publicly available resources with the root server3007.

In this embodiment, to obtain organization information to be registered with root server3007, root server connector registration engine3002communicates3009to a policy apparatus3005for approval of communication to3012a communications mapping apparatus3006. Policy apparatus3005allows and denies the collecting information about each apparatuses in the organization based on the policy set in the apparatus, such as register public conference rooms but don't register CEO's conference room. Root server registration engine3002stores3011the information to be registered in storage3003and communicates3009to policy apparatus3005for approval of communicating to a root server apparatus3007. If policy apparatus3005allows registration with the particular root server apparatus3006, which may be in cloud3008root server registration engine3002registers access information for the organization with the root server apparatus3006. Policy apparatus3005determines which root servers is the organization allowed to register with. In other embodiments, root server registration engine3002may also communicate with lookup apparatuses and publishing apparatuses in the organization and register access information for those apparatuses with root server apparatus3006.

FIG. 31illustrates an example of root server connector apparatuses and root server apparatus such as root server connector apparatus601ofFIG. 6and root server apparatus701ofFIG. 7.

In this example one or more root server connector apparatuses 1 to e3102-3104, may communicate with a root server apparatus3101. Each root server connector apparatus may represent one or more organizations. When a root server connector apparatus, such as root server connector apparatus 13102, needs to reach a target organization, such as Company B, that is outside its represented organizations, such as Company A, root server apparatus3101is consulted and organization information is passed to root server apparatus3101. Root server apparatus3101responds access information for target organization's root server connector apparatus, such as root server connector apparatus 23103for Company B, and any other services provided publicly by the organization, such as availability and access information for lookup apparatuses and publishing apparatuses. In some cases organizations may allow access to discovery apparatuses and communications mapping apparatuses or calendaring apparatuses and such access information would be registered using root server connector apparatus to root server apparatus and would be made available through root server apparatus to other organizations.

FIG. 32illustrates an example of root server apparatus such as root server apparatus701ofFIG. 7.

In this example a root server apparatus3211has a registration engine3202, registration database3203, resolver engine3204, internal certificate authority3207.

Registration engine3202may access registration database directly3218or using connection3217to a cache3205which connects3219to registration database3203, such as using cache3205to improve access speed for frequently accessed items.

Resolver engine3204may access registration database3204directly3222or using connection3223to a cache3206which connects3221to registration database3203, such as using cache3206to improve access speed for frequently accessed items

Registration requests communicated3211to root server apparatus3201registration engine3202may be filtered by an inline policy apparatus3208. Policy apparatus3208receives the registration request communication3211, may check the identity of the registration request originator with communication3213to internal certificate authority3207in root server or with communication3212to one or more private or public certificate authorities 1 to a3210, and forwards the registration request communication3214to registration engine3202.

Resolving requests to3228root server apparatus may be filtered by an inline policy apparatus3209. Policy apparatus3209receives the resolve request communication3228, may check the identity of the registration request originator with communication3226to internal certificate authority3207in root server or with communication3227to one or more private or public certificate authorities 1 to a3210, and forwards the registration request communication3214to resolver engine3202.

Registration engine3202receives the registration request and records3218it in the registration database3203in consulting3216with the internal certificate authority3207, and in consulting3215with one or more private certificate authorities and one or more public certificate authorities 1 to a3210. Registration information may include access information for the root server connector apparatus, lookup apparatus, publishing apparatus for the organization and other information organization may want to make it available publicly.

Registration engine3202may sign the information with internal certificates and store in registration database3203.

Registration database3203may work in consulting with internal certificate authority3207to permit engines to access database if they present valid certificates for access authorization and/or sign the requests with certificates.

Resolver engine3204receives3225resolving request and queries3222the registration database3203for the information. Once information is fetched, validity is checked by checking the signature on the information received against the signatures from the internal certificate authorities3207with communication3226to internal certificate authorities3207. Alternatively, once information is fetched, validity is checked by checking the signature on the information received against the signatures from the one or more public certificate authorities and one or more public certificate authorities 1 to a3210with communication3229to one or more public certificate authorities and one or more public certificate authorities 1 to a3210. Once validated, resolver engine3204communicates3225the response to policy apparatus3209to be communicated3228to requestor.

As registration information is received, authenticity of information source and information itself is verified with certificates.

Certificates are used to authenticate and encrypt the communications between the components of the root server3201and other apparatuses such as root server policy apparatus, root server connector apparatus, private certificate authorities, public certificate authorities 1 to a3210.

FIG. 33illustrates an example of root server apparatus such as root server apparatus701ofFIG. 7.

In this example a root server apparatus3311has a registration engine3302, registration database3303, resolver engine3304, internal certificate authority3307.

Registration engine3302may access registration database directly3318or using connection3317to a cache3305which connects3319to registration database3303, such as using cache3305to improve access speed for frequently accessed items.

Resolver engine3304may access registration database3304directly3322or using connection3323to a cache3306which connects3321to registration database3303, such as using cache3306to improve access speed for frequently accessed items

Registration requests communicated3311to root server apparatus3301registration engine3302may be allowed or denied by consulting policy apparatus3308. Policy apparatus3308receives the registration request communication3314, may check the identity of the registration request originator with communication3313to internal certificate authority3307in root server apparatus or with communication3312to one or more private or public certificate authorities 1 to a3310, and communicates3314allow or deny to response to registration engine3302.

Resolving requests communicated3325to root server apparatus3301resolver engine3304may be allowed or denied by consulting policy apparatus3309. Policy apparatus3309receives the registration request communication3328, may check the identity of the registration request originator with communication3326to internal certificate authority3307in root server apparatus or with communication3327to one or more private or public certificate authorities 1 to a3310, and communicates3328allow or deny to response to resolver engine3304.

Registration engine3302receives the registration request and records3318it in the registration database3303in consulting3316with the internal certificate authority3307, and in consulting3315with one or more private certificate authorities and one or more public certificate authorities 1 to a3310. Registration information may include access information for the root server connector apparatus, lookup apparatus, publishing apparatus for the organization and other information organization may want to make it available publicly.

Registration engine3302may sign the information with internal certificates and store in registration database3303.

Registration database3303may work in consulting with internal certificate authority3307to permit engines to access database if they present valid certificates for access authorization and/or sign the requests with certificates.

Resolver engine3304receives3325resolving request and queries3322the registration database3303for the information. Once information is fetched, validity is checked by checking the signature on the information received against the signatures from the internal certificate authorities3307with communication3326to internal certificate authorities3307. Alternatively, once information is fetched, validity is checked by checking the signature on the information received against the signatures from the one or more public certificate authorities and one or more public certificate authorities 1 to a3310with communication3329to one or more public certificate authorities and one or more public certificate authorities 1 to a3310. Once validated, resolver engine3304consults3328the policy apparatus3309, if policy apparatus3309approves sending the response message, resolver engine3304communicates3325the response message to requestor.

As registration information is received, authenticity of information source and information itself is verified with certificates.

Certificates are used to authenticate and encrypt the communications between the components of the root server3301and other apparatuses such as root server policy apparatus, root server connector apparatus, private certificate authorities, public certificate authorities 1 to a3310.

FIG. 34illustrates an example of an organization connection to root server apparatus using root server connector apparatus in an environment with one or more of each discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In this example an organization has devices 1 to d3410which is discovered by discovery apparatus3401, which communicates3411the reference information from discovery apparatus3401to communications mapping apparatus3402. Communications mapping apparatus3402creates a map of all the resources in organization which are discovered by discovery apparatus.

Publishing apparatus3403provides public information about the organization by receiving information to be published over communications3412from communications mapping apparatus3402and storing, updating them in the apparatus and publishing them over connections3413.

Lookup apparatus3404provides public lookup services and communicates with3423and consults communications mapping apparatus3402to obtain and respond to such requests coming over connections3415.

Root server connector apparatus3405registers itself as organizations point of contact over communications3417with the root server3406which may be in cloud3418.

Root server connector apparatus3405also publishes access information for publishing apparatus3403, lookup apparatus3404and communications mapping apparatus3402which may be learned and updated over connections3414to publishing apparatus3403, connections3422to communications mapping apparatus3402and connections3424to lookup apparatus3404.

Root server connector apparatus3405may publish some information from communications mapping apparatus3402to root server apparatus3406.

Other organizations with root server connectors 1 to s3407-3409may also register themselves with the root server apparatus3406, making the root server apparatus a central repository of access information for all the organizations registering with the root server apparatus3406.

Organization may utilize one or more policy apparatuses such as policy apparatus301inFIG. 3to enforce organizational policies.

Root server authority may utilize one or more root server policy apparatuses such as root server policy apparatus801inFIG. 8to enforce root server security and access.

Organization may utilize one or more pooling apparatus such as pooling apparatus901inFIG. 9to pool resources such as conference rooms in the same floor.

FIG. 35illustrates an example of an organization connection to root server apparatus using root server connector apparatus in an environment with one or more of each email apparatus, calendaring apparatus, discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In this example an organization has devices 1 to d3510which is discovered by discovery apparatus3501. Discovery apparatus connects3525to email apparatus3524and communicates with3530calendaring apparatus and discovers the information and services provided. Discovery apparatus3501communicates3511the reference information from discovery apparatus3501to communications mapping apparatus3502.

Communications mapping apparatus3502creates a map of all the resources in organization which are discovered by discovery apparatus. Communications mapping apparatus may connect3526to email apparatus3530, may connect3531to calendaring apparatus to communicate to request and receive additional information that may not be presented in reference information received from the discovery apparatus3501.

Email apparatus3524is discovered by discovery apparatus3501, mapped and extended information obtained by communications mapping apparatus3502, publishable information published by publishing apparatus3503, e-mails are looked up by lookup apparatus3504, and existence is registered to root server3506by root server connector apparatus3505.

Calendaring apparatus3529is discovered by discovery apparatus3501, mapped and extended information obtained by communications mapping apparatus3502, publishable information published by publishing apparatus3503, calendars are looked up by lookup apparatus3504, and existence is registered to root server3506by root server connector apparatus3505.

Publishing apparatus3503provides public information about the organization by receiving information to be published over communications3512from communications mapping apparatus3502and storing, updating them in the apparatus and publishing them over connections3513. Such information may include information received with communication3527with email apparatus3530, information received with communication3532with calendaring apparatus3529.

Lookup apparatus3504provides public lookup services and communicates with3523and consults communications mapping apparatus3502to obtain and respond to such requests coming over connections3515. Such information may include information received with communication3528with email apparatus3530, information received with communication3533with calendaring apparatus3529.

Root server connector apparatus3505registers itself as organizations point of contact over communications3517with the root server3506which may be in cloud3518.

Root server connector apparatus3505also publishes access information for publishing apparatus3503, lookup apparatus3504and communications mapping apparatus3502which may be learned and updated over connections3514to publishing apparatus3503, connections3522to communications mapping apparatus3502and connections3524to lookup apparatus3504.

Root server connector apparatus3505publishes access information about email apparatus3524and calendaring apparatus3529, which may be learned and updated through communication mapping apparatus3502.

Root server connector apparatus3505may publish some information from communications mapping apparatus3502to root server apparatus3506.

Other organizations with root server connectors 1 to s3507-3509may also register themselves with the root server apparatus3506, making the root server apparatus a central repository of access information for all the organizations registering with the root server apparatus3506.

Organization may utilize one or more policy apparatuses such as policy apparatus301inFIG. 3to enforce organizational policies.

Root server authority may utilize one or more root server policy apparatuses such as root server policy apparatus801inFIG. 8to enforce root server security and access.

Organization may utilize one or more pooling apparatus such as pooling apparatus901inFIG. 9to pool resources such as conference rooms in the same floor.

FIG. 36illustrates an example of pooling apparatus with an available resource request such as pooling apparatus901inFIG. 9.

In an example of pooling apparatus3601, multiple resources pooled are identified in the pool as resource 1 to r3602-3604.

A request for an available resource is made to pooling apparatus which is received by arbitrator3605in pooling apparatus3601over connection3606to arbitrator3605in pooling apparatus3601.

Arbitrator3605checks availability of the resources and locks in an available one, for example resource 13602, and provides access information for the apparatus assigned as a response over connection3606of pooling apparatus3601, if there is no resources available, request is denied or ignored and may be communicated3706back to requestor.

In certain embodiments, resources may be conference rooms, phone lines, multipoint video conferencing ports available, or even human resources such as available conference concierge person, in which case video conference number or phone number of the person may be returned from the pooling apparatus.

FIG. 37illustrates an example of pooling apparatus with a specific resource request such as pooling apparatus901inFIG. 9.

In an example of pooling apparatus3701, multiple resources pooled are identified in the pool as resource 1 to r3702-3704.

A request for a specific resource, for example resource 2, is made to pooling apparatus which is received by arbitrator3705in pooling apparatus3701over connection3706to arbitrator3705in pooling apparatus3701.

Arbitrator3705checks availability of the specific resource, for example resource 2, and locks in the resource if it is available and provides access information for the apparatus assigned as a response over connection3706of pooling apparatus3701, if there is no resources available, request is denied or ignored and may be communicated3706back to requestor.

In certain embodiments, resources may be conference rooms, phone lines, multipoint video conferencing ports available, or even human resources such as available conference concierge person, in which case video conference number or phone number of the person may be returned from the pooling apparatus.

FIG. 38illustrates an example hardware platform that may be used for discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In an example of discovery apparatus hardware implementation, there is a CPU3802, which has a direct connection3806to memory3801and a direct connection3807to GPU3803, and a direct connection3823to I/O3804.

FIG. 39illustrates an example I/O module that may be used for discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

FIG. 40illustrates an example hardware platform that may be used for discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In an example discovery apparatus, there is a CPU4004that connects4018to multi-level cache from cache level 1 to cache level C4007. There is a common bus for interconnection of memory4002, CPU4004, GPU4010, firmware4012, I/O4008, general expansion ports 1 to m4016, and I/O expansion ports 1 to i4017using connections4003,4005,4011,4013,4009,4014, and4015.

FIG. 41illustrates an example hardware platform that may be used for discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In an example discovery apparatus, there is a CPU4101connected4102to multi-level cache from cache level 1 to cache level C4103. CPU connects4104to a memory controller4105. Memory controller4105connects4106to memory4107, connects4111to I/O controller4112, connects4110to general expansion ports 1 to m4117and connects4108GPU4109.

FIG. 42illustrates an example hardware platform that may be used for discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In an example discovery apparatus, there is a CPU4201connected4202to multi-level cache from cache level 1 to cache level C4203. CPU4201connects4204to memory4205and connects4206to controller4207.

FIG. 43illustrates an example hardware platform that may be used for discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In an example discovery apparatus, there is a CPU4301with multi-level cache from cache level 1 to cache level C4303. CPU4301connects4304to firmware4307, connects4308to I/O ports4309, connects4305to general expansion ports 1 to m4310, connects4306to expansion ports 1 to i4311.

This hardware configuration simplifies the circuit design by putting I/O in the CPU and may make the apparatus more energy, cost, space efficient.

FIG. 44illustrates an example hardware platform that may be used for discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In an example discovery apparatus, there is a central interconnect fabric4415which may connect any component to any component directly.

Interconnect fabric4415connects one or more of the CPU4401, level 14402, level 24403, level C−14404to level C cache4405, memory4406, audio I/O4407, network I/O4408, general expansion ports 1 to m4409, storage I/O4410, I/O expansion ports 1 to l4411, local I/O4412, firmware4413, GPU4414.

Interconnect fabric may connect any component to any component over a dedicated channel that is established between two components over interconnect fabric. This allows any to any communication without effecting or disrupting the communications between other components. If two or more components need to communicate with same component, such as both CPU and GPU needs memory access, an arbitration process with priority schemes makes sure they have their turns to be able to communicate.

Having dedicated communications between components in a system or apparatus may allow removal of common bus bottleneck.

In other embodiments, there may be two or more interconnect fabrics interconnected in a way that each interconnect fabric may access other interconnect fabrics directly or through another interconnect fabric.

Interconnect fabric may have features like prioritization of communications such as giving CPU highest access to any resource, queuing of communications such as requests from storage queued and served by storage when storage becomes responsive, buffering communications such as data waiting to be written to storage is buffered and written when storage becomes responsive, multilevel queuing with multilevel priority communications such as memory access with four different queues for CPU, GPU, storage and the rest of the components and giving the highest priority to queue 1 for CPU, then queue 2 for GPU, then queue 3 for storage and then queue 4 for the rest of components. Other features may be security and access control to allow/disallow certain components to communicate with certain other components.

Embodiment described herein may be used for other computing applications other than the discovery apparatus and systems.

FIG. 45illustrates an example hardware platform that may be used for discovery apparatus such as discovery apparatus101inFIG. 1, communications mapping apparatus such as communications mapping apparatus201inFIG. 2, policy apparatus such as policy apparatus301inFIG. 3, lookup apparatus such as lookup apparatus401inFIG. 4, publishing apparatus such as publishing apparatus501inFIG. 5, root server connector apparatus such as root server connector apparatus601inFIG. 6, root server apparatus such as root server apparatus701inFIG. 7, root server policy apparatus such as root server policy apparatus801inFIG. 8, pooling apparatus such as pooling apparatus901inFIG. 9.

In an example discovery apparatus, there are at least two central interconnect fabrics which may connect any component to any component directly. Interconnect fabrics also connect to each other directly.

In this example, interconnect fabric A4501connects one or more of the CPU4504, level 14505, level 24506, level C−14607to level C cache4508, memory4509, GPU4503, general expansion ports 1 to m4502.

Interconnect fabric B connects one or more of audio I/O4516, network I/O4515, storage I/O4514, I/O expansion ports 1 to l4513, local I/O4512, firmware4511.

Interconnect fabric A4501may connect any component to any component over a dedicated channel that is established between two components that is connected over interconnect fabric A4501. This allows any to any communication without effecting or disrupting the communications between other components. If two or more components need to communicate with same component, an arbitration process with priority schemes makes sure they have their turns to be able to communicate.

Interconnect fabric B4510may connect any component to any component over a dedicated channel that is established between two components that is connected over interconnect fabric B4510. This allows any to any communication without effecting or disrupting the communications between other components. If two or more components need to communicate with same component, an arbitration process with priority schemes makes sure they have their turns to be able to communicate.

Devices connected to interconnect fabric A4501may communicate with devices on interconnect fabric B4510over connection4517between interconnect fabric A4501and interconnect fabric B4510.

Having dedicated communications between components in a system may allow removal of common bus bottleneck.

In other embodiments, there may be two or more interconnect fabrics interconnected in a way that each interconnect fabric may access other interconnect fabrics directly or through another interconnect fabric.

Interconnect fabric may have features like prioritization of communications such as giving CPU highest access to any resource, queuing of communications such as requests from storage, buffering communications such as data waiting to be written to storage, multilevel queuing with multilevel priority communications such as memory access with four different queues for CPU, GPU, storage and the rest of the components and giving the highest priority to queue for CPU, then queue for GPU, then queue for storage and then queue for the rest of components. Other features may be security and access control to allow/disallow certain components to communicate with certain other components.

Embodiment described herein may be used for other computing applications other than the discovery apparatus and systems.

FIG. 46illustrates an example aggregated policy apparatus such as policy apparatus301inFIG. 3.

Policy management console4602may communicate to policy apparatuses 1, 2, 3, 4, 5, between 5 and N−1, and N and configure them as shown by4611,4612,4613,4614,4615,4616,4617,4618respectively.

FIG. 47illustrates an example of initial discovery method.

In this example, initial discovery method, which may be used by discovery apparatus, keeps a database of all known devices.

When started4701, in order to discover devices with minimal or no user interaction, initial discovery method gathers a master list of commands for each device4702. If device supports multiple command sets such as CLI, XML, etc., then all those commands are added to master database. If device has multiple connection methods such as Ethernet, RS232 serial, all those are added to database. If each connection method uses a different command set that is added to database. If there are multiple firmware versions of the device and for each firmware version there are different command sets that is added to database.

After building the database, initial discovery method builds a list of unique commands that only exist in one device and not others. This means if the command is unique to one device only, and when that command is sent to a device we receive a response as specified in the command definition, then we may deduct that device we are talking to is the device that command belongs to. Next step is to build a list that belongs to two devices, then a list with commands that build to 3 devices, 4 devices, N devices, where N is the maximum number of devices known to initial discovery method.

Using the lists of unique commands, and list commands that belong to2to N devices, a decision tree is built4703which allows running commands in order and with every run the possibility of the devices are narrowing down.

Once the decision tree is built, initial discovery method starts querying the devices4704by going through the decision tree. If all devices are identified, initial discovery method reports them, if there are unidentified devices left, initial discovery method requests operator or system to identify/clarify unidentified devices4705and then ends4706.

If a device may not be identified it may be because it may not be in the database, or it may not allow two way communications to receive feedback to commands being sent, which means external assistance may be needed.

Information expansion method expands the information about the devices identified.

When process starts4801, information expansion method reads the list of identified devices4802.

It then queries the devices for extended information such as address, location, connections to other devices, status of ports or components, etc.4903.

If some information needs to be clarified by operator or external input information expansion method asks for that information4804.

Once extended information is collected extended identified devices list is stored4805and process ends4806.

FIG. 49illustrates an ask operator for further clarification method.

When process starts4901method asks user device/model/type/version/firmware version and any other information that may exist about the device4902.

Next, whether the device is known4903determined. If it is a known device4904, method sends commands to device4916and checks device feedback for positive response or user feedback if device may not send a feedback due to one way communication4917.

If device is verified4918, it is added to verified list4908.

If it is not verified4919, user is informed as device may not be identified and user is asked whether user wants to retry4920, if user chooses retry4921process goes back to beginning, if user chooses not to retry4922, device is added to unidentified list4914.

If the device is unknown4904, then method may send commands to device from the decision tree, such as the decision tree created in initial discovery method explained inFIG. 47and asks user to provide feedback4905or uses external components to get feedback such as light sensor to see whether lights are turning on. If command results are verified4906by user or external components, then device is added to identified list4908. If command results are not verified, user is informed that device may not be verified4910, and asked to retry4911. If user retries4912the process goes to the beginning, otherwise4913it is added to unidentified list4914.

When process starts5001, method finds devices that are in the same logical or physical area such as same network, communications, bus, etc.5002.

Method finds information about extended information about the device, information about inter-device events, such as access speed, and delays for each device and for each access method the device might have5003.

Method finds cost information, which may be stored in the device, databases, or input by user5004.

Method finds cost of different access methods to a certain device from different devices inside and outside the organization.

Method creates a computer graph with nodes, vertexes, links, costing for each one of the extended information type and inter device information type5005, such as a graph for delays, another for calling costs, another for available bandwidth, another one for signal to noise ratio etc. The graphs may be based on one parameter or combination of parameters, such as delay, packet loss and number of hops may be combined together with weights to create a graph which may be used to make a decision on which path the video conferencing will be transmitted through.

Method stores results in a device access map5006.

When process starts5101, method reads the destination that is being looked up5102.

Next whether the destination is local or not is determined5103. If destination is local5120, destination access map is checked5104, device accessibility is checked5105, if destination access map shows device as accessible5110, device access information is returned5106and process ends5107. If device is inaccessible5108, device inaccessible is returned5109and process ends5107.

If device is not local5121, root server apparatus is contacted and lookup apparatus for destination is asked5122. Next, if lookup apparatus for destination is found5111is determined. If root server finds the lookup apparatus for the destination5112, method asks access information for the destination to lookup apparatus5113. If lookup apparatus is not found5119, method returns inaccessible5117and then ends5107. Next whether the access information is received determined5114. If access information is received from remote lookup apparatus5115, method returns access information5116and ends5107. if remote lookup apparatus does not return access information5117, method returns inaccessible5118and ends5107.

When process starts5201, method checks local lookup apparatus and reports access information, if found5202.

If not found, method checks local publishing apparatus and reports access information, if found5203.

If not found, method checks remote lookup apparatus and reports access information, if found5204.

If not found, method checks remote publishing apparatus and reports access information, if found5205.

If not found, method checks public publishing apparatus and reports access information, if found5206.

If still not found, returns inaccessible and ends5207.

When process starts5301, method finds all resources that will be publicly available5302.

Method applies policies to filter the information that complies with policies5303.

Method aggregates and summarizes the information, if possible5304.

Method registers the information with root server apparatus using root server connector apparatus5305.

When process starts5401, method finds one or more access information for all parties in a conference call5402. If a party has more than one way to be accessible, that is found and stored.

Method finds reliable paths, technical limitations and capabilities for each party and for multiple access methods each party might have5403.

Method finds costs of conference call for each party and access methods5404.

Method creates a matrix about the parties such as access methods, reliability, costs, etc. and filters the matrix by the policy for access methods to use, reliability, costs allowed by the policy5405. For example a conference call may be required to be on ISDN, another may be required to be on cheapest line, another one may require very reliable line for an important board meeting with cost being secondary importance.

Based on the filtering, best access methods are found and reported5406, process ends5407.

FIG. 55illustrates publishing of resource taken from pooled resources method Method, when started5501, takes the resource from the pool5502.

It updates lookup apparatus and publishing apparatus as resource not available5503.

FIG. 56illustrates publishing of resource that was picked up from available pooled resources method.

Method, when started5601, takes the resource from the pool by specific resource in the pool5602.

It updates lookup apparatus and publishing apparatus as resource not available5603. Method ends5604.