Data gate apparatus for learning interface format in order to interface between plurality of services and method thereof
Abstract
A universal data gate converts between interface format types of interconnected systems. The data gate learns new interface types and greatly simplifies the requirement for a human user to reprogram the new interface types. A library of known interface types is built up over time and allows re-use of known interface types as required. Voice based room control is enabled by automatically activating the voice control on a guest device when the guest is checked in to a hotel room. Text corresponding to voice commands captured from the user's voice is passed to a hotel app. The system automatically pairs the guest device with the user's assigned room and determines which in-room controllable devices are to be operated by the user's voice commands. When the user switches to a new guest room during travel, the system automatically updates the room pairing and new voice commands operate the new in-room devices.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A data gate apparatus for learning an interface format in order to interface between a plurality of services, the data gate apparatus comprising:
a storage device;
a communication interface; and
a processor coupled to the storage device and the communication interface;
wherein, by the processor executing software instructions loaded from the storage device, the processor is operable to:
learn a first interface format of a first of the services at least by receiving a first data function from the first of the services via the communication interface and identifying a field in the first data function, the field representing a position in data functions having the first interface format where information of a particular type is passed;
associate a variable with the field, the variable representing the information of the particular type;
store the first interface format in the storage device for future use;
receive a second data function via the communication interface from the first of the services, the second data function having the first interface format;
identify the field in the second data function according to the first interface format in the storage device;
extract a value from the field in the second data function and store the value as the variable;
generate a message in a second interface format different than the first interface format and insert the value of the variable in the message; and
send the message in the second interface format to a second of the services;
whereby, the second of the services receives the value of the variable representing the information of the particular type as passed from the first of the services without the second of the services needing to understand the first interface format utilized by the first of the services.
2. The data gate apparatus of claim 1 , wherein, while learning the first interface format of the first of the services, the processor is further operable to:
generate a user interface showing the first data function; and
identify the field in the first data function by allowing the user to manually map the variable to the position in the data functions where the information of the particular type is located.
3. The data gate apparatus of claim 1 , wherein, while learning the first interface format of the first of the services, the processor is further operable to:
compare the first data function with a previous data function received from the first of the services in order to determine where data is changing;
indicate a potential field position at a location in the first data function where data has changed in comparison to the previous data function; and
allow a user to manually map the variable to the potential field position.
4. The data gate apparatus of claim 3 , wherein, while learning the first interface format of the first of the services, the processor is further operable to:
indicate a plurality of potential field positions at each of a plurality of different locations in the first data function where data has changed in comparison to the previous data function; and
allow the user to manually map the variable to any of the potential field positions.
5. The data gate apparatus of claim 3 , wherein, while learning the first interface format of the first of the services, the processor is further operable to:
learn a fixed formatting requirement of the data functions passed according to the first interface format by comparing the first data function with the previous data function; and
the fixed formatting requirement corresponds to one or more parts of the data that do not change between the previous data function and the first data function.
6. The data gate apparatus of claim 1 , further comprising storing the first interface format in an interface format library.
7. The data gate apparatus of claim 6 , further comprising downloading the second interface format from the interface format library.
8. The data gate apparatus of claim 1 , wherein the data gate apparatus is implemented on a computer server located on premise at a hospitality establishment.
9. The data gate apparatus of claim 1 , wherein:
the data gate apparatus is implemented on a computer server located at location remote from a hospitality establishment serviced by the data gate apparatus; and
the data gate apparatus is accessed by the hospitality establishment over a wide area computer network.
10. The data gate apparatus of claim 9 , wherein only one of the first of the services and the second of the services is located on premise at the hospitality establishment.
11. A method for interfacing between a plurality of services, the method comprising:
learning a first interface format of a first of the services at least by receiving a first data function from the first of the services via a communication interface and identifying a field in the first data function, the field representing a position in data functions having the first interface format where information of a particular type is passed;
associating a variable with the field, the variable representing the information of the particular type;
storing the first interface format in a storage device for future use;
receiving a second data function via the communication interface from the first of the services, the second data function having the first interface format;
identifying the field in the second data function according to the first interface format in the storage device;
extracting a value from the field in the second data function and storing the value as the variable;
generating a message in a second interface format different than the first interface format and inserting the value of the variable in the message; and
sending the message in the second interface format to a second of the services;
whereby, the second of the services receives the value of the variable representing the information of the particular type as passed from the first of the services without the second of the services needing to understand the first interface format utilized by the first of the services.
12. The method of claim 11 , further comprising learning the first interface format of the first of the services by:
generating a user interface showing the first data function; and
identifying the field in the first data function by allowing the user to manually map the variable to the position in the data functions where the information of the particular type is located.
13. The method of claim 11 , further comprising learning the first interface format of the first of the services by:
comparing the first data function with a previous data function received from the first of the services in order to determine where data is changing;
indicating a potential field position at a location in the first data function where data has changed in comparison to the previous data function; and
allowing a user to manually map the variable to the potential field position.
14. The method of claim 13 , further comprising learning the first interface format of the first of the services by:
indicating a plurality of potential field positions at each of a plurality of different locations in the first data function where data has changed in comparison to the previous data function; and
allowing the user to manually map the variable to any of the potential field positions.
15. The method of claim 13 , further comprising learning the first interface format of the first of the services by:
learning a fixed formatting requirement of the data functions passed according to the first interface format by comparing the first data function with the previous data function; and
corresponding the fixed formatting requirement to one or more parts of the data that do not change between the previous data function and the first data function.
16. The method of claim 11 , further comprising storing the first interface format in an interface format library.
17. The method of claim 16 , further comprising downloading the second interface format from the interface format library.
18. The method of claim 11 , wherein the method is implemented on a computer server located on premise at a hospitality establishment.
19. The method of claim 11 , wherein:
the method is implemented on a computer server located at location remote from a hospitality establishment serviced by the data gate apparatus; and
the method is accessed by the hospitality establishment over a wide area computer network.
20. A non-transitory computer-readable medium comprising computer executable instructions for interfacing between a plurality of services that when executed by a computer cause the computer to perform steps at least comprising:
learning a first interface format of a first of the services at least by receiving a first data function from the first of the services via a communication interface and identifying a field in the first data function, the field representing a position in data functions having the first interface format where information of a particular type is passed;
associating a variable with the field, the variable representing the information of the particular type;
storing the first interface format in a storage device for future use;
receiving a second data function via the communication interface from the first of the services, the second data function having the first interface format;
identifying the field in the second data function according to the first interface format in the storage device;
extracting a value from the field in the second data function and storing the value as the variable;
generating a message in a second interface format different than the first interface format and inserting the value of the variable in the message; and
sending the message in the second interface format to a second of the services;
whereby, the second of the services receives the value of the variable representing the information of the particular type as passed from the first of the services without the second of the services needing to understand the first interface format utilized by the first of the services.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.