WO2006115723A2 - Logic interface engine system and method - Google Patents

Logic interface engine system and method Download PDF

Info

Publication number
WO2006115723A2
WO2006115723A2 PCT/US2006/012832 US2006012832W WO2006115723A2 WO 2006115723 A2 WO2006115723 A2 WO 2006115723A2 US 2006012832 W US2006012832 W US 2006012832W WO 2006115723 A2 WO2006115723 A2 WO 2006115723A2
Authority
WO
WIPO (PCT)
Prior art keywords
message
command
commands
outbound
inbound
Prior art date
Application number
PCT/US2006/012832
Other languages
French (fr)
Other versions
WO2006115723A3 (en
Inventor
Anthony E. Green
Jordan J. Strub
Patel Pravinkumar
Original Assignee
Bally Gaming International, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bally Gaming International, Inc. filed Critical Bally Gaming International, Inc.
Publication of WO2006115723A2 publication Critical patent/WO2006115723A2/en
Publication of WO2006115723A3 publication Critical patent/WO2006115723A3/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • G07F17/3223Architectural aspects of a gaming system, e.g. internal configuration, master/slave, wireless communication
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3225Data transfer within a gaming system, e.g. data sent between gaming machines and users
    • G07F17/323Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the player is informed, e.g. advertisements, odds, instructions

Definitions

  • This invention relates generally to a system and method for providing an interface layer between command-driven devices and a logical communication channel, and more particularly, to a system and method for providing a logic interface engine that is utilized as an interface layer between command-driven devices and a logical communication channel.
  • network data is gathered and transformed into a standard format before they are transmitted over a network.
  • the information is converted into a data stream that corresponds with the packet structure of the network transfer protocol. This is also true with respect to command protocols and message protocols, which often must be converted when transmitting between various locations, systems, and devices.
  • received messages and commands are processed as they are received, usually on a FIFO basis, and without regard to origin or destination.
  • one incoming and one outgoing stack is typically used at the transport or command layer in a system.
  • the logic interface device includes: a logic controller, a command router, one or more message processors, and a transport layer.
  • the logic controller includes a plurality of object classes that correspond to components of the gaming device.
  • the object classes send outbound commands.
  • the command router receives the outbound commands sent by the object classes.
  • the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller.
  • the object classes receive inbound commands sent from the command inQueues (inbound queues) of the command router.
  • the command router duplicates commands, as required, and sends outbound commands.
  • the one or more message processors each include a corresponding host, message builder, and message splitter.
  • the host of each message processor receives an outbound command sent by the command router.
  • the message builder of each message processor groups and encapsulates outbound commands into a single outbound message per host.
  • the message splitter of each message processor parses inbound messages into multiple inbound commands, Additionally, the command router receives inbound commands from the hosts of the message processors, and the message processors send outbound messages.
  • the transport layer receives the outbound messages sent by the message processors, sends inbound messages to the message processors, and sends outbound messages to the logical communication channel.
  • the object classes include at least one of a device class, a communication class, a cabinet class, a processor class, or a meters class.
  • the command router uses a device-to-host subscription list to direct outbound commands to appropriate message processors. Additionally, the command router uses the device-to-host subscription list to route inbound commands to command inQueues (i.e., inbound queues).
  • a communication device class connection provides improved access to host status by enabling communications status information to travel through the command router and the message processor to the communication device class.
  • the message splitters include acknowledgement logic that enables the message splitters to send an acknowledgement receipt after commands have been transmitted.
  • a logical communication channel comprises a network.
  • the logical communication channel comprises an Ethernet, serial, or universal serial bus.
  • one or more system hosts are connected to the logical communication channel to enable communication with the gaming devices via the logic interface device.
  • the logic interface device is asynchronous.
  • each controllable component of the gaming device has a corresponding object class in the logic controller.
  • the logic interface device enables a modular breakdown of components on a gaming platform.
  • a method for interfacing between a gaming device and a logical communication channel includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device, and wherein the object classes send outbound commands; routing inbound and outbound commands using a command router, wherein the command router receives the outbound message commands sent by the object classes, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller, wherein the object classes receive inbound message commands sent from the command inQueues (inbound queues) in the command router, and wherein the command router duplicates command as required and sends outbound commands; processing outbound commands and inbound messages using one or more message processors, each message processor including a corresponding host, message builder, and message splitter, wherein the host of each message processor receives an outbound command sent by the command router, wherein the message builder of each message processor groups and en
  • a method for sending outbound information from a gaming device to a logical communication channel includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; sending outbound commands from the object classes to a command router-receiving outbound commands at the command router sent by the object classes; routing outbound commands using a command router, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller; duplicating commands as required and sending outbound commands from the command router to one or more message processors; receiving one or more outbound commands at a host of a message processor that are sent by the command router; processing outbound commands using one or more message processors, each message processor including a corresponding host, message builder, and message splitter; grouping and encapsulating outbound commands into a single outbound message per host at a message builder of a message processor; sending outbound messages from the message
  • a method for receiving inbound information from a logical communication channel to a gaming device includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; routing inbound commands to the plurality of object classes using a command router, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller, wherein the object classes receive inbound message commands sent from the command inQueues (inbound queues) of the command router; processing inbound messages from a transport layer using one or more message processors, each message processor including a corresponding host, message builder, and message splitter, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors; and receiving inbound messages at a transport layer from the logical communication channel.
  • a logical interface system interfaces between a non-gaming device (e.g., a non-gaming command-driven device) and a logical interface channel.
  • a non-gaming device e.g., a non-gaming command-driven device
  • FIG. 1 illustrates a relational diagram of the logic interface engine showing data flow through various components of a preferred embodiment
  • FIG. 2 illustrates a relational diagram showing various components of a logic controller, in accordance with a preferred embodiment
  • FIG. 3 illustrates a relational diagram showing various components of a command router, in accordance with a preferred embodiment
  • FIG. 4 illustrates a relational diagram showing data flow through message processors, in accordance with a preferred embodiment
  • FIG. 5 illustrates a relational diagram showing various components of a transport layer, in accordance with a preferred embodiment
  • FIG. 6 illustrates a relational diagram showing inbound and outbound data flow through various components of logic interface engine, in accordance with a preferred embodiment.
  • a preferred embodiment of a logic interface engine and system constructed in accordance with the claimed invention, is directed towards an interface device that is utilized between an electronic gaming machine (EMG) and a logical communication channel.
  • EMG electronic gaming machine
  • a preferred embodiment of the logic interface engine increases reliability and expandability with respect to interfacing gaming devices and logical communication channels.
  • the logic interface device enables a modular breakdown of components on a gaming platform.
  • the logic interface engine is utilized as an interface layer between other generic (non-gaming) devices and other logical communication channels (e.g., Ethernet, serial, USB, or other logical channel).
  • the generic (non-gaming) devices are command-driven devices.
  • FIGS. 1-5 there is shown one embodiment of a logic interface engine 10 constructed in accordance with the claimed invention.
  • the logic interface engine 10 includes a logic controller 20, a command router 30, a message processor 40, and a transport layer 50.
  • the logic interface engine 10 is an interface device that, in one embodiment, is utilized between an electronic gaming machine (EMG) and a logical communication channel.
  • EMG electronic gaming machine
  • the logic interface engine 10 is defined as the complete interface between the EGM and the logical communication channel, but excludes (i.e., is not utilized for interfacing with) communication channel drivers.
  • persistent memory is only available outside of the grand transport block 60 (i.e., the command router 30, the message processor 40, and the transport layer 50).
  • different manufactures/platforms can provide persistent memory API points that the grand transport block 60 can reference indirectly.
  • the logic controller 20 provides command generation and processing for the grand transport block 60.
  • logic is highly reusable (i.e., standardized) for different manufactures.
  • BSP board support package 22
  • the logic controller 20 further includes a logic manager 24 for managing logic commands.
  • the logic controller 20 also contains the EMG object classes 26 (e.g., deviceClass 26i, communicationClass 26 2 , cabinetClass 26 3 , processorClass 26 4 , metersClass 26 5 , and the like) that are necessary for proper interaction with the electronic gaming machine.
  • the EMG object classes 26 manage the associated transaction logs in persistent memory.
  • the interaction between the EMG object classes 26 and the grand transport block 60 provides the necessary events for commit, rollback, and/or recovery of complete transactions.
  • the core EMG object classes 26 are identified in the generic logic controller 20.
  • Fig. 2 illustrates an exemplary simplification of the logic controller 20.
  • An actual implementation of a preferred embodiment includes every EMG object class 26, including any multiple instances of the same device, in order for logical commands to be directed to each EMG object class.
  • the components 28 to the left of the logic controller 20 are interfaces to the BSP 22. These interfaces 28 to the BSP 22 are configured to interface with EMG object classes 26, EMG optioning data, and EMG control logic.
  • the EMG object classes 26 are capable of sending fully formed commands to the command router 30.
  • the EMG object classes 26 are capable of receiving fully formed commands from the command router 30.
  • the deviceClass 2O 1 and communicationClass 26 2 have a special relationship with the command router 30, as indicated in Fig. 2. These object classes (i.e., the deviceClass 2O 1 and communicationClass 26 2 ) are unique in that they contain the necessary information (i.e., additional logic) to control (or react to) events related to the command router 30, the message processor 40, and the transport layers 50.
  • the command router 30 uses the device-to- host subscription lists to direct the outbound commands to the appropriate message processor 40.
  • communication status information is passed through the command router 30 so that the router can notify the communicationClass 26 2 of changes in status. Otherwise stated, the communicationClass 26 2 connection is simplified in order to provide the communicationClass with improved access to the host status. Accordingly, the communications status travels through each module (e.g., the command router 30 and the message processor 40) to the communicationClass 26 2 where the communications status information is most useful. For example, in one preferred embodiment, when a timeout occurs at the transport layer a communication status event is sent to the communicationClass 26 2 .
  • the logic manager 24 discovers all instances of the EMG object classes 26 and registers them with EGM deviceClass 2O 1 .
  • the EGM deviceClass 2O 1 then, in turn, registers each instance with the command router 30.
  • the default owner host references are presented to the command router 30 via the EGM deviceClass 2O 1 .
  • each instance of an EMG object class 26 is aware of its owner. This information is necessary for the EMG object classes 26 to make a determination if a control command should be processed.
  • a control command is any command that only the owner has permission to request.
  • logic manager 24 initializes the EGM communicationClass 26 2 and automatically subscribes each registered host to the communicationClass 26 2 .
  • the EMG object classes 26 are responsible for class specific content XML formatting.
  • the EMG object classes 26 send fully formed (logic interface engine-compliant), command content to the command router 30.
  • This is analogous to data marshalling the specific content.
  • Data marshalling is the process of gathering data and transforming it into a standard format before the data is transmitted over a network. This allows the data to be able to transcend network boundaries.
  • the object In order for an object to be moved over a network, the object must be converted into a data stream that corresponds with the packet structure of the network transfer protocol. After the data is transmitted, the receiving device converts the marshaled data back into an object.
  • inbound commands have (logic interface engine-compliant) message class-specific content 'ripped' down (e.g., down-converted) into a usable format. This is analogous to data de-marshalling.
  • Fig. 3 illustrates an exemplary simplification of the command router 30.
  • An actual implementation of a preferred embodiment includes every EMG object class 26 in the logic controller 20, including any multiple instances of the same device, in order for logical commands to be directed to each EMG object class.
  • the EMG object classes 26 of the logic controller 20 send complete (logic interface engine-compliant) commands to the command router 30.
  • the message processors 40 preferably send complete (logic interface engine-compliant) commands to the command router 30.
  • communication status information is passed through the command router 30 so that the command router can notify the communicationClass 26 2 of changes in status.
  • a preferred embodiment of the logic interface engine 10 allows hosts to subscribe to devices that the host does not own. Otherwise stated, the logic interface engine 10 allows guest host subscriptions. These guest host subscriptions are typically managed in the deviceClass26j where they are referred to a subscriptions list.
  • the subscription logic has been centralized in the command router 30 so that the deviceClass26 ! do not need to be concerned with guest subscriptions.
  • the logic interface engine 10 any time a message is sent to an owner host, a copy is also sent to any guest subscribers.
  • the command router 30 performs this copying and distribution on behalf of the logic interface engine 10.
  • the deviceClass 26j in the logic controller 20 does not need to be concerned with (i.e., perform any processing related to) guest subscriptions. Instead, the deviceClass 2O 1 need only be concern with talking to their owner host.
  • the command router 30 is responsible for determining who is on the subscription list and dispatching the multiple copies as needed.
  • the command router 30 uses the device-to-host subscription lists to direct the outbound commands to the appropriate message processor 40. Similarly, the command router 30 uses the device-to-host subscription lists to route the inbound command to the appropriate command inQueues 34 1;2j ,. n , (i.e., inbound queues) as shown in Fig. 3. Each command InQueue 34 lj2; ... n (i.e., inbound queues) of the command router 30 transmits inbound information to its corresponding EMG object class 26 lj2, ... n in the logic controller 20. In one preferred embodiment, the command router 30 has no control over the subscriptions. Instead, the command router 30 uses the subscriptions to direct the commands to the appropriate InQueue 34 1;2j ,.. chorus.
  • the logic of the command router 30 does not make assumptions with respect to Owner or Guest hosts when directing inbound commands. However, the command router 30 preferably will pass on a hostID to the EMG object classes 26 in order to determine if the inbound command is from the Owner host. Continuing, in one preferred embodiment, the logic of the command router 30 manages the sessionIDs and commandIDs that are used with the commands. In this regard, since a single outbound command may be directed to many hosts, copies of this command must have the same sessionld and unique commandld for every host to which the command is directed.
  • a preferred embodiment of the logic interface engine 10 includes a plurality of outbound message processors 40, namely one outbound message processor 40 1;2j ... n for each host 44 1>2 , ...n-
  • the message processors 40 in a preferred embodiment of the logic interface engine 10 are intelligent message processors 40.
  • outbound messages are composed of commands that are transmitted from the command router 30.
  • the intelligent message processors 40 aggregate these messages and send them out as a single message per host 44 ⁇ 2, . , . occidental.
  • the intelligent message processors 40 decompose the message into its constitute commands.
  • the intelligent message processor 40 performs this process of monitoring the queues, grouping and encapsulating the commands, and composing a message containing the multiple commands (per host), asynchronously.
  • the logic controller 20 is not even aware that this grouping and encapsulating process is occurring.
  • the intelligent message processors 40 include acknowledgement functionality in connection with messages (and in some embodiments commands as well). Otherwise stated, when a message is sent out, an acknowledgement receipt is received in reply.
  • the acknowledgement logic is encapsulated in the outbound message such that other upstream components do not have to be concern with the aspect. Preferably, this acknowledgement logic is self-contained and automatic, which advantageously simplifies software design.
  • outbound commands sent from the command router 30 are grouped and sent out together to each outbound message processor 40 1J2J ... n and its corresponding host 44 1]2i ... n .
  • Each host 44 1;2j ,., n forwards these outbound commands to a message builder 46 1J2J ,.. n (within the outbound message processor 40 lj2 , .,, makeup) that encapsulates the outgoing grouped commands into messages which are, in turn, forwarded to the transport layer 50, as shown in Fig. 4.
  • the host 44 1;2; .. . did queue of each message processor 40 lj2 , ... n forwards its respective outbound commands to its respective message builder 46 1;2 , ... n (which encapsulates the outgoing grouped commands into messages) which, in turn, forwards the message to the transport layer 50, until the message that contains the command is acknowledged. Once acknowledged, the command can be removed from the queue.
  • the message processors 4O 1 ⁇ , ... n manage retry logic.
  • the message processors 40 1;2, .,. may also notify the command router 30 when a host 44 lj2) ... n dies or is established.
  • the message processors 40 1J2I ... n manage an independent process or thread for each host 44 lj2; ... discourse.
  • the message splitter 48 1; 2, ... n of each message processor 40 lj2 , ... n splits inbound messages into commands and transmits each command to the command router 30 before acknowledging the inbound message.
  • the message splitter 48 ⁇ 2 , ... n of each message processor 40 li2 , ...n provides duplicate message checking, parsing out of commands, and verification of commandID order.
  • a host 44 1>2> ... n , message builder 46 1;2 , ... n , and message splitter 48 1;2 , .. .n may be consolidated into a single component or integrated into one another as part of the message processor 40 lj2j ... n in other preferred embodiments of the logic interface engine 10.
  • the message processor 40 is responsible for: (1) combining outbound commands into messages, and proving the (logic interface engine- complaint) message header; (2) processing message acknowledgements; (3) managing message retries; (4) splitting inbound messages into commands, passing the commands to the command router 30, and acknowledging the message; (5) managing the timeout for a keep- alive command.
  • a keep-alive command enables clients to keep a connection to a server open and pipeline multiple requests over the connection, without the connection timing out and disconnecting.
  • a keep-alive prevents clients from having to re-negotiate a new session for every request due to a connection timing out.
  • a communication status event is sent to the appropriate communicationClass 26 2 so that a keep-alive command can be generated.
  • the message processor 40 is aware of the communication status for each host 44 1 ,2, ... n - As such, the message processor 40 is also a source of communication status information.
  • the transport layer 50 of the logic interface engine 10 is not viewable to other components outside of the transport layer itself. Otherwise stated, implicit knowledge of how the transport layer 50 works, and/or what the transport layer does, is not required by either the command router 30 or the communication channel drivers. Additionally, in a preferred embodiment logic interface engine 10, the transport layer 50 is unaware of the message content that it is transmitting. Preferably, the transport layers 50 are configurable for any number of (logic interface engine- complaint) device instances. In one preferred embodiment of the logic interface engine 10, the transport layer 50 includes diagnostic and debugging capabilities to facilitate developers with diagnostic issues.
  • the transport layer receives messages, handles security, SOAP (Simple Object Access Protocol), SSL (Secure Sockets Layer) HTTP (Hyper Text Transfer Protocol), DHCP (Dynamic Host Configuration Protocol), and the like.
  • SOAP Simple Object Access Protocol
  • SSL Secure Sockets Layer
  • HTTP Hyper Text Transfer Protocol
  • DHCP Dynamic Host Configuration Protocol
  • no persistent memory is available to the transport layer.
  • the persistent memory is provided by the EMG object classes 26 through the command router 30.
  • communication status information is preferably passed to the EMG object classes 26 through the command router 30.
  • the transport layer 50 provides message-envelope, header-specific (logic interface engine-compliant) content for XML formatting. This is analogous to data marshalling the header-specific content.
  • inbound commands have message-envelope, header-specific (logic interface engine-compliant) content 'ripped' down (e.g., down-converted) into a usable format. This is analogous to data de-marshalling.
  • Fig. 6 illustrates inbound and outbound data flow through various components of logic interface engine.
  • the invention shown in Fig. 6 displays a method for sending outbound information from a gaming device to a logical communication channel, and receiving inbound information from a logical communication channel to a gaming device. Exemplary embodiments of methods for implementing this invention are described in further detail below.
  • a method for sending outbound information from a gaming device to a logical communication channel includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; sending outbound commands from the object classes to a command router; receiving outbound commands at the command router sent by the object classes; routing outbound commands using a command router, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller; duplicating commands as required and sending outbound commands from the command router to one or more message processors; receiving one or more outbound commands at a host of a message processor host that are sent by the command router; processing outbound commands using one or more message processors, each message processor including a corresponding host, message builder, and message splitter; grouping and encapsulating outbound commands into a single outbound message per host at a message builder of a message processor; sending outbound messages from the message processors to a transport layer; receiving the outbound messages at
  • a method for receiving inbound information from a logical communication channel to a gaming device includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; routing inbound commands to the plurality of object classes using a command router, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller, wherein the object classes receive inbound message commands sent from the command inQueues (inbound queues) of the command router; processing inbound messages from a transport layer using one or more message processors, each message processor including a corresponding host, message builder, and message splitter, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors; and receiving inbound messages at a transport layer from the logical communication channel.
  • logic interface engine 10 While one specific embodiment of the logic interface engine 10 has been described in detail, those of ordinary skill in the art will appreciate that other implementations of the logic interface engine 10 can be utilized without departing from the scope of the above- described technology. Further, those of ordinary skill in the art will appreciate that while the logic interface engine 10 has been described with regard to the gaming environment, the logic interface engine 10 and related technology may be used in other environments as well. By way of example only, and not by way of limitation, the logic interface engine 10 can be used in the telecommunications, computers, network, data transmission, Internet, and other related areas that require passing data and/or information between a message protocol and a command protocol.

Abstract

A logic interface engine (10) is used as an interface between a command driven device and a logical communication channel. The logic interface engine (10) includes a logic controller (20), a command router (30), a message processor (40), and a transport layer (50). The logic controller includes a plurality of object classes that correspond to components of the command-driven device. The command router receives the outbound commands sent by the object classes, and inbound commands sent from the command inQueues of the command router, which the command router duplicates and forwards, as required. The message processor(s) each includes a corresponding host, message builder, and message splitter. The transport layer receives the outbound messages sent by the message processors and sends outbound messages to the logical communication channel. Additionally, the transport layer sends inbound messages to the message processors.

Description

LOGIC INTERFACE ENGINE SYSTEM AJVD METHOD
COPYRIGHT NOTICE
[0001] A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTION
[0002] This invention relates generally to a system and method for providing an interface layer between command-driven devices and a logical communication channel, and more particularly, to a system and method for providing a logic interface engine that is utilized as an interface layer between command-driven devices and a logical communication channel.
BACKGROUND OF THE INVENTION
[0003] Typically, network data is gathered and transformed into a standard format before they are transmitted over a network. In order for information to be moved across a network, the information is converted into a data stream that corresponds with the packet structure of the network transfer protocol. This is also true with respect to command protocols and message protocols, which often must be converted when transmitting between various locations, systems, and devices.
[0004] Traditionally, interface and transport layers have been designed to package and send individual messages and commands with little or no organization of those commands. In this regard, messages are typically sent on a first-in, first-out (FIFO) basis from a general message stack in which the messages are collected. The stack may become bogged down with messages and commands to and from various components in a bus or network structure. Although the order of processing the messages may be altered according to priority, the message stack operates with little or no regard to origin or destination.
[0005] Similarly, received messages and commands are processed as they are received, usually on a FIFO basis, and without regard to origin or destination. Even in parallel processing systems, one incoming and one outgoing stack is typically used at the transport or command layer in a system. Thus, it would be desirable to provide a system that includes relative parallel processing of incoming and outgoing messages and commands in a system.
[0006] Accordingly, those skilled in the art have long recognized the need for a system that is capable of relative parallel processing of incoming and outgoing messages and commands. This invention clearly addresses these and other needs.
SUMMARY OF THE INVENTION
[0007] Briefly, and in general terms, a preferred embodiment resolves the above and other problems by providing a logic interface device for interfacing between a gaming device and a logical communication channel. The logic interface device includes: a logic controller, a command router, one or more message processors, and a transport layer. The logic controller includes a plurality of object classes that correspond to components of the gaming device. The object classes send outbound commands. The command router receives the outbound commands sent by the object classes. Additionally, the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller. The object classes receive inbound commands sent from the command inQueues (inbound queues) of the command router. The command router duplicates commands, as required, and sends outbound commands.
[0008] The one or more message processors each include a corresponding host, message builder, and message splitter. The host of each message processor receives an outbound command sent by the command router. The message builder of each message processor groups and encapsulates outbound commands into a single outbound message per host. The message splitter of each message processor parses inbound messages into multiple inbound commands, Additionally, the command router receives inbound commands from the hosts of the message processors, and the message processors send outbound messages. Continuing, the transport layer receives the outbound messages sent by the message processors, sends inbound messages to the message processors, and sends outbound messages to the logical communication channel.
[0009] In accordance with one aspect of a preferred embodiment, the object classes include at least one of a device class, a communication class, a cabinet class, a processor class, or a meters class. Preferably, the command router uses a device-to-host subscription list to direct outbound commands to appropriate message processors. Additionally, the command router uses the device-to-host subscription list to route inbound commands to command inQueues (i.e., inbound queues). In accordance with another aspect of a preferred embodiment, a communication device class connection provides improved access to host status by enabling communications status information to travel through the command router and the message processor to the communication device class. Preferably, the message splitters include acknowledgement logic that enables the message splitters to send an acknowledgement receipt after commands have been transmitted.
[0010] In accordance with another aspect of a preferred embodiment, a logical communication channel comprises a network. Preferably, the logical communication channel comprises an Ethernet, serial, or universal serial bus. In another aspect of a preferred embodiment, one or more system hosts are connected to the logical communication channel to enable communication with the gaming devices via the logic interface device. In one embodiment, the logic interface device is asynchronous. Preferably, each controllable component of the gaming device has a corresponding object class in the logic controller. In another aspect of a preferred embodiment, the logic interface device enables a modular breakdown of components on a gaming platform.
[0011] In another preferred embodiment, a method for interfacing between a gaming device and a logical communication channel is disclosed. The method includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device, and wherein the object classes send outbound commands; routing inbound and outbound commands using a command router, wherein the command router receives the outbound message commands sent by the object classes, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller, wherein the object classes receive inbound message commands sent from the command inQueues (inbound queues) in the command router, and wherein the command router duplicates command as required and sends outbound commands; processing outbound commands and inbound messages using one or more message processors, each message processor including a corresponding host, message builder, and message splitter, wherein the host of each message processor receives an outbound command sent by the command router, wherein the message builder of each message processor groups and encapsulates outbound commands into a single outbound message per host, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors, and wherein the message processors send outbound messages; and providing a transport layer, wherein the transport layer receives the outbound messages sent by the message processors, wherein the transport layer sends inbound messages to the message processors, and wherein the transport layer sends outbound messages to the logical communication channel.
[0012] In still another preferred embodiment, a method for sending outbound information from a gaming device to a logical communication channel is disclosed. The method includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; sending outbound commands from the object classes to a command router-receiving outbound commands at the command router sent by the object classes; routing outbound commands using a command router, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller; duplicating commands as required and sending outbound commands from the command router to one or more message processors; receiving one or more outbound commands at a host of a message processor that are sent by the command router; processing outbound commands using one or more message processors, each message processor including a corresponding host, message builder, and message splitter; grouping and encapsulating outbound commands into a single outbound message per host at a message builder of a message processor; sending outbound messages from the message processors to a transport layer; receiving the outbound messages at the transport layer sent by the message processors; and sending outbound messages from the transport layer to the logical communication channel.
[0013] In yet another preferred embodiment, a method for receiving inbound information from a logical communication channel to a gaming device is disclosed. The method includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; routing inbound commands to the plurality of object classes using a command router, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller, wherein the object classes receive inbound message commands sent from the command inQueues (inbound queues) of the command router; processing inbound messages from a transport layer using one or more message processors, each message processor including a corresponding host, message builder, and message splitter, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors; and receiving inbound messages at a transport layer from the logical communication channel.
[0014] In another aspect of a preferred embodiment, a logical interface system interfaces between a non-gaming device (e.g., a non-gaming command-driven device) and a logical interface channel.
[0015] Other features and advantages of the invention will become apparent from the following detailed description when taken in conjunction with the accompanying drawings, which illustrate by way of example, the features of the claimed invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] FIG. 1 illustrates a relational diagram of the logic interface engine showing data flow through various components of a preferred embodiment;
[0017] FIG. 2 illustrates a relational diagram showing various components of a logic controller, in accordance with a preferred embodiment;
[0018] FIG. 3 illustrates a relational diagram showing various components of a command router, in accordance with a preferred embodiment;
[0019] FIG. 4 illustrates a relational diagram showing data flow through message processors, in accordance with a preferred embodiment;
[0020] FIG. 5 illustrates a relational diagram showing various components of a transport layer, in accordance with a preferred embodiment; and
[0021] FIG. 6 illustrates a relational diagram showing inbound and outbound data flow through various components of logic interface engine, in accordance with a preferred embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] Briefly stated, a preferred embodiment of a logic interface engine and system, constructed in accordance with the claimed invention, is directed towards an interface device that is utilized between an electronic gaming machine (EMG) and a logical communication channel. In such a device, bidirectional data flow is possible through the various components of the logic interface engine. A preferred embodiment of the logic interface engine increases reliability and expandability with respect to interfacing gaming devices and logical communication channels. In a preferred embodiment, the logic interface device enables a modular breakdown of components on a gaming platform. In other preferred embodiments of the claimed invention, the logic interface engine is utilized as an interface layer between other generic (non-gaming) devices and other logical communication channels (e.g., Ethernet, serial, USB, or other logical channel). In some such embodiments, the generic (non-gaming) devices are command-driven devices.
[0023] Referring now to the drawings, wherein like reference numerals denote like or corresponding parts throughout the drawings and, more particularly to FIGS. 1-5, there is shown one embodiment of a logic interface engine 10 constructed in accordance with the claimed invention. Specifically, with respect to the preferred embodiment logic interface engine 10 shown in Fig. 1, data flow is illustrated as a bidirectional path through the various components of the logic interface engine. As shown in Fig. 1, the logic interface engine 10 includes a logic controller 20, a command router 30, a message processor 40, and a transport layer 50. The logic interface engine 10 is an interface device that, in one embodiment, is utilized between an electronic gaming machine (EMG) and a logical communication channel.
[0024] Preferably, the logic interface engine 10 is defined as the complete interface between the EGM and the logical communication channel, but excludes (i.e., is not utilized for interfacing with) communication channel drivers. In another aspect of one preferred embodiment, persistent memory is only available outside of the grand transport block 60 (i.e., the command router 30, the message processor 40, and the transport layer 50). In such an embodiment, different manufactures/platforms can provide persistent memory API points that the grand transport block 60 can reference indirectly.
[0025] Preferably, the logic controller 20 provides command generation and processing for the grand transport block 60. In one preferred embodiment, logic is highly reusable (i.e., standardized) for different manufactures. However, some customization of the board support package 22 (BSP) in the logic controller 20 may be required in order for the BSP to properly interface with devices and components from varying manufactures. Preferably, the logic controller 20 further includes a logic manager 24 for managing logic commands.
[0026] As shown in Fig. 2, in another aspect of a preferred embodiment, the logic controller 20 also contains the EMG object classes 26 (e.g., deviceClass 26i, communicationClass 262, cabinetClass 263, processorClass 264, metersClass 265, and the like) that are necessary for proper interaction with the electronic gaming machine. The EMG object classes 26 manage the associated transaction logs in persistent memory. Preferably, the interaction between the EMG object classes 26 and the grand transport block 60 provides the necessary events for commit, rollback, and/or recovery of complete transactions.
[0027] Referring again to Fig. 2, the core EMG object classes 26 are identified in the generic logic controller 20. Fig. 2 illustrates an exemplary simplification of the logic controller 20. An actual implementation of a preferred embodiment includes every EMG object class 26, including any multiple instances of the same device, in order for logical commands to be directed to each EMG object class. Referring again to Fig. 2, the components 28 to the left of the logic controller 20 are interfaces to the BSP 22. These interfaces 28 to the BSP 22 are configured to interface with EMG object classes 26, EMG optioning data, and EMG control logic.
[0028] In one preferred embodiment shown in Fig. 2, with respect to outbound information, the EMG object classes 26 are capable of sending fully formed commands to the command router 30. Correspondingly, with respect to inbound information, the EMG object classes 26 are capable of receiving fully formed commands from the command router 30. In another aspect of a preferred embodiment, the deviceClass 2O1 and communicationClass 262 have a special relationship with the command router 30, as indicated in Fig. 2. These object classes (i.e., the deviceClass 2O1 and communicationClass 262) are unique in that they contain the necessary information (i.e., additional logic) to control (or react to) events related to the command router 30, the message processor 40, and the transport layers 50. The additional logic provided to the deviceClass 261 and communicationClass 262 simplifies the connection between the logic manager 24 and the command router 30. With respect to the deviceClass 2O1, as described in full detail below, the command router 30 uses the device-to- host subscription lists to direct the outbound commands to the appropriate message processor 40.
[0029] With respect to the communicationClass 2O2, as described below, communication status information is passed through the command router 30 so that the router can notify the communicationClass 262 of changes in status. Otherwise stated, the communicationClass 262 connection is simplified in order to provide the communicationClass with improved access to the host status. Accordingly, the communications status travels through each module (e.g., the command router 30 and the message processor 40) to the communicationClass 262 where the communications status information is most useful. For example, in one preferred embodiment, when a timeout occurs at the transport layer a communication status event is sent to the communicationClass 262.
[0030] In one aspect of a preferred embodiment, the logic manager 24 discovers all instances of the EMG object classes 26 and registers them with EGM deviceClass 2O1. The EGM deviceClass 2O1 then, in turn, registers each instance with the command router 30. Additionally, the default owner host references are presented to the command router 30 via the EGM deviceClass 2O1. Preferably, each instance of an EMG object class 26 is aware of its owner. This information is necessary for the EMG object classes 26 to make a determination if a control command should be processed. A control command is any command that only the owner has permission to request. In one preferred embodiment, logic manager 24 initializes the EGM communicationClass 262 and automatically subscribes each registered host to the communicationClass 262.
[0031] In one preferred embodiment of the logic interface engine 10, the EMG object classes 26 are responsible for class specific content XML formatting. Preferably, the EMG object classes 26 send fully formed (logic interface engine-compliant), command content to the command router 30. This is analogous to data marshalling the specific content. Data marshalling is the process of gathering data and transforming it into a standard format before the data is transmitted over a network. This allows the data to be able to transcend network boundaries. In order for an object to be moved over a network, the object must be converted into a data stream that corresponds with the packet structure of the network transfer protocol. After the data is transmitted, the receiving device converts the marshaled data back into an object. Similarly, in one preferred embodiment of the logic interface engine 10, inbound commands have (logic interface engine-compliant) message class-specific content 'ripped' down (e.g., down-converted) into a usable format. This is analogous to data de-marshalling.
[0032] Referring now to Fig. 3, the core EMG object classes 26 are identified along with the command router 30. Fig. 3 illustrates an exemplary simplification of the command router 30. An actual implementation of a preferred embodiment includes every EMG object class 26 in the logic controller 20, including any multiple instances of the same device, in order for logical commands to be directed to each EMG object class.
[0033] In a preferred embodiment of the logic interface engine 10, the EMG object classes 26 of the logic controller 20 send complete (logic interface engine-compliant) commands to the command router 30. Similarly, the message processors 40 preferably send complete (logic interface engine-compliant) commands to the command router 30. Notably, in one preferred embodiment, communication status information is passed through the command router 30 so that the command router can notify the communicationClass 262 of changes in status.
[0034] A preferred embodiment of the logic interface engine 10 allows hosts to subscribe to devices that the host does not own. Otherwise stated, the logic interface engine 10 allows guest host subscriptions. These guest host subscriptions are typically managed in the deviceClass26j where they are referred to a subscriptions list.
[0035] However, in a preferred embodiment, all of the subscription list requests and other related subscription list related processes are controlled by the command router 30. Accordingly, in a preferred embodiment the logic manager 24, the subscription list of the deviceClass26l5 and the command router 30, all have special interactions with the subscription lists. Specifically, the subscription logic has been centralized in the command router 30 so that the deviceClass26! do not need to be concerned with guest subscriptions. In order to comply with some related protocols, it is beneficial to ensure that when a command is sent to an owner device, that a copy is also sent to any guest hosts. As such, in a preferred embodiment of the logic interface engine 10, any time a message is sent to an owner host, a copy is also sent to any guest subscribers.
[0036] The command router 30 performs this copying and distribution on behalf of the logic interface engine 10. By using centralized logic in command router 30 the deviceClass 26j in the logic controller 20 does not need to be concerned with (i.e., perform any processing related to) guest subscriptions. Instead, the deviceClass 2O1 need only be concern with talking to their owner host. The command router 30 is responsible for determining who is on the subscription list and dispatching the multiple copies as needed.
[0037] Accordingly, as shown in Fig. 3, the command router 30 uses the device-to-host subscription lists to direct the outbound commands to the appropriate message processor 40. Similarly, the command router 30 uses the device-to-host subscription lists to route the inbound command to the appropriate command inQueues 341;2j ,.n, (i.e., inbound queues) as shown in Fig. 3. Each command InQueue 34lj2; ...n (i.e., inbound queues) of the command router 30 transmits inbound information to its corresponding EMG object class 26lj2, ...n in the logic controller 20. In one preferred embodiment, the command router 30 has no control over the subscriptions. Instead, the command router 30 uses the subscriptions to direct the commands to the appropriate InQueue 341;2j ,..„.
[0038] In a preferred embodiment of the logic interface engine 10, the logic of the command router 30 does not make assumptions with respect to Owner or Guest hosts when directing inbound commands. However, the command router 30 preferably will pass on a hostID to the EMG object classes 26 in order to determine if the inbound command is from the Owner host. Continuing, in one preferred embodiment, the logic of the command router 30 manages the sessionIDs and commandIDs that are used with the commands. In this regard, since a single outbound command may be directed to many hosts, copies of this command must have the same sessionld and unique commandld for every host to which the command is directed.
[0039] Referring now to Fig. 4, regarding outbound information, a preferred embodiment of the logic interface engine 10 includes a plurality of outbound message processors 40, namely one outbound message processor 401;2j ...n for each host 441>2, ...n- Notably, the message processors 40 in a preferred embodiment of the logic interface engine 10 are intelligent message processors 40. In this regard, outbound messages are composed of commands that are transmitted from the command router 30. The intelligent message processors 40 aggregate these messages and send them out as a single message per host 44^2, .,.„. Similarly, when a system host (from across a network and outside of the logic interface engine 10) sends a message to the gaming device, the intelligent message processors 40 decompose the message into its constitute commands. Preferably, the intelligent message processor 40 performs this process of monitoring the queues, grouping and encapsulating the commands, and composing a message containing the multiple commands (per host), asynchronously. In a preferred embodiment, the logic controller 20 is not even aware that this grouping and encapsulating process is occurring.
[0040] Additionally, in a preferred embodiment, the intelligent message processors 40 include acknowledgement functionality in connection with messages (and in some embodiments commands as well). Otherwise stated, when a message is sent out, an acknowledgement receipt is received in reply. In a preferred embodiment, the acknowledgement logic is encapsulated in the outbound message such that other upstream components do not have to be concern with the aspect. Preferably, this acknowledgement logic is self-contained and automatic, which advantageously simplifies software design.
[0041] More specifically, as shown in Fig. 4, outbound commands sent from the command router 30 are grouped and sent out together to each outbound message processor 401J2J ...n and its corresponding host 441]2i ...n. Each host 441;2j ,.,n forwards these outbound commands to a message builder 461J2J ,..n (within the outbound message processor 40lj2, .,,„) that encapsulates the outgoing grouped commands into messages which are, in turn, forwarded to the transport layer 50, as shown in Fig. 4.
[0042] As described above, for outbound information, the host 441;2; ...„ queue of each message processor 40lj2, ...n forwards its respective outbound commands to its respective message builder 461;2, ...n (which encapsulates the outgoing grouped commands into messages) which, in turn, forwards the message to the transport layer 50, until the message that contains the command is acknowledged. Once acknowledged, the command can be removed from the queue. Additionally, the message processors 4O1^, ...n manage retry logic. Preferably, the message processors 401;2, .,.„ also notify the command router 30 when a host 44lj2) ...ndies or is established. Further, the message processors 401J2I ...n manage an independent process or thread for each host 44lj2; ...„.
[0043] As shown in Fig. 4, for inbound information, the message splitter 481;2, ...n of each message processor 40lj2, ...n splits inbound messages into commands and transmits each command to the command router 30 before acknowledging the inbound message. In this manner, utilizing separate message processors 401>2> „.„ (i.e., having multiple inbound queues) prevents a single slow host from backing up communication through other hosts in the other message processors 401;2, ...„. Additionally, for inbound information processing, the message splitter 48^2, ...n of each message processor 40li2, ...n provides duplicate message checking, parsing out of commands, and verification of commandID order. It will be appreciated by one of ordinary skill in the art that a host 441>2> ...n , message builder 461;2, ...n , and message splitter 481;2, ...n may be consolidated into a single component or integrated into one another as part of the message processor 40lj2j ...n in other preferred embodiments of the logic interface engine 10.
[0044] Thus, in a preferred embodiment, the message processor 40 is responsible for: (1) combining outbound commands into messages, and proving the (logic interface engine- complaint) message header; (2) processing message acknowledgements; (3) managing message retries; (4) splitting inbound messages into commands, passing the commands to the command router 30, and acknowledging the message; (5) managing the timeout for a keep- alive command. A keep-alive command enables clients to keep a connection to a server open and pipeline multiple requests over the connection, without the connection timing out and disconnecting. A keep-alive prevents clients from having to re-negotiate a new session for every request due to a connection timing out.
[0045] In one preferred embodiment, when a timeout occurs, a communication status event is sent to the appropriate communicationClass 262 so that a keep-alive command can be generated. Interestingly, when using this configuration, the message processor 40 is aware of the communication status for each host 441,2, ...n- As such, the message processor 40 is also a source of communication status information.
[0046] Referring now to Fig. 5, in one preferred embodiment, the transport layer 50 of the logic interface engine 10 is not viewable to other components outside of the transport layer itself. Otherwise stated, implicit knowledge of how the transport layer 50 works, and/or what the transport layer does, is not required by either the command router 30 or the communication channel drivers. Additionally, in a preferred embodiment logic interface engine 10, the transport layer 50 is unaware of the message content that it is transmitting. Preferably, the transport layers 50 are configurable for any number of (logic interface engine- complaint) device instances. In one preferred embodiment of the logic interface engine 10, the transport layer 50 includes diagnostic and debugging capabilities to facilitate developers with diagnostic issues. Preferably, the transport layer receives messages, handles security, SOAP (Simple Object Access Protocol), SSL (Secure Sockets Layer) HTTP (Hyper Text Transfer Protocol), DHCP (Dynamic Host Configuration Protocol), and the like. [0047] Furthermore, in one preferred embodiment, no persistent memory is available to the transport layer. In such an embodiment, the persistent memory is provided by the EMG object classes 26 through the command router 30. Additionally, communication status information is preferably passed to the EMG object classes 26 through the command router 30.
[0048] In another aspect of a preferred embodiment, the transport layer 50 provides message-envelope, header-specific (logic interface engine-compliant) content for XML formatting. This is analogous to data marshalling the header-specific content. Similarly, in one preferred embodiment of the logic interface engine 10, inbound commands have message-envelope, header-specific (logic interface engine-compliant) content 'ripped' down (e.g., down-converted) into a usable format. This is analogous to data de-marshalling.
[0049] Fig. 6 illustrates inbound and outbound data flow through various components of logic interface engine. The invention shown in Fig. 6 displays a method for sending outbound information from a gaming device to a logical communication channel, and receiving inbound information from a logical communication channel to a gaming device. Exemplary embodiments of methods for implementing this invention are described in further detail below.
[0050] A method for sending outbound information from a gaming device to a logical communication channel includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; sending outbound commands from the object classes to a command router; receiving outbound commands at the command router sent by the object classes; routing outbound commands using a command router, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller; duplicating commands as required and sending outbound commands from the command router to one or more message processors; receiving one or more outbound commands at a host of a message processor host that are sent by the command router; processing outbound commands using one or more message processors, each message processor including a corresponding host, message builder, and message splitter; grouping and encapsulating outbound commands into a single outbound message per host at a message builder of a message processor; sending outbound messages from the message processors to a transport layer; receiving the outbound messages at the transport layer sent by the message processors; and sending outbound messages from the transport layer to the logical communication channel.
[0051] A method for receiving inbound information from a logical communication channel to a gaming device includes: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; routing inbound commands to the plurality of object classes using a command router, wherein the command router includes a plurality of command inQueues (inbound queues) that correspond to the object classes of the logic controller, wherein the object classes receive inbound message commands sent from the command inQueues (inbound queues) of the command router; processing inbound messages from a transport layer using one or more message processors, each message processor including a corresponding host, message builder, and message splitter, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors; and receiving inbound messages at a transport layer from the logical communication channel.
[0052] While one specific embodiment of the logic interface engine 10 has been described in detail, those of ordinary skill in the art will appreciate that other implementations of the logic interface engine 10 can be utilized without departing from the scope of the above- described technology. Further, those of ordinary skill in the art will appreciate that while the logic interface engine 10 has been described with regard to the gaming environment, the logic interface engine 10 and related technology may be used in other environments as well. By way of example only, and not by way of limitation, the logic interface engine 10 can be used in the telecommunications, computers, network, data transmission, Internet, and other related areas that require passing data and/or information between a message protocol and a command protocol.
[0053] Several preferred embodiments of a system and method for the logic interface engine 10 have been described above. Attached in Appendices hereto are materials and protocols that may be used: (1) in support of the above described embodiments and implementations, (2) as one possible environment for the above described embodiments and implementations, and (3) as alternate preferred embodiments of the above described embodiments and implementations. [0054] Although the invention has been described in language specific to computer structural features, methodological acts, and by computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific structures, acts, or media described. Therefore, the specific structural features, acts and mediums are disclosed as exemplary embodiments implementing the claimed invention.
Furthermore, the various embodiments described above are provided by way of illustration only and should not be construed to limit the invention. Those skilled in the art will readily recognize various modifications and changes that may be made to the claimed invention without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the claimed invention, which is set forth in the following claims.

Claims

WHAT IS CLAIMED:
1. A logic interface device for interfacing between a gaming device and a logical communication channel, the device comprising: a logic controller, wherein the logic controller includes a plurality of objpct classes that correspond to components of the gaming device, and wherein the object classes send outbound commands; a command router, wherein the command router receives the outbound commands sent by the object classes, wherein the command router includes a plurality of command inbound queues that correspond to the object classes of the logic controller, wherein the object classes receive inbound commands sent from the command inbound queues of the command router, and wherein the command router duplicates commands as required and sends outbound commands; one or more message processors each including a corresponding host, message builder, and message splitter, wherein the host of each message processor receives an outbound command sent by the command router, wherein the message builder of each message processor groups and encapsulates outbound commands into a single outbound message per host, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors, and wherein the message processors send outbound messages; and a transport layer, wherein the transport layer receives the outbound messages sent by the message processors, wherein the transport layer sends inbound messages to the message processors, and wherein the transport layer sends outbound messages to the logical communication channel.
2. The device of claim 1, wherein the object classes include at least one of a device class, a communication class, a cabinet class, a processor class, or a meters class.
3. The device of claim 1, wherein the command router uses a device-to-host subscription list to direct outbound commands to appropriate message processors, and wherein the command router uses the device-to-host subscription list to route inbound commands to command inbound queues.
4. The device of claim 1, wherein a communication device class connection provides improved access to host status by enabling communications status information to travel through the command router and the message processor to the communication device class.
5. The device of claim 1, wherein the message splitters include acknowledgement logic that enables the message splitters to send an acknowledgement receipt after commands have been transmitted.
6. The device of claim 1, wherein the logical communication channel comprises a network.
7. The device of claim 1, wherein the logical communication channel comprises an Ethernet, serial, or universal serial bus.
8. The device of claim 1, wherein one or more system hosts are connected to the logical communication channel to enable communication with the gaming devices via the logic interface device.
9. The device of claim I3 wherein the logic interface device is asynchronous.
10. The device of claim 1, wherein each controllable components of the gaming device has a corresponding object class in the logic controller.
11. The device of claim 1 , wherein the logic interface device enables a modular breakdown of components on a gaming platform.
12. A method for interfacing between a gaming device and a logical communication channel, the method comprising: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device, and wherein the object classes send outbound commands; routing inbound and outbound commands using a command router, wherein the command router receives the outbound message commands sent by the object classes, wherein the command router includes a plurality of command inbound queues that correspond to the object classes of the logic controller, wherein the object classes receive inbound message commands sent from the command inbound queues in the command router, and wherein the command router duplicates command as required and sends outbound commands; processing outbound commands and inbound messages using one or more message processors, each message processor including a corresponding host, message builder, and message splitter, wherein the host of each message processor receives an outbound command sent by the command router, wherein the message builder of each message processor groups and encapsulates outbound commands into a single outbound message per host, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors, and wherein the message processors send outbound messages; and providing a transport layer, wherein the transport layer receives the outbound messages sent by the message processors, wherein the transport layer sends inbound messages to the message processors, and wherein the transport layer sends outbound messages to the logical communication channel.
13. The method of claim 11 , wherein the object classes include at least one of a device class, a communication class, a cabinet class, a processor class, or a meters class.
14. The method of claim 11 , wherein the command router uses a device-to-host subscription list to direct outbound commands to appropriate message processors, and wherein the command router uses the device-to-host subscription list to route inbound commands to command inQueues (i.e., inbound queues).
15. The method of claim 11 , wherein a communication device class connection provides improved access to host status by enabling communications status information to travels through the command router and the message processor to the communication device class.
16. The method of claim 11, wherein the message splitters include acknowledgement logic that enables the message splitters to send an acknowledgement receipt after commands have been transmitted.
17. The method of claim 11 , wherein the logical communication channel comprises a network.
18. The method of claim 11 , wherein the logical communication channel comprises an Ethernet, serial, or universal serial bus.
19. The method of claim 11, wherein one or more system hosts are connected to the logical communication channel to enable communication with the gaming devices via the logic interface device.
20. The method of claim 11, wherein the logic interface device is asynchronous.
21. The method of claim 11 , wherein each controllable components of the gaming device has a corresponding object class in the logic controller.
22. A method for sending outbound information from a gaming device to a logical communication channel, the method comprising: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; sending outbound commands from the object classes to a command router ; receiving outbound commands at the command router sent by the object classes; routing outbound commands using a command router, wherein the command router includes a plurality of command inbound queues that correspond to the object classes of the logic controller; duplicating commands as required and sending outbound commands from the command router to one or more message processors; receiving one or more outbound commands at a host of a message processor host that are sent by the command router; processing outbound commands using one or more message processors, each message processor including a corresponding host, message builder, and message splitter; grouping and encapsulating outbound commands into a single outbound message per host at a message builder of a message processor; sending outbound messages from the message processors to a transport layer; receiving the outbound messages at the transport layer sent by the message processors; and sending outbound messages from the transport layer to the logical communication channel.
23. A method for receiving inbound information from a logical communication channel to a gaming device, the method comprising: providing control logic, wherein the control logic includes a plurality of object classes that correspond to components of the gaming device; routing inbound commands to the plurality of object classes using a command router, wherein the command router includes a plurality of command inbound queues that correspond to the object classes of the logic controller, wherein the object classes receive inbound message commands sent from the command inbound queues of the command router; processing inbound messages from a transport layer using one or more message processors, each message processor including a corresponding host, message builder, and message splitter, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors; and receiving inbound messages at a transport layer from the logical communication channel.
24. A logic interface system for interfacing between a command-driven device and a logical communication channel, the system comprising: a logic controller, wherein the logic controller includes a plurality of object classes that correspond to components of the command-driven device, and wherein the object classes send outbound commands; a command router, wherein the command router receives the outbound commands sent by the object classes, wherein the command router includes a plurality of command inbound queues that correspond to the object classes of the logic controller, wherein the object classes receive inbound commands sent from the command inbound queues of the command router, and wherein the command router duplicates commands as required and sends outbound commands; one or more message processors, each including a corresponding host, message builder, and message splitter, wherein the host of each message processor receives an outbound command sent by the command router, wherein the message builder of each message processor groups and encapsulates outbound commands into a single outbound message per host, wherein the message splitter of each message processor parses inbound messages into multiple inbound commands, wherein the command router receives inbound commands from the hosts of the message processors, and wherein the message processors send outbound messages; and a transport layer, wherein the transport layer receives the outbound messages sent by the message processors, wherein the transport layer sends inbound messages to the message processors, and wherein the transport layer sends outbound messages to the logical communication channel.
PCT/US2006/012832 2005-04-28 2006-04-07 Logic interface engine system and method WO2006115723A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US67642905P 2005-04-28 2005-04-28
US60/676,429 2005-04-28
US11/278,937 US20060247057A1 (en) 2005-04-28 2006-04-06 Logic Interface Engine System and Method
US11/278,937 2006-04-06

Publications (2)

Publication Number Publication Date
WO2006115723A2 true WO2006115723A2 (en) 2006-11-02
WO2006115723A3 WO2006115723A3 (en) 2009-04-23

Family

ID=37215199

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/012832 WO2006115723A2 (en) 2005-04-28 2006-04-07 Logic interface engine system and method

Country Status (2)

Country Link
US (2) US20060247057A1 (en)
WO (1) WO2006115723A2 (en)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090082079A1 (en) * 1998-03-11 2009-03-26 Kuhn Tyler V Intelligent candle display for game machines
US7967682B2 (en) 2006-04-12 2011-06-28 Bally Gaming, Inc. Wireless gaming environment
US8052519B2 (en) 2006-06-08 2011-11-08 Bally Gaming, Inc. Systems, methods and articles to facilitate lockout of selectable odds/advantage in playing card games
AU2007205809B2 (en) 2006-08-17 2012-05-17 Bally Gaming, Inc. Systems, methods and articles to enhance play at gaming tables with bonuses
US9101820B2 (en) 2006-11-09 2015-08-11 Bally Gaming, Inc. System, method and apparatus to produce decks for and operate games played with playing cards
US8784212B2 (en) 2006-11-10 2014-07-22 Bally Gaming, Inc. Networked gaming environment employing different classes of gaming machines
US9275512B2 (en) 2006-11-10 2016-03-01 Bally Gaming, Inc. Secure communications in gaming system
US20080153600A1 (en) * 2006-11-10 2008-06-26 Bally Gaming, Inc. Gaming system configuration change reporting
US8631501B2 (en) 2006-11-10 2014-01-14 Bally Gaming, Inc. Reporting function in gaming system environment
US9111078B2 (en) 2006-11-10 2015-08-18 Bally Gaming, Inc. Package manager service in gaming system
US8920233B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. Assignment template and assignment bundle in a gaming configuration and download system
US8191121B2 (en) 2006-11-10 2012-05-29 Bally Gaming, Inc. Methods and systems for controlling access to resources in a gaming network
US8347280B2 (en) * 2006-11-13 2013-01-01 Bally Gaming, Inc. System and method for validating download or configuration assignment for an EGM or EGM collection
US9082258B2 (en) 2006-11-13 2015-07-14 Bally Gaming, Inc. Method and system for providing download and configuration job progress tracking and display via host user interface
US8930461B2 (en) 2006-11-13 2015-01-06 Bally Gaming, Inc. Download and configuration management engine for gaming system
AU2007319603B2 (en) 2006-11-14 2013-07-04 Igt Dynamic gaming library
US9231824B2 (en) * 2007-01-26 2016-01-05 Bally Gaming, Inc. Configuration synchronization between electronic gaming machines and a supporting server
US8239230B2 (en) * 2007-04-26 2012-08-07 Casta International, Llc System and method for managing personnel and resources in gaming establishment
US7986418B2 (en) * 2007-05-25 2011-07-26 Kabushiki Kaisha Toshiba Driver apparatus, process control method, process control program
US20080307109A1 (en) * 2007-06-08 2008-12-11 Galloway Curtis C File protocol for transaction based communication
US8060891B2 (en) * 2007-06-29 2011-11-15 Microsoft Corporation Management of external hardware appliances in a distributed operating system
US9454384B2 (en) * 2007-07-05 2016-09-27 Microsoft Technology Licensing, Llc Custom operating system via a web-service
US8272945B2 (en) 2007-11-02 2012-09-25 Bally Gaming, Inc. Game related systems, methods, and articles that combine virtual and physical elements
US20090124369A1 (en) * 2007-11-09 2009-05-14 Bally Gaming, Inc. Reconfigurable Gaming Machine Method
US8201229B2 (en) 2007-11-12 2012-06-12 Bally Gaming, Inc. User authorization system and methods
US8616958B2 (en) * 2007-11-12 2013-12-31 Bally Gaming, Inc. Discovery method and system for dynamically locating networked gaming components and resources
US11270267B2 (en) * 2007-12-12 2022-03-08 Avaya Inc. Sensitive information management
US8949990B1 (en) * 2007-12-21 2015-02-03 Trend Micro Inc. Script-based XSS vulnerability detection
US8578482B1 (en) 2008-01-11 2013-11-05 Trend Micro Inc. Cross-site script detection and prevention
US8850567B1 (en) 2008-02-04 2014-09-30 Trend Micro, Inc. Unauthorized URL requests detection
US9330540B2 (en) * 2008-02-05 2016-05-03 Steven R. Michels Customization apparatus and method
US8308562B2 (en) * 2008-04-29 2012-11-13 Bally Gaming, Inc. Biofeedback for a gaming device, such as an electronic gaming machine (EGM)
US9092944B2 (en) 2008-04-30 2015-07-28 Bally Gaming, Inc. Coordinating group play events for multiple game devices
US9005034B2 (en) 2008-04-30 2015-04-14 Bally Gaming, Inc. Systems and methods for out-of-band gaming machine management
US8856657B2 (en) 2008-04-30 2014-10-07 Bally Gaming, Inc. User interface for managing network download and configuration tasks
US8721431B2 (en) 2008-04-30 2014-05-13 Bally Gaming, Inc. Systems, methods, and devices for providing instances of a secondary game
US9406194B2 (en) 2008-04-30 2016-08-02 Bally Gaming, Inc. Method and system for dynamically awarding bonus points
US20090275401A1 (en) * 2008-04-30 2009-11-05 Bally Gaming, Inc. Method, system, apparatus, and article of manufacture for profile-driven configuration for electronic gaming machines (egms)
US9483911B2 (en) 2008-04-30 2016-11-01 Bally Gaming, Inc. Information distribution in gaming networks
US8613655B2 (en) 2008-04-30 2013-12-24 Bally Gaming, Inc. Facilitating group play with multiple game devices
WO2009151919A2 (en) 2008-05-24 2009-12-17 Bally Gaming, Inc. Networked gaming system with enterprise accounting methods and apparatus
WO2009155047A2 (en) 2008-05-30 2009-12-23 Bally Gaming, Inc. Web pages for gaming devices
US11005910B1 (en) * 2008-06-17 2021-05-11 Federal Home Loan Mortgage Corporation (Freddie Mac) Systems, methods, and computer-readable storage media for extracting data from web applications
WO2010006187A2 (en) 2008-07-11 2010-01-14 Bally Gaming, Inc. Integration gateway
US8489989B1 (en) * 2008-07-15 2013-07-16 Adobe Systems Incorporated Methods and systems for preflighting using multiple preflight profiles
US8231471B2 (en) * 2008-07-22 2012-07-31 Wms Gaming, Inc. Automated wagering game machine configuration and recovery
TWI381312B (en) * 2008-08-27 2013-01-01 Condel Internat Technologies Inc Method and system for performing interoperable digital rights management among different operating system platforms
US11385758B2 (en) 2008-10-09 2022-07-12 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
US11287939B2 (en) 2008-10-09 2022-03-29 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
AU2009222627B2 (en) 2008-10-09 2011-07-21 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
US8347303B2 (en) 2008-11-14 2013-01-01 Bally Gaming, Inc. Apparatus, method, and system to provide a multi-core processor for an electronic gaming machine (EGM)
US8266213B2 (en) 2008-11-14 2012-09-11 Bally Gaming, Inc. Apparatus, method, and system to provide a multiple processor architecture for server-based gaming
US20100124989A1 (en) * 2008-11-14 2010-05-20 Wms Gaming Inc. Gaming System Having Multiple Wager Levels Eligible For Progressive Jackpots
US8423790B2 (en) 2008-11-18 2013-04-16 Bally Gaming, Inc. Module validation
US8316240B2 (en) * 2009-02-20 2012-11-20 International Business Machines Corporation Securing computer log files
US8429464B2 (en) 2009-11-12 2013-04-23 Bally Gaming, Inc. Background memory validation for gaming devices
US8317608B2 (en) * 2009-11-13 2012-11-27 Bally Gaming, Inc. Gaming device having hard drive based media and related methods
US20110250953A1 (en) * 2010-04-12 2011-10-13 Bally Gaming, Inc. Systems and methods for configuring a gaming machine
WO2011160139A1 (en) 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US8499142B1 (en) 2010-07-22 2013-07-30 American Megatrends, Inc. UEFI boot loader for loading non-UEFI compliant operating systems
US8468334B1 (en) * 2011-01-28 2013-06-18 American Megatrends, Inc. Efficient initial RAM disk creation
US20120295693A1 (en) * 2011-05-16 2012-11-22 Bytnar Michael R Dynamic signature management
US8475283B2 (en) * 2011-05-24 2013-07-02 Wms Gaming, Inc Player incentives for wagering game transfers
US9058716B2 (en) 2011-06-06 2015-06-16 Bally Gaming, Inc. Remote game play in a wireless gaming environment
US8918776B2 (en) * 2011-08-24 2014-12-23 Microsoft Corporation Self-adapting software system
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8971144B2 (en) 2012-01-19 2015-03-03 Quixant Plc Hardware write-protection
US9311777B2 (en) 2012-08-17 2016-04-12 Bally Gaming, Inc. Systems, methods and devices for configuring wagering game systems and devices
US8775925B2 (en) 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
US9749440B2 (en) 2013-12-31 2017-08-29 Sweetlabs, Inc. Systems and methods for hosted application marketplaces
US10019247B2 (en) 2014-05-15 2018-07-10 Sweetlabs, Inc. Systems and methods for application installation platforms
US10089098B2 (en) 2014-05-15 2018-10-02 Sweetlabs, Inc. Systems and methods for application installation platforms
US9875618B2 (en) 2014-07-24 2018-01-23 Igt Gaming system and method employing multi-directional interaction between multiple concurrently played games
US9520029B2 (en) 2014-08-28 2016-12-13 Bally Gaming, Inc. Wagering game machine having enhanced eligibility for progressive jackpots
US9349246B1 (en) * 2014-09-15 2016-05-24 Skillz Inc. Integrations portal for a peer-to-peer game platform
US10606804B2 (en) * 2015-01-28 2020-03-31 Verizon Media Inc. Computerized systems and methods for distributed file collection and processing
US9479602B1 (en) 2015-05-20 2016-10-25 Skillz Inc. Event platform for peer-to-peer digital gaming competition
US20170144858A1 (en) * 2015-11-25 2017-05-25 Otis Elevator Company Automated passenger conveying system manipulation via an automated remote activation and validation of controller software
CA3017745A1 (en) 2016-03-15 2017-09-21 Skillz Inc. Across-match analytics in peer-to-peer gaming tournaments
JP7074680B2 (en) 2016-03-15 2022-05-24 スキルズ プラットフォーム インコーポレイテッド Synchronous model for virtual tournaments
KR102378226B1 (en) 2016-03-16 2022-03-24 스킬즈 플랫폼 인크. Management of streaming video data
US10896577B2 (en) * 2016-11-08 2021-01-19 King Show Games, Inc. Gaming systems and devices to configure multigame bonuses
US10698865B2 (en) * 2017-06-26 2020-06-30 Vmware, Inc. Management of B-tree leaf nodes with variable size values
US10713888B2 (en) * 2018-03-01 2020-07-14 Ags Llc Gaming system having boot locked validation of program installs, data installs and program launches
US10970968B2 (en) 2018-04-18 2021-04-06 Igt System and method for incentivizing the maintenance of funds in a gaming establishment account
US10846992B2 (en) * 2018-07-23 2020-11-24 Class II Solutions, LLC Methods and systems for delivering class II gaming
US11741196B2 (en) 2018-11-15 2023-08-29 The Research Foundation For The State University Of New York Detecting and preventing exploits of software vulnerability using instruction tags
CN110111082B (en) * 2019-05-14 2023-04-28 青岛奥利普奇智智能工业技术有限公司 Random shooting method for field checking work
US11610452B2 (en) * 2020-11-23 2023-03-21 Adrenalineip Method of calculating the odds of a sports play using data fidelity
CN112596954A (en) * 2020-12-25 2021-04-02 深圳市科力锐科技有限公司 Data backup and reconstruction method, device, equipment and storage medium
US11528232B1 (en) * 2021-08-27 2022-12-13 Hong Kong Applied Science and Technology Research Institute Company Limited Apparatus and method for handling real-time tasks with diverse size based on message queue
CN114448986B (en) * 2022-01-04 2024-03-01 上海弘积信息科技有限公司 License control method based on MC centralized management system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040002378A1 (en) * 1994-10-12 2004-01-01 Acres John F. Method and apparatus for operating networked gaming devices
US20040132532A1 (en) * 2001-04-19 2004-07-08 Igt Open architecture communications in a gaming network

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337275A (en) * 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US6092168A (en) * 1996-10-25 2000-07-18 Hewlett-Packard Co. Data storage system and method for deallocating space by writing and detecting a predefined data pattern
US5963982A (en) * 1997-07-02 1999-10-05 Webtv Networks, Inc. Defragmentation of stored data without pointer indirection
US7850522B2 (en) * 1998-03-31 2010-12-14 Igt Apparatus, systems and methods for facilitating a payout of a gaming device
US7819750B2 (en) * 1999-10-06 2010-10-26 Igt USB software architecture in a gaming machine
US7111141B2 (en) * 2000-10-17 2006-09-19 Igt Dynamic NV-RAM
US6820183B2 (en) * 2001-01-05 2004-11-16 International Business Machines Corporation Methods, systems, and computer program products for memory pool management using variable size sub-pools
US7618317B2 (en) * 2001-09-10 2009-11-17 Jackson Mark D Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
WO2003045519A1 (en) * 2001-11-26 2003-06-05 Igt Pass-through live validation device and method
AU2002341754A1 (en) * 2002-07-05 2004-01-23 Cyberscan Technology, Inc. Secure game download
US6934578B2 (en) * 2002-09-18 2005-08-23 Covance Inc. Method and apparatus for interactive annotation and measurement of time series data with automatic marker sequencing
EP1611708A4 (en) * 2003-03-10 2009-12-30 Cyberview Technology Inc Dynamic configuration of a gaming system
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040002378A1 (en) * 1994-10-12 2004-01-01 Acres John F. Method and apparatus for operating networked gaming devices
US20040132532A1 (en) * 2001-04-19 2004-07-08 Igt Open architecture communications in a gaming network

Also Published As

Publication number Publication date
US8900054B2 (en) 2014-12-02
US20080064501A1 (en) 2008-03-13
WO2006115723A3 (en) 2009-04-23
US20060247057A1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
US20060247057A1 (en) Logic Interface Engine System and Method
US10645181B2 (en) Meta broker for publish-subscribe-based messaging
JP4566273B2 (en) Method for reliable messaging using redundant message streams in a high speed, low latency data communication environment
US7676562B2 (en) Computer system for accessing instrumentation information
US6874147B1 (en) Apparatus and method for networking driver protocol enhancement
JP3837291B2 (en) Application independent messaging system
JP3980596B2 (en) Method and system for remotely and dynamically configuring a server
US7136913B2 (en) Object oriented communication among platform independent systems across a firewall over the internet using HTTP-SOAP
EP2378741B1 (en) Systems and Methods for Conducting Communications Among Components of Multidomain Industrial Automation System
CN101371237B (en) Performing message payload processing functions in a network element on behalf of an application
US9003428B2 (en) Computer data communications in a high speed, low latency data communications environment
WO2018156632A1 (en) Heterogeneous cloud controller
US20070094283A1 (en) Apparatus, system, and method for implementing an IMS soap gateway
US20060013251A1 (en) Method, system, and program for enabling communication between nodes
EP2378716B1 (en) Systems for conducting communications among components of multidomain industrial automation system
US20060155812A1 (en) Management of network devices via email
US6925488B2 (en) Distributed intelligent information technology operations automation
US7191232B2 (en) Extendable provisioning mechanism for a service gateway
US7934218B2 (en) Interprocess communication management using a socket layer
US20040010575A1 (en) Remote services system relocatable mid level manager
US20020138605A1 (en) Message tracking system and method
WO2011072230A2 (en) Proxy-based, distributed computer-aided dispatch system
EP1198101A1 (en) Provisioning mechanism for a service gateway
US7937433B1 (en) Queuing connector to promote message servicing
WO2013180255A1 (en) Communication devices and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06740620

Country of ref document: EP

Kind code of ref document: A2