Source: http://patents.com/us-9781065.html
Timestamp: 2019-10-18 08:56:40
Document Index: 714374075

Matched Legal Cases: ['arty 106', 'arty 106', 'arty 106', 'arty 106', 'arty 106', 'arty 106', 'arty 106']

US Patent # 9,781,065. Lightweight application integration for mobile cloud computing - Patents.com
United States Patent 9,781,065
Fu , et al. October 3, 2017
Lightweight application integration for mobile cloud computing
Disclosed herein are technologies to provide lightweight software applications deployable on mobile devices that allow users and intermediary solution providers to receive specific data or information from application or solutions. In accordance with one aspect, a configuration file is uploaded and an input message is received from a user. The input message is mapped to one or more commands related to the configuration file, and the one or more mapped commands is run in order to extract data requested by the input message.
Fu; Liang (Shanghai, CN), Yin; Xiaoyu (Shanghai, CN)
Family ID: 1000002868998
14/583,177
US 20160192106 A1 Jun 30, 2016
Current CPC Class: H04L 51/18 (20130101); H04L 51/16 (20130101); H04W 4/001 (20130101); H04W 4/12 (20130101)
Current International Class: H04L 12/58 (20060101); H04W 4/00 (20090101); H04W 4/12 (20090101)
8972533 March 2015 Roka
2007/0178891 August 2007 Louch
2013/0013671 January 2013 Relan
2013/0191384 July 2013 Demattei
2014/0120901 May 2014 Ward
1. A method for sending data to a user comprising: uploading a configuration file in an intermediary server, wherein the configuration file defines a menu; invoking, at a mobile computing device of the user, a lightweight application to display the menu in a graphical user interface; displaying, at the device, a first text message in response to the user selecting the menu in the graphical user interface; receiving, by the intermediary server, the first text message from the lightweight application; mapping, by the intermediary server, the first text message to one or more commands supported by the configuration file; running, in an application associated with the intermediary server, the one or more mapped commands in order to extract data requested by the first text message; and displaying, by the lightweight application, a second text message containing the extracted data in a conversation history that includes the first text message.
2. The method of claim 1, wherein the data is one or both of a multimedia object or text.
3. The method of claim 1, wherein the data is extracted from an application, a webpage, a database or a combination thereof.
4. The method of claim 1, wherein the configuration file supports a predefined shortcut related to the data.
5. The method of claim 4, wherein mapping the first text message includes parsing the first text message for the predefined shortcut.
6. The method of claim 1 further comprises drilling down to a system, application, solution or web page in response to a tap on the second text message.
7. The method of claim 1, wherein the first text message is presented in a predefined pattern.
8. The method of claim 1 further comprising sending the data to the user to be displayed on a user device.
9. The method of claim 8, wherein the display is a predefined layout defined by the configuration file.
10. A device comprising: one or more processors; and memory coupled to the one or more processors configured to: upload a configuration file in an intermediary server, wherein the configuration file defines a menu; invoke a lightweight application residing in a user device to display the menu; display a first text message in response to a user selecting the menu displayed by the lightweight application; parse the first text message from the lightweight application; map the first text message to one or more commands supported by the configuration file; invoke an accessed application associated with the intermediary server to run the one or more mapped commands in order to extract data requested by the first text message; and invoke the lightweight application to display a second text message containing the extracted data in a conversation history that includes the first text message.
11. The device of claim 10, wherein the configuration file includes a shortcut related to the data.
12. The device of claim 10, wherein the parsed first text message includes a shortcut.
13. The device of claim 10, wherein the data is a multimedia object, text or a combination thereof.
14. The device of claim 10, wherein the data is extracted from the application, a webpage, database or a combination thereof.
15. The device of claim 10, wherein the second text message includes rich text that enables drilling down.
16. The device of claim 10, wherein the memory is further configured to parse the first text message for a shortcut supported by the configuration file.
17. One or more non-transitory computer-readable media storing processor-executable instructions that when executed cause one or more processors to perform operations comprising: uploading a configuration profile in an intermediary server, wherein the configuration profile specifies supported commands and other pattern information including a menu and a shortcut defining a replacement for a free text command; displaying, at a mobile computing device of the user, the menu in a graphical user interface of a lightweight application residing in the device; displaying, at the device, a first text message in response to the user selecting the menu in the graphical user interface; receiving, by the intermediary server, the first text message from the lightweight application; mapping the first text message to one or more commands supported by the configuration profile; running, in an application associated with the intermediary server, the one or more mapped commands in order to extract information requested by the first text message; and displaying, by the lightweight application, a second text message containing the extracted information in a conversation history that includes the first text message.
18. The one or more computer-readable media of claim 17, wherein the information is text, graphics or a combination thereof.
19. The one or more computer-readable media of claim 17 wherein the configuration profile supports extensible markup language (XML) or JavaScript Object Notation (JSON).
The present disclosure relates generally to allowing users to request and receive specific data or information from network or cloud based application or solution provider.
Software applications or solutions may be provided to end users through an intermediary party that receives the application or solution from a software provider. This may particularly be the case, where network or cloud computing is involved. Mobile computing may be involved, where end users have mobile devices implementing the applications or solutions. Various networks may be involved, including the "cloud."
In certain instances, a user or the intermediary party desires to extend or modify the standard application or solution. Reasons for extending may include the desire to receive specific data or information, such as names, multimedia objects, and the like from databases, webpages, etc.
Several issues arise as to the ability to extend or modify the standard application or solution, including unavailability of add-on applications to a mobile application or solution; the difficulty for the user or intermediary to create or modify a mobile application or solution (e.g., learning Android.TM. Operating System (OS) or iOS.TM. OS); the effort to learn web development for cross browser or form factor; the unified user interface look and feel; and the difficulty to publish, deploy and maintain a mobile application or solution.
FIG. 2 illustrates an exemplary process;
FIG. 3 illustrates an exemplary process;
FIG. 4 illustrates another exemplary process; and
FIG. 5 illustrates an exemplary computing system to implement the technologies described herein.
Described herein is a framework to provide lightweight applications allowing users to request and be provided specific data or information. In certain cases, the requests are relatively simple, and follow a type of a "command to action" model. For example, a user may desire to check a particular customer's account information or show a list of top customers. Top customers may be, for instance, those with accounts larger than 1,000 orders. The user may desire to show an order list with matching customers.
In the description, the terms application and solution may be interchangeable. An application may be a software program that is integrated and maintained by a provider. A solution may refer to an application, and may also refer to a webpage. In certain instances, data or information is extracted from the application or solution, or from other applications, solutions, databases, etc., that are accessed by the application or solution.
In this description, the term "lightweight application" is used. A lightweight application may refer generally to a simplified application that is deployed on a user device, such as a mobile device. A lightweight application may be defined as an application that allows for quick user response, allowing the user to provide simple text or graphical commands, returns simple text or graphical messages to the user, and links to various external applications or solutions such as webpages, extracting particular objects requested by the user. A lightweight application may be further defined as not having a complicated business interaction; in others words, having reduced or simplified user interaction. An advanced message-style interface may be provided by the lightweight application allowing the user to input commands by plain text in a message box to the application or solution (i.e., system). The system may return information or data by sending a message back to the user using the lightweight application. The lightweight application may provide a shortcut menu to replace a free text command. A returned message may link to a system or user defined business object, or external webpage. This may be through a universal resource locator or URL.
FIG. 1 shows an example network or system 100 that implements the technologies described herein. Several users 102 are illustrated. In particular, users 102 may have mobile devices running or accessing applications or solutions. In this description, a lightweight application is deployed on the devices of users 102, such as the mobile devices. Users are connected or provided access to one or more networks 104. Network 104 can include the "cloud."
Intermediary party 106 provides intermediary applications or solutions 108 to users 102. Connection between party 106 and users may be through network 104. Applications or solutions 108 may include configuration files that are created, updated and maintained by the intermediary party 106. In particular, the intermediary party 106 prepares configuration files or profiles. The configuration files or profiles support commands and other pattern information that is provided to a software provider 110. For example, pattern information may include extensible markup language (XML) and JavaScript Object Notation (JSON).
The intermediary party 106 in particular, receives requests from the users 102 and sends data or information regarding such requests back to users 102. In certain cases, there may be more than one intermediary party 106.
The software provider 110 provides an application or solution 112. In certain cases, there may be more than one software provider 110. Application or solution 112 may include software applications, and may also include databases, webpages, and any other product or service that includes or is connected to various objects or object code. In particular, application or solution 112 includes information used by intermediary party 106 and users 102. In addition, desired information or data as requested by users 102 through a lightweight application residing on user 102 devices, may be resident or accessible by the application or solution 112.
FIG. 2 shows an exemplary process 200 for implementing, at least in part, the technology described herein. In particular, process 200 depicts a flow as to providing user specific data from a software provider to a user. The process 200 may be performed by a computing device. An example architecture of such a computer device is described below with reference to FIG. 5.
At 202, a configuration profile or file is uploaded. The configuration file may be unique to a user. The configuration files support commands and other pattern information that may be provided to a software provider. For example, pattern information may include extensible markup language (XML) and JavaScript Object Notation (JSON). Uploading may be performed by an intermediary party.
At 204, a user inputs a message. For example, the message may be input in a message box. The message may be in plain text or graphical. The message may be received by the intermediary party.
At 206, parsing the message to map to a command is performed. The parsing may be performed by the intermediary party. In particularly, the user or input message is parsed and mapped to commands that are defined in the configuration file or profile.
At 208, running the command is performed. The command may particularly be performed at the backend application or solution at a software provider. After the command is performed, output results are generated. For example, a list of customers as requested by the user in the input message may be generated.
At 210, displaying the results is performed. The displaying may be made on the device (e.g., mobile device) of the user. The displayed message may be performed using a layout defined in the configuration profile.
FIG. 3 shows an exemplary process 300 for implementing, at least in part, the technology described herein. In particular, process 300 depicts another example flow as to providing user defined shortcuts for an application or solution. The process 300 may be performed by a computing device. An example architecture of such a computer device is described below with reference to FIG. 5.
At 302, preparing the configuration profile is performed. The preparing may be performed by an intermediary party. The supported configuration profile may include supported commands and other pattern information, such as a predefined shortcut or menu.
At 304, defining or modifying a shortcut menu is performed. The defining or modifying may be performed by a user. For instance, the user may define or modify the shortcut by an input message such as, for example, creating a menu or shortcut "T3" for "top 3 customer names."
At 306, parsing the user or input message is performed. The parsing may be performed by the intermediary party. The parsing may include creating a menu on the screen of the user's device (e.g., mobile device) screen).
At 308, displaying the menu is performed. The displaying may be made on the device (e.g., mobile device) of the user. The displayed message may be performed using a layout defined in the configuration profile.
At 310, saving the shortcut or menu is performed. The saved shortcut or menu may be at the user's device (e.g., mobile device).
FIG. 4 shows an example graphical representation of a user interface implementing the technologies described herein. The representation 400 shows a mobile device, and particularly a mobile device interface. Device screen 402 shows a user initiating a lightweight application as described. The lightweight application launches device screen 404 that shows a menu that allows a user to select particular pertinent data related to "customer." After selecting "Top 3 Name" on the menu, device screen 406 is launched which shows information related to "Brad Thompson" and two other top customers "Emily Powers" and "Amanda Costner." Device screen 408 allows user to pick "Brad Thompson" and then launches into device screen 410 that shows information related to "Brad Thompson." The output message format may be in text or HTML rich text. In certain cases, when a tap is made on the rich text, the lightweight application may allow drilling down to the system, application or solution or from a web page provided by an intermediary party. In certain implementations, the input message may be for a complex case, such as adding a quick order draft. If input messages are not recognized, a default page may be shown.
In most implementations, intermediary providers do not have learn any front end technology for the lightweight application. Intermediary parties may not have to be too concerned about the platform or cross platform issues, e.g., UxStyle. Lightweight applications are relatively easy to publish, deploy and maintain. Users can easily subscribe or unsubscribe to lightweight applications, i.e., lightweight applications may be treated like plugins. End users benefit from a familiar message style interaction. The message style further has a conversation history to allow looking back to. In addition, the message style allows for a drill down capability.
Computer system 500 may also include a secondary memory 510. Secondary memory 510 may include, for example, a hard disk drive 512, a removable storage drive 514, a memory stick, etc. A removable storage drive 514 may comprise a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, or the like. A removable storage drive 514 reads from and/or writes to a removable storage unit 516 in a well-known manner. A removable storage unit 516 may comprise a floppy disk, a magnetic tape, an optical disk, etc., which is read by and written to by removable storage drive 514. As will be appreciated by persons skilled in the relevant art(s) removable storage unit 516 includes a computer usable storage medium 518 having stored therein possibly inter alia computer software and/or data 520.
Computer system 500 may also include a communications interface 534. Communications interface 534 allows software and/or data 538 to be transferred between computer system 500 and external devices. Communications interface 534 may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, or the like. Software and/or data 538 transferred via communications interface 534 are in the form of signals 536 which may be electronic, electromagnetic, optical, or other signals capable of being received by communications interface 534. These signals 536 are provided to communications interface 534 via a communications path 550. Communications path 550 carries signals and may be implemented using a wire or cable, fiber optics, a phone line, a cellular phone link, a Radio Frequency (RF) link or other communication channels.
As used in this document, the terms "computer-program medium," "computer-usable medium," and "computer-readable medium" generally refer to media such as removable storage unit 516, removable storage unit 524, and a hard disk installed in hard disk drive 512. Computer program medium and computer usable medium can also refer to memories, such as main memory 506 and secondary memory 510, which can be memory semiconductors (e.g. Dynamic Random Access Memory (DRAM) elements, etc.). These computer program products are means for providing software to computer system 500.
Previous Patent US 9,781,064 | Next Patent US 9,781,066