US9135090B2 - Messaging bus residing on a mobile device - Google Patents
Messaging bus residing on a mobile device Download PDFInfo
- Publication number
- US9135090B2 US9135090B2 US13/777,420 US201313777420A US9135090B2 US 9135090 B2 US9135090 B2 US 9135090B2 US 201313777420 A US201313777420 A US 201313777420A US 9135090 B2 US9135090 B2 US 9135090B2
- Authority
- US
- United States
- Prior art keywords
- application
- format
- communication
- mobile device
- routing module
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
Definitions
- the present disclosure generally relates to a messaging bus, and more particularly to a messaging bus residing on a mobile device.
- SOA Service Oriented Architecture
- Web services provide the SOA to other applications via industry standard networks, interfaces, and protocols.
- the SOA is based on loosely-coupled and standards-based architectures. It is an approach to distributed computing that allows networked software resources to be leveraged.
- the SOA enables enterprises to integrate services, handle business events, and automate business processes more efficiently.
- an SOA links information technology resources, data, services, and applications.
- the SOA can include an enterprise service bus (ESB).
- An ESB may be an event-driven and standards-based messaging engine that provides services for complex architectures.
- the ESB provides infrastructure that links together services and clients to enable distributed applications and processes.
- the ESB typically provides a service to a client using a service deployed on an ESB server at runtime.
- This disclosure relates to a messaging bus that resides on a mobile device and enables an application executing on the mobile device to communicate with another application via the messaging bus.
- Methods, systems, and techniques for enabling the application executing on the mobile device to communicate with one or more applications are provided.
- a system for handling messages using a messaging bus residing on a mobile device includes a register module that registers a first application and a second application and stores in a registry first registration information associated with the first application and second registration information associated with the second application.
- the second application is executing on the mobile device.
- the system also includes a routing module and a translation module residing on the mobile device.
- the routing module receives from the first application a communication in a first format for the second application, determines a second format associated with the second application, and determines whether the first format is different from the second format.
- the translation module translates the communication in the first format to the second format.
- the routing module transmits to the second application the communication in the second format.
- a method of handling messages using a messaging bus residing on a mobile device includes registering via a messaging bus a first application.
- the messaging bus resides on a mobile device.
- the method also includes registering via the messaging bus a second application executing on the mobile device.
- the method further includes receiving from the first application via the messaging bus a communication in a first format for the second application.
- the method also includes determining via the messaging bus a second format associated with the second application.
- the method further includes determining via the messaging bus whether the first format is different from the second format.
- the method also includes when the first format is determined to be different from the second format, translating via the messaging bus the communication in the first format to the second format.
- the method further includes after the translation, transmitting to the second application via the messaging bus the communication in the second format.
- a non-transitory machine-readable medium includes a plurality of machine-readable instructions that when executed by one or more processors are adapted to cause the one or more processors to perform a method including registering a first application, the messaging bus residing on a mobile device; registering a second application executing on the mobile device; receiving from the first application a communication in a first format for the second application; determining a second format associated with the second application; determining whether the first format is different from the second format; when the first format is determined to be different from the second format, translating the communication in the first format to the second format; and after the translating, transmitting to the second application the communication in the second format.
- This disclosure provides techniques for enabling an application executing on the mobile device to communicate with another application via a messaging bus.
- FIG. 1 is a simplified block diagram illustrating a system for handling messages using a messaging bus residing on a mobile device, according to an embodiment.
- FIG. 2 is a simplified block diagram illustrating another system for handling messages using a messaging bus residing on a mobile device, according to an embodiment.
- FIG. 3 is a simplified flowchart illustrating a method of handling messages using a messaging bus residing on a mobile device, according to an embodiment.
- FIG. 4 is a block diagram of an electronic system suitable for implementing one or more embodiments of the present disclosure.
- An ESB may provide infrastructure that links together services and clients to enable distributed applications and processes.
- an ESB may include one or more busses that logically interconnect available services and clients.
- the ESB typically provides a service to a client using a service deployed on an ESB server at runtime.
- an ESB may be deployed to an application server and then services are deployed to the ESB.
- the ESB is typically used for client-server interactions and has not been deployed to a mobile device.
- a mobile device may have capabilities only marginally inferior to contemporary fixed devices.
- Mobile devices have become powerful, and a number of applications have become available for mobile devices.
- mobile devices may be used for gaming, web browsing, calendars, and e-mail.
- a mobile application may refer to an application executing on the mobile device.
- two mobile applications may communicate with each other if they know about each other and have been programmed to communicate directly with each other before being deployed onto the mobile device.
- a mobile application may be unable to natively understand another application. It may be beneficial to provide a translation service for a mobile application to communicate with other applications without concern for the formats accepted by the other applications.
- This disclosure describes providing a messaging bus on the mobile device to enable the mobile application to communicate with one or more applications.
- the messaging bus abstracts details from the mobile application so that it may use its native format to communicate with another application via the messaging bus.
- FIG. 1 is a simplified block diagram 100 illustrating a system for handling messages using a messaging bus residing on a mobile device, according to an embodiment.
- Diagram 100 includes a mobile device 110 .
- Mobile device 110 may refer to a non-stationary computing device.
- Mobile device 110 may be, for example, a mobile phone, tablet, sensor (e.g., radio frequency identification device chip), or smart card.
- Mobile device 110 includes applications 112 and 114 , messaging bus 120 , registry 130 , and database 140 .
- Messaging bus 120 may provide the capabilities of message handling, data transformation, content-based routing, and message repositories. Messaging bus 120 may allow software components to find and invoke each other irrespective of the technology used in their implementations.
- messaging bus 120 is an enterprise service bus.
- Messaging bus 120 includes a register module 122 , message queue 124 , routing module 126 , and translation module 128 .
- each of register module 122 , message queue 124 , routing module 126 , and translation module 128 resides on mobile device 110 .
- register module 122 registers one or more applications and stores the registration information associated with the one or more registered applications in registry 130 .
- Registry 130 may be used to store endpoint references for the services deployed within messaging bus 120 .
- clients and services bind to messaging bus 120 and perform all interactions through messaging bus 120 .
- Application 112 may be a client application executing on mobile device 110 .
- register module 122 registers application 112 with messaging bus 120 .
- register module 122 may detect the installation of application 112 and send a request for registration information to application 112 based on the detection.
- Application 112 may publish itself into registry 130 along with one or more formats accepted by application 112 .
- the registration information of application 112 may include at least one of a set of protocols accepted by application 112 , a set of data formats accepted by application 112 , and a set of content based routing policies associated with application 112 .
- Register module 122 may store the registration information associated with application 112 in registry 130 .
- Messaging bus 120 may mediate communication between endpoint references.
- a communication may be addressed to a destination endpoint reference (e.g. application 112 or application 114 ).
- the endpoint references of a communication are applications 112 and 114 .
- Applications 112 and 114 may indirectly communicate with each other via messaging bus 120 .
- routing module 126 routes one or more messages between applications 112 and 114 .
- Messaging bus 120 may be transparent such that applications 112 and 114 believe that they are communicating directly with each other and are unaware of messaging bus 120 . In an embodiment, all communications between applications 112 and 114 pass through routing module 126 .
- Messaging bus 120 may receive one or more communications from application 112 for application 114 and route the one or more communications to application 114 . Similarly, messaging bus 120 may receive one or more communications from application 114 for application 112 and route the one or more communications to application 112 . The communications may be placed in message queue 124 for routing by routing module 126 .
- Message queue 124 may be a buffering component that assists an application executing on mobile device 110 to communicate with one or more applications that differ in communication speed. Additionally, if routing module 126 is not processing each communication fast enough, some of the communications may be lost. Message queue 124 may assist in mitigating the loss of communications.
- Messaging bus 120 may cache data on mobile device 110 so that applications may gain the benefit of locally sharing data.
- messaging bus 120 stores the cached data into database 140 .
- Routing module 126 may receive from application 114 a communication in a first format for application 112 .
- the communication specifies application 112 as the destination endpoint reference.
- Routing module 126 may determine a second format associated with application 112 .
- routing module 126 may determine the second format associated with application 112 by searching registry 130 . Routing module 126 may determine whether the first format is different from the second format.
- Translation module 128 may translate a communication between applications 112 and 114 into another format. In an example, when routing module 126 determines that the first format is different from the second format, translation module 128 translates a communication in the first format to the second format. Routing module 126 may then transmit to application 114 the communication in the second format. Alternatively, when routing module 126 determines that the first format is not different from the second format, routing module 126 transmits to application 114 the communication in the first format.
- the first and second formats are associated with a protocol.
- Registry 130 may include a set of protocols accepted by application 112 and a set of protocols accepted by application 114 . Routing module 126 may determine a format associated with application 112 by searching registry 130 . If registry 130 does not include the set of protocols accepted by application 112 , register module 122 may request this information from application 112 . Similarly, if registry 130 does not include the set of protocols accepted by application 114 , register module 122 may request this information from application 114 .
- the communication in the first format may be based on a first protocol associated with application 114 , and routing module 126 may determine whether application 112 accepts the first protocol. When routing module 126 determines that application 112 does not accept the first protocol, routing module 126 may determine a second protocol that is accepted by application 112 and translation module 128 may translate the communication based on the first protocol to the communication based on the second protocol. Routing module 126 may then transmit to application 112 a communication based on the second protocol. Application 112 may receive the communication based on the second protocol and understand the communication.
- the protocol may be, for example, a network protocol such as file transfer protocol (FTP) or hypertext transfer protocol (HTTP).
- FTP file transfer protocol
- HTTP hypertext transfer protocol
- translation module 128 may translate the communication based on FTP to a communication based on HTTP.
- Routing module 126 may then transmit to application 112 the communication based on HTTP. In this way, applications 112 and 114 may communicate even though the network protocol used by each is different.
- the first and second formats are associated with a data format.
- Registry 130 may include a set of data formats accepted by application 112 and a set of data formats accepted by application 114 . Routing module 126 may determine a data format associated with application 112 by searching registry 130 . If registry 130 does not include the set of data formats accepted by application 112 , register module 122 may request this information from application 112 . Similarly, if registry 130 does not include the set of data formats accepted by application 114 , register module 122 may request this information from application 114 . The communication in the first data format may be based on a first data format associated with application 114 , and routing module 126 may determine whether application 112 accepts the first data format.
- routing module 126 may determine a second data format that is accepted by application 112 and translation module 128 may translate the communication based on the first data format to the communication based on the second data format. Routing module 126 may then transmit to application 112 a communication based on the second data format. Application 112 may receive the communication based on the second data format and understand the communication.
- the data format may be, for example, Microsoft® Word and OpenOffice®. If application 114 sends to application 112 a Microsoft® Word document and application 112 only accepts OpenOffice® documents, translation module 128 may translate the Microsoft® Word document to an OpenOffice® document. Routing module 126 may then transmit to application 112 the OpenOffice® document. Application 112 may receive the communication in OpenOffice® format and be able to open the OpenOffice® document. In this way, applications 112 and 114 may communicate even though the data format used by each is different. Trademarks are the property of their respective owners.
- Application 112 may respond to the communication from application 114 .
- routing module 122 receives from application 112 a second communication in a format (e.g., second format) associated with application 112 .
- a format e.g., second format
- translation module 128 may translate the second communication in the format associated with application 112 to the format associated with application 114 .
- Routing module 126 may then transmit to application 114 the second communication in the format associated with application 114 .
- routing module 126 determines that the format associated with application 112 is not different from the format associated with application 114 , routing module 126 transmits to application 114 the communication in the format associated with application 112 .
- messaging bus 120 may enable applications 112 and 114 to communicate even if they do not natively understand each other.
- FIG. 1 is merely an example, which should not unduly limit the scope of the claims.
- block diagram 100 is described herein with reference to two applications executing on mobile device 110 , fewer than or more than two applications may execute on mobile device 110 without departing from the spirit and scope of this disclosure.
- one or more modules may be combined with another module.
- routing module 126 and translation module 128 are combined into one module.
- a module may be separated into more than one module.
- translation module 128 is split into a protocol translation module that translates communications based on different protocols and a data format translation module that translates communications based on different data formats.
- applications 112 and 114 are described as being associated with a protocol or a data format. Each of applications 112 and 114 may, however, be associated with more than one protocol and/or data format.
- application 114 is shown as executing on mobile device 110 , and messaging bus 120 may be useful for application-to-application communication on mobile device 110 .
- Messaging bus 120 may enable the communications between applications 112 and 114 to occur without the communications leaving mobile device 110 .
- Messaging bus 120 may also enable an application executing on mobile device 110 to communicate with an application executing on a device remote from mobile device 110 .
- An application may refer to a service remote from the mobile device.
- FIG. 2 is a simplified block diagram 200 illustrating another system for handling messages using a messaging bus residing on a mobile device, according to an embodiment.
- Diagram 200 includes mobile device 110 coupled to a network 202 .
- Mobile device 110 includes application 112 , messaging bus 120 , registry 130 , and database 140 .
- Diagram 200 also includes a server 204 coupled to network 202 .
- Mobile device 110 and server 204 may communicate with each other via network 202 .
- messaging bus 120 receives replicated data and stores the replicated data into database 140 .
- Network 202 may include various configurations and use various protocols including the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, cellular and other wireless networks, Internet relay chat channels (IRC), instant messaging, simple mail transfer protocols (SMTP), Ethernet, WiFi and HTTP, and various combinations of the foregoing.
- IRC Internet relay chat channels
- SMTP simple mail transfer protocols
- Ethernet Ethernet
- WiFi and HTTP HTTP
- application 114 is executing on a device remote from mobile device 110 .
- Applications 112 and 114 may send communications to each other over network 202 , and messaging bus 120 may mediate communication between these endpoint references.
- routing module 126 receives communications from application 114 for application 112 over network 202 .
- the communications from application 114 for application 112 may specify application 112 as a destination endpoint reference.
- routing module 126 transmits communications from application 112 for application 114 over network 204 .
- the communications from application 112 for application 114 may specify application 114 as a destination endpoint reference.
- messaging bus 120 may mediate communication between endpoint references. Although a communication may be addressed to a destination endpoint reference, the communication may fail to arrive at the specified endpoint reference for various reasons. In an example, the specified destination address may no longer be valid because the destination address has been removed or changed.
- messaging bus 120 may provide content based routing to route communications based on the content of the communications rather than the endpoint reference specified in the communication.
- routing module 126 views the communication and applies a set of rules to the content of the communication to determine the parties interested in its content. This can relieve an application that sends a communication to another application from having to know the final destination endpoint reference of the communication.
- Registry 130 may include a set of content based routing policies associated with application 112 .
- routing module 126 receives from application 112 a communication specifying application 114 as the destination endpoint reference. When a condition is satisfied, routing module 126 may determine a destination endpoint reference different from application 114 based on the set of content based routing policies.
- a routing policy may specify that communications that specify application 114 , residing in a server in London, as a destination endpoint reference and that are received during business hours in the United States should be rerouted to a backup service running in New York City.
- routing module 126 determines the appropriate destination endpoint reference in New York City and transmits to the backup service running in New York City the communication from application 112 .
- routing module 126 may transmit to application 114 the communication from application 112 .
- Routing module 126 may include additional routing information in registry 130 .
- applications 112 and 114 may communicate via HTTP, and at a later point in time, application 114 may communicate via FTP instead of HTTP.
- Application 114 may send a communication to messaging bus 120 indicating that application 114 communicates via FTP and no longer communicates via HTTP.
- Routing module 126 may also store this information in registry 130 .
- messaging bus 120 may translate any communication for application 114 to a communication based on FTP. Routing module 126 may then transmit the communication based on FTP to application 114 . In this way, it may be unnecessary for application 112 to be aware of changes to protocols or data formats associated with a destination endpoint reference. Messaging bus 120 may handle these messages appropriately.
- FIG. 3 is a simplified flowchart illustrating a method 300 of handling messages using a messaging bus residing on a mobile device, according to an embodiment.
- Method 300 is not meant to be limiting and may be used in other applications.
- Method 300 includes steps 310 - 370 .
- a first application is registered via a messaging bus residing on a mobile device.
- register module 122 registers application 114 via messaging bus 120 residing on mobile device 110 .
- a second application executing on the mobile device is registered via the messaging bus.
- register module 122 registers application 112 executing on the mobile device via messaging bus 120 .
- a communication in a first format is received via the messaging bus, the communication being for the second application.
- routing module 126 receives from application 114 via messaging bus 120 a communication in a first format for application 112 .
- a second format associated with the second application is determined via the messaging bus.
- routing module 126 determines via messaging bus 120 a second format associated with application 112 .
- a step 350 it is determined via the messaging bus whether the first format is different from the second format.
- routing module 126 determines via messaging bus 120 whether the first format is different from the second format.
- a step 360 when the first format is determined to be different from the second format, the communication in the first format is translated via the messaging bus to the second format.
- translation module 128 when the first format is determined to be different from the second format, translation module 128 translates via messaging bus 120 the communication in the first format to the second format.
- the communication in the second format is transmitted to the second application via the messaging bus.
- routing module 126 transmits to application 112 via messaging bus 120 the communication in the second format.
- method 300 may include a step of searching the registry that includes the registration information. It is also understood that one or more of the steps of method 300 described herein may be omitted, combined, or performed in a different sequence as desired.
- FIG. 4 is a block diagram of a computer system 400 suitable for implementing one or more embodiments of the present disclosure.
- host machine 101 may include a client or a server computing device.
- the client or server computing device may include one or more processors.
- the client or server computing device may additionally include one or more storage devices each selected from a group consisting of floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any other medium from which a processor or computer is adapted to read.
- the one or more storage devices may include stored information that may be made available to one or more computing devices and/or computer programs (e.g., clients) coupled to the client or server using a computer network (not shown).
- the computer network may be any type of network including a LAN, a WAN, an intranet, the Internet, a cloud, and/or any combination of networks thereof that is capable of interconnecting computing devices and/or computer programs in the system.
- Computer system 400 includes a bus 402 or other communication mechanism for communicating information data, signals, and information between various components of computer system 400 .
- Components include an input/output (I/O) component 404 that processes a user action, such as selecting keys from a keypad/keyboard, selecting one or more buttons or links, etc., and sends a corresponding signal to bus 402 .
- I/O component 404 may also include an output component such as a display 411 , and an input control such as a cursor control 413 (such as a keyboard, keypad, mouse, etc.).
- An optional audio input/output component 405 may also be included to allow a user to use voice for inputting information by converting audio signals into information signals. Audio I/O component 405 may allow the user to hear audio.
- a transceiver or network interface 406 transmits and receives signals between computer system 400 and other devices via a communication link 418 to a network.
- the transmission is wireless, although other transmission mediums and methods may also be suitable.
- a processor 412 which may be a micro-controller, digital signal processor (DSP), or other processing component, processes these various signals, such as for display on computer system 400 or transmission to other devices via communication link 418 .
- Processor 412 may also control transmission of information, such as cookies or IP addresses, to other devices.
- Components of computer system 400 also include a system memory component 414 (e.g., RAM), a static storage component 416 (e.g., ROM), and/or a disk drive 417 .
- Computer system 400 performs specific operations by processor 412 and other components by executing one or more sequences of instructions contained in system memory component 414 .
- Logic may be encoded in a computer readable medium, which may refer to any medium that participates in providing instructions to processor 412 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
- non-volatile media includes optical, or magnetic disks, or solid-state drives
- volatile media includes dynamic memory, such as system memory component 414
- transmission media includes coaxial cables, copper wire, and fiber optics, including wires that include bus 402 .
- the logic is encoded in non-transitory computer readable medium.
- transmission media may take the form of acoustic or light waves, such as those generated during radio wave, optical, and infrared data communications.
- Computer readable media include, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EEPROM, FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer is adapted to read.
- execution of instruction sequences to practice the present disclosure may be performed by computer system 400 .
- a plurality of computer systems 400 coupled by communication link 418 to the network e.g., such as a LAN, WLAN, PTSN, and/or various other wired or wireless networks, including telecommunications, mobile, and cellular phone networks
- the network e.g., such as a LAN, WLAN, PTSN, and/or various other wired or wireless networks, including telecommunications, mobile, and cellular phone networks
- various embodiments provided by the present disclosure may be implemented using hardware, software, or combinations of hardware and software. Also where applicable, the various hardware components and/or software components set forth herein may be combined into composite components including software, hardware, and/or both without departing from the spirit of the present disclosure. Where applicable, the various hardware components and/or software components set forth herein may be separated into sub-components including software, hardware, or both without departing from the spirit of the present disclosure. In addition, where applicable, it is contemplated that software components may be implemented as hardware components, and vice-versa.
- Application software in accordance with the present disclosure may be stored on one or more computer readable mediums. It is also contemplated that the application software identified herein may be implemented using one or more general purpose or specific purpose computers and/or computer systems, networked and/or otherwise. Where applicable, the ordering of various steps described herein may be changed, combined into composite steps, and/or separated into sub-steps to provide features described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
-
- A. Mobile Application Communicating With Another Mobile Application
- 1. Registration Information
- 2. Communication Between Applications
- 3. Compatible Formats
- B. Mobile Application Communicating With a Remote Application
- C. Content Based Routing
- A. Mobile Application Communicating With Another Mobile Application
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/777,420 US9135090B2 (en) | 2013-02-26 | 2013-02-26 | Messaging bus residing on a mobile device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/777,420 US9135090B2 (en) | 2013-02-26 | 2013-02-26 | Messaging bus residing on a mobile device |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140245322A1 US20140245322A1 (en) | 2014-08-28 |
US9135090B2 true US9135090B2 (en) | 2015-09-15 |
Family
ID=51389654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/777,420 Active 2033-06-29 US9135090B2 (en) | 2013-02-26 | 2013-02-26 | Messaging bus residing on a mobile device |
Country Status (1)
Country | Link |
---|---|
US (1) | US9135090B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160124782A1 (en) * | 2014-10-31 | 2016-05-05 | Scott Gruby | Systems and methods for communication between independent component blocks in mobile application modules |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110029988A1 (en) * | 2009-08-03 | 2011-02-03 | Qualcomm Incorporated | Methods and apparatus for facilitating application inter-communications |
US20120117534A1 (en) * | 2010-10-22 | 2012-05-10 | Ieverywhere, Inc. | Systems and methods for creating integrated applications for electronic devices |
US20140157113A1 (en) * | 2012-11-30 | 2014-06-05 | Ricoh Co., Ltd. | System and Method for Translating Content between Devices |
US20140188980A1 (en) * | 2013-01-03 | 2014-07-03 | Tapjoy, Inc. | Completing mobile app conversions |
US8868757B1 (en) * | 2006-05-24 | 2014-10-21 | Avaya Inc. | Two-way web service router gateway |
-
2013
- 2013-02-26 US US13/777,420 patent/US9135090B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868757B1 (en) * | 2006-05-24 | 2014-10-21 | Avaya Inc. | Two-way web service router gateway |
US20110029988A1 (en) * | 2009-08-03 | 2011-02-03 | Qualcomm Incorporated | Methods and apparatus for facilitating application inter-communications |
US20120117534A1 (en) * | 2010-10-22 | 2012-05-10 | Ieverywhere, Inc. | Systems and methods for creating integrated applications for electronic devices |
US20140157113A1 (en) * | 2012-11-30 | 2014-06-05 | Ricoh Co., Ltd. | System and Method for Translating Content between Devices |
US20140188980A1 (en) * | 2013-01-03 | 2014-07-03 | Tapjoy, Inc. | Completing mobile app conversions |
Also Published As
Publication number | Publication date |
---|---|
US20140245322A1 (en) | 2014-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237238B2 (en) | Regional firewall clustering in a networked computing environment | |
KR102277186B1 (en) | Delivery of application services through application service avatars | |
CN102246489A (en) | Systems and methods for connection management for asynchronous messaging over http | |
US10594804B2 (en) | Directory service discovery and/or learning | |
WO2014090088A1 (en) | Method, server, and system for data sharing in social networking service | |
US11776273B1 (en) | Ensemble of machine learning models for automatic scene change detection | |
US20170324686A1 (en) | System and method for secure and efficient communication within an organization | |
US9871848B1 (en) | Integration engine for communications between source and target applications | |
JP6865593B2 (en) | Content delivery across non-uniform networks | |
CN115811546B (en) | System and method for realizing network collaborative distributed processing by scientific and technological service | |
US11314787B2 (en) | Temporal resolution of an entity | |
CN108829753A (en) | A kind of information processing method and device | |
US9407546B2 (en) | Routing a message using a routing table in a dynamic service mesh | |
US10979515B1 (en) | Resource discovery agent computing device, software application, and method | |
CN110545230B (en) | Method and device for forwarding VXLAN message | |
JP2014063430A (en) | Communication control device, message transfer method and message transfer program | |
US9521087B1 (en) | Servicing requests using multiple data release cycles | |
US11521250B2 (en) | Method and apparatus for providing digital product using user account synchronization | |
US8819107B2 (en) | Relay apparatus, recording medium storing a relay program, and a relay method | |
US9135090B2 (en) | Messaging bus residing on a mobile device | |
US9189560B2 (en) | Discovery of asset information through scanning of communication tags associated with assets | |
US9860326B2 (en) | Duplex services residing in a messaging bus | |
CN105389355B (en) | Data processing method and terminal | |
US9838507B2 (en) | System and method for providing redirection of Bluetooth devices | |
CN112887162B (en) | Method and apparatus for detecting anomalies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: RED HAT, INC., NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LITTLE, MARK CAMERON;REEL/FRAME:030344/0699 Effective date: 20130315 Owner name: RED HAT, INC., NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LITTLE, MARK CAMERON;REEL/FRAME:030344/0862 Effective date: 20130315 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |