METHOD AND SYSTEM FOR PROVIDING ADDITIONAL INFORMATION RELATING TO PRIMARY INFORMATION
20180183752 ยท 2018-06-28
Inventors
Cpc classification
H04L67/60
ELECTRICITY
H04L61/4553
ELECTRICITY
International classification
Abstract
A method for providing additional information relating to primary information accessible via a network, preferable the Internet, is disclosed. The method comprises the steps of: accessing or referencing primary information by an application using address information, said application running on a user equipment, said user equipment running an operating system, extracting said address information via a system interface provided by said operating system, thus generating extracted address information, wherein said extracted address information is part of a data object generated by said system interface, forwarding said extracted address information to a retrieving entity, retrieving additional information based on said extracted address information by said retrieving entity, and forwarding said additional information back to the user equipment for further processing. Besides that, an according system and a computer program product is disclosed.
Claims
1. Method for providing additional information relating to primary information accessible via a network, said method comprising the steps of: providing a retrieving entity and a user equipment, said user equipment comprising a processor and an operating system, said operating system comprising a system interface; accessing or referencing primary information via an application using address information, said application running on said user equipment and being executed by said processor; extracting said address information via the system interface, thus generating extracted address information; generating a data object via the system interface, wherein said data object comprises said generated extracted address information; transmitting said extracted address information to said retrieving entity; retrieving, via execution of the retrieving entity, additional information based on said extracted address information; and transmitting said additional information to said user equipment for further processing.
2. Method according to claim 1, wherein said step of extracting address information comprises reading a text string from an according input box of said application.
3. Method according to claim 1, said method being repeatedly performed, wherein said method is triggered after lapse of a predetermined period of time, respectively.
4. Method according to claim 1, said method being repeatedly performed, wherein said method being triggered by accessing primary information by said application, and wherein a threshold may be provided, said threshold defining the minimum time until said method can be triggered anew.
5. Method according to claim 1, wherein, before performing the step of forwarding extracted address information, said extracted address information is compared with previously extracted address information, wherein said previously extracted address information are extracted during a previous step of extracting address information, and wherein said step of forwarding extracted address information is performed only if the extracted address information differs from the previously extracted address information.
6. Method according to claim 1, wherein, for improving retrieval of additional information, said step of retrieving additional information includes a step of accessing said primary information.
7. Method according to claim 1, additionally comprising a step of displaying said additional information to a user of said user equipment.
8. Method according to claim 7, wherein said additional information is displayed to said user of said user equipment in a predefined area of a display of said user equipment.
9. Method according to claim 1, wherein the network is the Internet.
10. Method according to claim 1, wherein the further processing of said additional information comprises receiving and displaying, at the user equipment, said additional information, said receiving and displaying comprising generation, via the processor, of a customized overlay window illustrating at least a portion of the additional information.
11. Method according to claim 1, wherein the user equipment comprises a memory and a processor, one or more steps of said method being executed via the processor of the user equipment.
12. System for providing additional information relating to primary information accessible via a network, said system comprising: a user equipment running an operating system and at least one application, wherein said at least one application is configured to access said primary information via said network using address information; a monitoring entity, said monitoring entity running on said user equipment and being configured to generate extracted address information by extracting said address information via a system interface provided by said operating system, wherein said extracted address information is part of a data object generated by said system interface; a retrieving entity; and a forwarding entity configured to transmit said extracted address information to said retrieving entity, wherein said retrieving entity is configured to retrieve additional information based on said extracted address information and to transmit said additional information to said user equipment for further processing.
13. System according to claim 12, wherein said system interface is provided by an enhanced accessibility function of the operating system.
14. System according to claim 12, wherein said system interface is provided by a user interface automation function of the operating system.
15. System according to claim 12, wherein said forwarding entity is connected to an evaluation entity, said evaluation entity being configured to receive said extracted address information and to decide, whether the extracted address information is forwarded to said retrieving entity.
16. System according to claim 12, wherein said retrieving entity is connected to a database, said database storing links between extracted address information and additional information.
17. System according to claim 12, wherein said retrieving entity is implemented on said user equipment and/or on a server, wherein said server is connected to said user equipment via a network.
18. System according to claim 12, wherein, in case of the presence of several applications, a monitoring entity and/or forwarding entity is provided for each application to be monitored.
19. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions embodied therein, the computer-readable program code portions comprising at least one executable portion configured for: accessing or referencing primary information via an application using address information, said application running on a user equipment and being executed by a processor of said user equipment, said user equipment further comprising an operating system, said operating system comprising a system interface; extracting said address information via the system interface, thus generating extracted address information; generating a data object via the system interface, wherein said data object comprises said generated extracted address information; transmitting said extracted address information to a retrieving entity; retrieving, via execution of the retrieving entity, additional information based on said extracted address information; and transmitting said additional information to said user equipment for further processing.
20. Computer program product according to claim 19, wherein the at least one executable portion is configured for performing one or more of the recited steps using modules of said operating system.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0040] There are several ways how to design and further develop the teaching of the present invention in an advantageous way. To this end, it is to be referred to the dependent patent claims on the one hand and to the following explanation of preferred embodiments of the invention by way of example, illustrated by the figure on the other hand. In connection with the explanation of the preferred embodiments of the invention by the aid of the figure, generally preferred embodiments and further developments of the teaching will be explained. In the drawings:
[0041]
[0042]
[0043]
[0044]
DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS
[0045]
[0046] The retrieving system 1 comprises a monitoring entity 7, a forwarding entity 8, a retrieving entity 9, an evaluation entity 10, a database 11 storing additional information or links to additional information, and a post-processing entity 12. The monitoring entity 7 is connected to the forwarding entity 8. The forwarding entity 8 is further connected to the evaluation entity 10 and the retrieving entity 9. The retrieving entity may communicate with the database 11 and the post-processing unit 12. In this embodiment, the monitoring entity 7, the forwarding entity 8, the evaluation entity 10 and the post-processing entity 12 are also running on the user equipment 3. The retrieving entity 9 and the database 11 are implemented on one or more remote servers. The retrieving entity 9 may also access the primary information 4.
[0047] During operation, the monitoring entity 7 monitors the application 2 and can extract address information from the application 2 via the system interface 6. To this extend, the monitoring entity 7 may send a system call A to the system interface 6. The system interface 6 interacts with the application (requests A and responses B) and generates a data object containing the desired data. The data object is transmitted to the monitoring entity 7 via a response B. The monitoring entity extracts address information from the data object. This extracted address information is an identical or a shortened copy of address information used at the application for accessing the primary information 4. The address information may, for instance, be contained in an input box of the application 2. After extraction of the address information, the monitoring entity 7 forwards the extracted address information to the forwarding entity 8.
[0048] The forwarding entity 8 sends the extracted address information to the evaluation entity 10. The evaluation entity 10 decides, whether the extracted address information may be forwarded to the retrieving entity 9. To that extent, the evaluation entity 10 may access a whitelist and/or a blacklist and may compare the extracted address information with the entries. If the extracted address information can be found in the whitelist, the extracted address information can be forwarded to the retrieving entity 9. If the extracted address information can be found in the blacklist, the extracted address information must not be forwarded to the retrieving entity 9. If the extracted address information cannot be found in the whitelist and cannot be found in the blacklist, the decision may be taken in different ways. It might be possible to send the extracted address information to an external evaluation system that evaluates the address based on heuristic approaches. It might be possible to ask the user of the user equipment, whether additional information should be retrieved. However, in most such cases, the address information will not be forwarded to the retrieving entity, in order to be least annoying for the user. The address information may be added to a protocol list so that the user can whitelist or blacklist the address information later.
[0049] Additionally, or alternatively, the evaluation entity 10 may store received extracted address information and may compare newly received extracted address information with stored extracted address information (i.e. with previously received extracted address information). If the newly received extracted address information differs from previously received extracted address information, the extracted address information may be forwarded to the retrieving entity. If the newly received extracted address information can be found in the stored address information, the newly received extracted address may be discarded.
[0050] The evaluation entity 10 communicates a forwarding decision back to the forwarding entity 8. If the forwarding decision does not allow forwarding of the extracted address information, the forwarding entity 8 will discard the extracted address information. If the forwarding decision allows forwarding, the forwarding entity 8 forwards the extracted address information to the retrieving entity 9.
[0051] The retrieving entity 9 retrieves additional information based on the extracted address information. In order to fulfil this task, the retrieving entity 9 may access the database 11 that stores additional information or links between address information and additional information. The additional information might be present at the database 11 or might be accessible via a link to another resource. These links between address information and additional information might refer to cheaper offers of other retailer, might refer to reviews or vouchers or might refer to various other pieces of additional information. If the extracted address information is not suitable for retrieving additional information, the retrieving entity 9 may additionally access the primary information for retrieving more details of the primary information.
[0052] The results of this retrieving step are communicated back to the user equipment 3. If no additional information can be found, the results will be an empty list. However, in most cases, additional information will be found and the results will contain one or several entries. At the user equipment 3, the results are received by the post-processing entity 12. This post-processing entity 12 may apply filters on the results. It may aggregate the received pieces of information. Additionally, or alternatively, it may initiate displaying of the results (in original or processed form) to the user.
[0053]
[0054] The system of
[0055] The invention and its embodiments disclosed here, is universally applicable. In connection with the preferred application scenario, a shopping system, it can be used for providing additional information to a user regarding cheaper offers by another retailer, available vouchers, product reviews, technical information, availability or shipping charges at other retailers, etc. The additional information can support a user at collecting relevant information regarding an accessed product.
[0056] As mentioned previously, the various embodiments of the present invention may be implemented in various ways, including as a computer program product. The computer program product may include a non-transitory computer-readable storage medium storing applications, programs, program modules, scripts, source code, program code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like (also referred to herein as executable instructions, instructions for execution, program code, and/or similar terms used herein interchangeably). Such non-transitory computer-readable storage media include all computer-readable media (including volatile and non-volatile media).
[0057] In one embodiment, a non-volatile computer-readable storage medium may include a floppy disk, flexible disk, hard disk, solid-state storage (SSS) (e.g., a solid state drive (SSD), solid state card (SSC), solid state module (SSM)), enterprise flash drive, magnetic tape, or any other non-transitory magnetic medium, and/or the like. A non-volatile computer-readable storage medium may also include a punch card, paper tape, optical mark sheet (or any other physical medium with patterns of holes or other optically recognizable indicia), compact disc read only memory (CD-ROM), compact disc compact disc-rewritable (CD-RW), digital versatile disc (DVD), Blu-ray disc (BD), any other non-transitory optical medium, and/or the like. Such a non-volatile computer-readable storage medium may also include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory (e.g., Serial, NAND, NOR, and/or the like), multimedia memory cards (MMC), secure digital (SD) memory cards, SmartMedia cards, CompactFlash (CF) cards, Memory Sticks, and/or the like. Further, a non-volatile computer-readable storage medium may also include conductive-bridging random access memory (CBRAM), phase-change random access memory (PRAM), ferroelectric random-access memory (FeRAM), non-volatile random-access memory (NVRAM), magnetoresistive random-access memory (MRAM), resistive random-access memory (RRAM), Silicon-Oxide-Nitride-Oxide-Silicon memory (SONOS), floating junction gate random access memory (FJG RAM), Millipede memory, racetrack memory, and/or the like.
[0058] In one embodiment, a volatile computer-readable storage medium may include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page mode dynamic random access memory (FPM DRAM), extended data-out dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate type two synchronous dynamic random access memory (DDR2 SDRAM), double data rate type three synchronous dynamic random access memory (DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), Twin Transistor RAM (TTRAM), Thyristor RAM (T-RAM), Zero-capacitor (Z-RAM), Rambus in-line memory module (RIMM), dual in-line memory module (DIMM), single in-line memory module (SIMM), video random access memory VRAM, cache memory (including various levels), flash memory, register memory, and/or the like. It will be appreciated that where embodiments are described to use a computer-readable storage medium, other types of computer-readable storage media may be substituted for or used in addition to the computer-readable storage media described above.
[0059] As should be appreciated, these embodiments of the present invention may also be implemented as methods, apparatus, systems, computing devices, computing entities, and/or the like, all as previously described herein. As such, embodiments of the present invention may take the form of an apparatus, system, computing device, computing entity, and/or the like executing instructions stored on a computer-readable storage medium to perform certain steps or operations.
[0060] Various embodiments will now be described below with reference to block diagrams and flowchart illustrations of apparatuses, methods, systems, and computer program products. It should be understood that each block of any of the block diagrams and flowchart illustrations, respectively, may be implemented in part by computer program instructions, e.g., as logical steps or operations executing on a processor in a computing system. These computer program instructions may be loaded onto a computer, such as a special purpose computer or other programmable data processing apparatus to produce a specifically-configured machine, such that the instructions which execute on the computer or other programmable data processing apparatus implement the functions specified in the flowchart block or blocks.
[0061] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the functionality specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart block or blocks.
[0062] Accordingly, blocks of the block diagrams and flowchart illustrations support various combinations for performing the specified functions, combinations of operations for performing the specified functions and program instructions for performing the specified functions. It should also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, could be implemented by special purpose hardware-based computer systems that perform the specified functions or operations, or combinations of special purpose hardware and computer instructions.
[0063]
[0064] The user equipment 200 of
[0065] In addition, the user equipment 200 includes at least one storage device or program storage 210, such as a hard disk drive, a floppy disk drive, a CD Rom drive, or optical disk drive, for storing information on various computer-readable media, such as a hard disk, a removable magnetic disk, or a CD-ROM disk. As will be appreciated by one of ordinary skill in the art, each of these storage devices 210 are connected to the bus 235 by an appropriate interface. The storage devices 210 and their associated computer-readable media provide nonvolatile storage for a personal computer. As will be appreciated by one of ordinary skill in the art, the computer-readable media described above could be replaced by any other type of computer-readable media known in the art. Such media include, for example, magnetic cassettes, flash memory cards, digital video disks, and Bernoulli cartridges.
[0066] Although not shown, according to an embodiment, the storage device 210 and/or memory of the user equipment 200 may further provide the functions of a data storage device, which may any of a variety of data that may be accessed by the user equipment 200. In this regard, the storage device 210 may comprise one or more databases. The term database refers to a structured collection of records or data that is stored in a computer system, such as via a relational database, hierarchical database, or network database and as such, should not be construed in a limiting fashion. The term database in this context, should also be considered interchangeable with the database 11 described previously herein.
[0067] Remaining with
[0068] In various embodiments, the program modules 400, 500, 600, 700 are executed by the user equipment 200 and are configured to generate one or more graphical user interfaces, reports, instructions, and/or notifications/alerts, all accessible and/or transmittable to various users. In certain embodiments, the user interfaces, reports, instructions, and/or notifications/alerts may be accessible via one or more networks 130, which may include the Internet or other feasible communications network, as previously discussed.
[0069] In various embodiments, it should also be understood that one or more of the modules 400, 500, 600, 700 may be alternatively and/or additionally (e.g., in duplicate) stored locally or on a central server (or elsewhere), as also described previously herein. According to various embodiments, the modules 400, 500, 600, 700 may send data to, receive data from, and utilize data contained in one or more databases, which may be comprised of one or more separate, linked and/or networked databases.
[0070] In various embodiments, it should also be understood that one or more of the modules 400, 500, 600, 700 are interchangeable and/or analogous to any one or more of the monitoring entities 7, 7, 7, 7; the forwarding entities 8, 8, 8, 8; the evaluation entity 10; the post-processing entity 12; and/or the retrieving entity 9all as previously described herein. Specifically, as stated previously herein, the entities listed above may be implemented as modules, which should be understood in this context with reference to
[0071] Also located within the user equipment 200 according to certain embodiments is a network interface 260 for interfacing and communicating with other elements of the one or more networks. It will be appreciated by one of ordinary skill in the art that one or more of the user equipment 200 components may be located geographically remotely from other server components. For example, as detailed previously herein, the retrieving entity 9 (or an exemplary module representative thereof) may not be located on the user equipment 200 itself; it may instead be located on a remote server.
[0072] Still further, while the foregoing describes a single processor 230, as one of ordinary skill in the art will recognize, the user equipment 200 may comprise multiple processors operating in conjunction with one another to perform the functionality described herein. In addition to the memory 220, the processor 230 can also be connected to at least one interface or other means for displaying, transmitting and/or receiving data, content or the like. In this regard, the interface(s) can include at least one communication interface or other means for transmitting and/or receiving data, content or the like, as well as at least one user interface that can include a display and/or a user input interface, as will be described in further detail below. The user input interface, in turn, can comprise any of a number of devices allowing the user equipment 200 to receive data from a user, such as a keypad, a touch display, a joystick or other input device.
[0073]
[0074] The signals provided to and received from the transmitter 304 and the receiver 306, respectively, may include signaling data in accordance with an air interface standard of applicable wireless systems to communicate with various entities, such as the user equipment 3, the user equipment 200, and/or the like. In this regard, the mobile device 300 may be capable of operating with one or more air interface standards, communication protocols, modulation types, and access types. More particularly, the mobile device 300 may operate in accordance with any of a number of wireless communication standards and protocols. In a particular embodiment, the mobile device 300 may operate in accordance with multiple wireless communication standards and protocols, such as GPRS, UMTS, CDMA2000, 1RTT, WCDMA, TD-SCDMA, LTE, E-UTRAN, EVDO, HSPA, HSDPA, Wi-Fi, WiMAX, UWB, IR protocols, Bluetooth protocols, USB protocols, and/or any other wireless protocol.
[0075] Via these communication standards and protocols, the mobile device 300 may according to various embodiments communicate with various other entities using concepts such as Unstructured Supplementary Service data (USSD), Short Message Service (SMS), Multimedia Messaging Service (MMS), Dual-Tone Multi-Frequency Signaling (DTMF), and/or Subscriber Identity Module Dialer (SIM dialer). The mobile device 300 can also download changes, add-ons, and updates, for instance, to its firmware, software (e.g., including executable instructions, applications, program modules), and operating system.
[0076] According to one embodiment, the mobile device 300 may include a location determining device and/or functionality. For example, the mobile device 300 may include a GPS module adapted to acquire, for example, latitude, longitude, altitude, geocode, course, and/or speed data. In one embodiment, the GPS module acquires data, sometimes known as ephemeris data, by identifying the number of satellites in view and the relative positions of those satellites.
[0077] The mobile device 300 may also comprise a user interface (that can include a display 316 coupled to a processing element 308) and/or a user input interface (coupled to a processing element 308). The user input interface can comprise any of a number of devices allowing the mobile device 300 to receive data, such as a keypad 318 (hard or soft), a touch display, voice or motion interfaces, or other input device. In embodiments including a keypad 318, the keypad can include (or cause display of) the conventional numeric (0-9) and related keys (#, *), and other keys used for operating the mobile device 300 and may include a full set of alphabetic keys or set of keys that may be activated to provide a full set of alphanumeric keys. In addition to providing input, the user input interface can be used, for example, to activate or deactivate certain functions, such as screen savers and/or sleep modes.
[0078] The mobile device 300 can also include volatile storage or memory 322 and/or non-volatile storage or memory 324, which can be embedded and/or may be removable. For example, the non-volatile memory may be ROM, PROM, EPROM, EEPROM, flash memory, MMCs, SD memory cards, Memory Sticks, CBRAM, PRAM, FeRAM, RRAM, SONOS, racetrack memory, and/or the like. The volatile memory may be RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, RIMM, DIMM, SIMM, VRAM, cache memory, register memory, and/or the like. The volatile and non-volatile storage or memory can store databases, database instances, database mapping systems, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like to implement the functions of the mobile device 300.
[0079] The mobile device 300 may also include one or more of a camera 326 and a mobile application 330 (considered interchangeable and/or analogous to the applications 2, 2, 2, 2all as previously described herein). The camera 326 may be configured according to various embodiments as an additional and/or alternative data collection feature, whereby one or more items may be read, stored, and/or transmitted by the mobile device 300 via the camera. The mobile application 330 may further provide a feature via which various tasks may be performed with the mobile device 300; it should be understood that the mobile application 330 may be configured substantially the same as (and thus provide comparable functionality as) the applications 2, 2, 2, 2 previously described herein. Various configurations may be provided, as may be desirable for one or more users of the mobile device 300 (and/or the invention described herein) as a whole.
[0080] Many modifications and other embodiments of the invention set forth herein will come to mind to the one skilled in the art to which the invention pertains having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
LIST OF REFERENCE SIGNS
[0081] 1 Retrieving System [0082] 2 Application [0083] 3 User Equipment [0084] 4 Storage for primary information [0085] 5 Network Link [0086] 6 System Interface [0087] 7 Monitoring Entity [0088] 8 Forwarding Entity [0089] 9 Retrieving Entity [0090] 10 Evaluation Entity [0091] 11 Database (storing additional information [0092] 12 Post-Processing Entity [0093] A System Call [0094] B Response with Address Information [0095] 200 User Equipment [0096] 210 Program Storage [0097] 220 Memory [0098] 222 RAM [0099] 224 BIOS [0100] 226 ROM [0101] 230 Processor [0102] 235 Bus [0103] 250 Display/Input Device [0104] 260 Network Interface [0105] 280 Operating System [0106] 400 Exemplary Module [0107] 500 Exemplary Module [0108] 600 Exemplary Module [0109] 700 Exemplary Module [0110] 300 Mobile Device [0111] 304 Transmitter [0112] 306 Receiver [0113] 308 Processing Device [0114] 312 Antenna [0115] 316 Display [0116] 318 Keypad [0117] 322 Volatile Memory [0118] 324 Non-Volatile Memory [0119] 326 Camera [0120] 330 Application