1. Field of the Invention
This disclosure generally relates to communications applications, and more particularly, to a communications system, a communication device and a method for accessing a cross-platform service.
2. Description of the Related Art
As the popularity of mobile devices has grown, many different types of computing devices have become available to users. Those mobile devices may operate on different operating platforms, each platform having its own specifications, libraries, etc. As a result, a mobile application that can be executed on one operating platform is often not compatible with other operating platforms.
Traditionally, an application developer predefines how a mobile device using a mobile application accesses a cross-platform service, such as an application, a service and so on, from other devices when designing the mobile application. Often, the mobile application must be both installed in the mobile device at the user side, and the other device at the server side so that the mobile device can access the cross-platform service from the other device.
Accordingly, there exists a need for a system, a device, and method that allows users, regardless of their mobile device or platform, to access the cross-platform service from the other device without installing the mobile application on the operating platform of the mobile device.
In a preferred embodiment, the invention is directed to a communications system for accessing a cross-platform service. The communications system comprises a first communication device comprising a service demander and a second communication device comprising a service provider. The service demander transmits an advanced device information request to the second communication device for requesting advanced device information according to an IP address of the second communication device via a network. The service provider transmits a device information response including the advanced device information to the service demander of the first communication device, wherein the advanced device information at least includes a service list.
In some embodiments, the second communication device further comprises an application mapping to a service recorded in the service list. The service demander transmits a launch request to the second communication device for launching the service; the service provider launches the application mapped to the service, transmits application-launching information to the application, and transmits service-launching information to the service demander of the first communication device; and the service demander launches the service according to the service-launching information. In some embodiments, the service-launching information at least includes a uniform resource locator (URL) and parameters of the service. In some embodiments, the second communication device further comprises a Web server. The application starts the Web server and transmits the application-launching information to the Web server. In some embodiments, the service provider further generates the service-launching information according to registration information received from the application during an application registration procedure before transmitting the service-launching information. In some embodiments, the service provider generates the service-launching information according to application return information transmitted by the application before transmitting the service-launching information. The application return information at least includes the URL and the parameters of the service. In some embodiments, the service demander opens a browser to access the service according to the URL after receiving the service-launching information. In some embodiments, after the service provider launches the application, the application generates the service-launching information and transmits the service-launching information to the service provider. The service-launching information at least includes a launch path and parameters of the service. In some embodiments, after the service provider transmits the service-launching information, the service demander starts up a first application to access the service according to the launch path and transmits the service-launching information and the IP address of the second communication device to the first application; the first application establishes a network connection with the application of the second communication device according to an IP address of the first communication device and the IP address of the second communication device to launch the service through the first application. In some embodiments, the application-launching information at least includes launch parameters and an IP address of the first communication device. In some embodiments, the service list includes a list of services mapped to respective applications.
In a preferred embodiment, the invention is directed to a communication device for accessing a cross-platform service. The communication device comprises a memory and a processor comprising a service provider. The service provider detects that an application is installed in the communication device, checks whether application information of the application contains pre-defined information, and performs an application registration procedure after checking that the application information of the application contains the pre-defined information.
In some embodiments, the application registration procedure performed by the service provider further comprises: launching the application for registration; and receiving registration information from the application via a registration interface, wherein the registration information comprises device/service information used to register the application. In some embodiments, the pre-defined information at least comprises a uniform resource locator (URL), a uniform source identifier (URI), or header information. In some embodiments, the application registration procedure performed by the service provider further comprises: detecting that the application is removed from the communication device; checking whether the application information of the application contains the pre-defined information; and removing the application information and the registration information after checking that the application information of the application contains the pre-defined information.
In a preferred embodiment, the invention is directed to a method for accessing a cross-platform service, used in a communications system. The method comprises: transmitting, by a service demander of a first communication device, an advanced device information request to a second communication device for requesting advanced device information according to an IP address of the second communication device via a network; and transmitting, by a service provider of the second communication device, a device information response including the advanced device information to the service demander of the first communication device, wherein the advanced device information at least includes a service list.
In a preferred embodiment, the invention is directed to a method for accessing a cross-platform service, used in a communication device. The method comprises: detecting that an application is installed in the communication device; checking whether application information of the application contains pre-defined information; and performing an application registration procedure when checking that the application information of the application contains the pre-defined information.
In a preferred embodiment, the invention is directed to a method for accessing a cross-platform service, used in a communication device. The method comprises: transmitting an advanced device information request to a second communication device for requesting advanced device information according to an IP address of the second communication device via a network; receiving a device information response including the advanced device information from the second communication device, wherein the advanced device information at least includes a service list; transmitting a launch request to the second communication device for launching a service recorded in the service list; receiving service-launching information from the second communication device; and launching the service according to the service-launching information.
In a preferred embodiment, the invention is directed to a method for accessing a cross-platform service, the method being used in a communication device. The method comprises: receiving an advanced device information request from a first communication device for requesting advanced device information via a network; transmitting a device information response including the advanced device information to the first communication device, wherein the advanced device information at least includes a service list; receiving a launch request from the first communication device for launching a service recorded in the service list; launching an application mapped to the service and transmitting application-launching information to the application; and transmitting service-launching information to the service demander of the first communication device.
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
Several exemplary embodiments of the present disclosure are described with reference to
The first communication device 110 and the second communication device 120 may be any device under control of a user and are capable of requesting and receiving data with each other via the network 130. For example, the first communication device 110 and the second communication device 120 can be a mobile phone, a TV, and so on. Although the first communication device 110 and the second communication device 120 is represented as a mobile phone and a TV in
In
In the embodiment, the service provider can generate a service list recording the services registered to the service provider after performing an application registration procedure. The service list can be stored in the memory 210 of
In another embodiment, the application may include metadata information. After detecting the metadata information, the service provider can read the application directly and complete the registration of the application.
In step S605, a universal plug and play (UPnP) control point of the first communication device multicasts a Multicast-search (M-search) message. Then, in step S610, the UPnP device of the second communication device transmits a notify message including an IP address of the second communication device to the UPnP control point. Next, in step S615, the UPnP control point transmits basic device information to the service demander of the first communication device according to the notify message, wherein the basic device information at least includes the IP address of the second communication device. In step S620, the service demander of the first communication device transmits an advanced device information request to the service provider of the second communication device for requesting advanced device information according to the IP address via the network, for example such as a TCP/IP network, UDP, HTTP, etc. In step S625, the service provider of the second communication device transmits a device information response including the advanced device information to the service demander of the first communication device after receiving the advanced device information request, wherein the advanced device information at least includes a service list and the details information of the services. It should be noted that although the service discovery between proximity devices is performed via the Simple Service Discovery Protocol (SSDP) protocol of the UPnP control point in the invention, Bonjour (mDNS) protocol can also be used for service discovery.
According to different access requirements of the first communication device, the second communication device can launch an APP mapping to a service requested by the service demander of the first communication device by the following two types:
Type 1:
In Type 1, the first communication device can use a browser to access the service of the second communication device.
Type 2:
In Type 2, the first communication device can use a first application to access the service of the second communication device.
In step S705, the service demander of the first communication device transmits a launch request to the service provider of the second communication device for launching a service related to a Web via the network, such as a TCP/IP network, UDP, HTTP, etc. It should be noted that the service related to the Web is recorded in the service list stored in the second communication device. In step S710, the service provider launches the application mapped to the service and transmits application-launching information to the application, wherein the application-launching information at least includes launch parameters and an IP address of the first communication device. Then, in step S715, the application can start a Web server according to the launch request, and transmits the application-launching information to the Web server. Next, in step S720, the service provider can generate the service-launching information according to registration information received from the application in
Next, in step S725, the service provider transmits the service-launching information to the service demander of the first communication device. In step S730, the service demander transmits the URL to the browser and opens the browser to access the service according to the URL of the service-launching information.
In step S805, the service demander of the first communications transmits a launch request to the service provider of the second communication device for launching the service of the second communication device via the network, such as a TCP/IP network, UDP, HTTP, etc. It should be noted that the service is recorded in the service list stored in the second communication device. In step S810, the service provider launches the second application mapped to the service and transmits application-launching information to the second application, wherein the application-launching information at least includes launch parameters and an IP address of the first communication device. Then, in step S815, the second application can generate the service-launching information, wherein the service-launching information at least includes a launch path and parameters of the service. In step S820, the second application transmits the service-launching information to the service provider, wherein the service-launching information at least includes a launch path and parameters of the service. In step S825, the service provider transmits the service-launching information to the service demander of the first communication device. In step S830, the service demander starts up the first application to access the service according to the launch path and transmits the service-launching information and the IP address of the second communication device to the first application. In step S835, the first application establishes a network connection with the second application of the second communication device according to an IP address of the first communication device and the IP address of the second communication device to launch the service through the first application.
In another embodiment, the mobile phone 1210 also operates as the first communication device in
Thus, embodiments described herein create a communications system, a communication device and a method for accessing a cross-platform service in a wireless communications system. The cross-platform services can only be installed at the communication device at the service-provider side, and the communication device at the service-demander side can uses an application or a browser to access the service at the service-provider side, based on the embodiments described, herein. Overall, embodiments described herein allow users to access any application service on any device easily and with low-cost of resources.
Use of ordinal terms such as “first”, “second”, “third”, etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having the same name (but for use of the ordinal term) to distinguish the claim elements.
Those with skill in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Those with skill in the art will further appreciate that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware (e.g., a digital implementation, an analog implementation, or a combination of the two, which may be designed using source coding or some other technique), various forms of program or design code incorporating instructions (which may be referred to herein, for convenience, as “software” or a “software module”), or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
In addition, the various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented within or performed by an integrated circuit (“IC”), an access terminal, or an access point. The IC may comprise a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, electrical components, optical components, mechanical components, or any combination thereof designed to perform the functions described herein, and may execute codes or instructions that reside within the IC, outside of the IC, or both. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
It should be understood that any specific order or hierarchy of steps in any disclosed process is an example of a sample approach. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged while remaining within the scope of the present disclosure. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
The steps of a method or algorithm described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module (e.g., including executable instructions and related data) and other data may reside in a data memory such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of computer-readable storage medium known in the art. A sample storage medium may be coupled to a machine such as, for example, a computer/processor (which may be referred to herein, for convenience, as a “processor”) such that the processor can read information (e.g., code) from and write information to the storage medium. A sample storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in user equipment. In the alternative, the processor and the storage medium may reside as discrete components in user equipment. Moreover, in some aspects any suitable computer-program product may comprise a computer-readable medium comprising codes relating to one or more of the aspects of the disclosure. In some aspects a computer program product may comprise packaging materials.
While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. On the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
This application claims priority of U.S. Provisional Patent Application No. 62/114,252, filed on Feb. 10, 2015, the entirety of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
62114252 | Feb 2015 | US |