US20080288486A1 - Method and system for aggregate web site database price watch feature - Google Patents
Method and system for aggregate web site database price watch feature Download PDFInfo
- Publication number
- US20080288486A1 US20080288486A1 US12/119,309 US11930908A US2008288486A1 US 20080288486 A1 US20080288486 A1 US 20080288486A1 US 11930908 A US11930908 A US 11930908A US 2008288486 A1 US2008288486 A1 US 2008288486A1
- Authority
- US
- United States
- Prior art keywords
- price
- product
- data
- client machine
- web
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Definitions
- Web sites host and provide information using web pages that are communicated electronically via a telecommunications network. Accessing this information by some client computing devices can be challenging.
- Computing devices are becoming smaller and increasingly utilize wireless connectivity. Examples of such computing devices include portable computing devices that include wireless network browsing capability as well as telephony and personal information management capabilities.
- FIG. 1 is schematic representation of a system for content navigation.
- FIG. 2 is a schematic representation of a wireless communication device from FIG. 1 .
- FIG. 5 is a schematic representation of tables in an aggregate web site search database for e-commerce.
- FIGS. 8A-8D and 9 A- 9 D respectively illustrate representative web pages rendered on a first browser window and portions of said representative web pages transcoded and rendered on a second browser window in accordance with an embodiment.
- WAP Wireless Application Protocol
- RSS Really Simple Syndication
- Signature schema documents may be pre-defined using a query language to provide instructions for application by an engine to extract data from web pages of respective web sites for storage to an aggregate database.
- signature schema instructions identify a web page family for the web page and extract desired data from the web page in accordance with its web page family.
- the instructions use signatures previously identified within web pages of the same family to distinguish the web page family (e.g. in accordance with a shared template for each family) from others of the web site and to distinguish the desired data from other data for the web page family.
- a gateway server may receive data (e.g. web page) from a web site and apply signature schema instructions maintained in a repository coupled to the engine.
- Extracted data can be cached to a database coupled to the engine to facilitate querying of the data to enable aggregate results to be presented to a client machine (e.g. a wireless communication device).
- the aggregate database can be queried based upon defined user criteria such as price changes of an item and provide appropriate notification to the client machine when changes occur.
- a method of providing aggregate web site price watch feature comprising: receiving a price watch request for a product from a client machine comprising a threshold price for the product; generating a query to an aggregate database for the product; retrieving data from the aggregate database containing information provided from one or more web sites, extracted by parsing received web site data by an associated signature schema; determining when the threshold price has been satisfied; retrieving one or more product details from the aggregate database when the threshold price has been satisfied; and notifying the client machine that the price threshold was satisfied.
- a system for providing aggregate web site database price watch feature comprising: at least one computing device comprising a processor and a memory coupled thereto, said memory storing instructions and data for configuring the processor to provide an engine to: receive a price watch request for a product from a client machine comprising a threshold price; generate a query to an aggregate web site database for the requested product; retrieve data from the aggregate database containing information provided from one or more web sites extracted by parsing received web site data by and associate signature schema; determine if the threshold price is satisfied; retrieve one ore more product details from the aggregate database when the product price threshold has been satisfied; and notify the client machine that the price threshold was satisfied.
- system 100 comprises one or more of client computing devices in the form of client machines 102 A and 102 B (collectively 102 ), web site servers 106 , 107 and 109 respectively host web sites 104 , 103 and 105 and a gateway and schema server 120 .
- Machines 102 are respectively coupled to communicate with gateway and schema server 120 to obtain web pages (e.g. 110 ) transcoded from web sites 103 , 104 and 105 and to access aggregate data from the web sites through web server 125 hosting web site 150 .
- web sites 103 , 104 and 105 host web sites which contain data that is to be aggregated into database 126 .
- web site 104 comprises a web server 106 serving web pages (e.g. 110 ) defined from one or more web page family templates 108 A- 108 D (collectively 108 ) and web page content (described further herein below) from data store 112 .
- gateway and schema server 120 is coupled to a schema repository 124 from which to obtain a signature schema 122 for a particular web site.
- Signature schema documents (e.g. 122 ) provide instructions and data with which an engine 140 of server 120 can extract data from web pages (e.g.
- a web server 125 is coupled to the aggregate web site database 126 to enable access to the aggregated web site database 126 data by a web site 150 .
- the web server 125 can also provide a data collection engine 150 , or web crawler, for sending requests to web sites 103 , 104 and 105 for desired pages and provide content to schema engine 140 for processing.
- Representative client machines 102 include any type of computing or electronic device that can be used to communicate and interact with content available via web sites. Each of the client machines 102 may be operated by a respective user U (not shown). Interaction with a particular user includes presenting information on a client machine (e.g. by rendering on a display screen) as well as receiving input at a client machine (e.g. such as via a keyboard for transmitting to a web site).
- client machine 102 A comprises a mobile electronic device with the combined functionality of a personal digital assistant, cell phone, email paging device, and a web-browser.
- FIG. 2 a schematic block diagram shows an exemplary client machine 102 A in greater detail.
- Client machine 102 A includes one or more input devices which in a present embodiment includes a keyboard and, typically, additional input buttons, collectively 200 , an optional pointing device 202 (e.g. a trackball or trackwheel) and a microphone 204 .
- Other input devices such as a touch screen, and camera lens are also contemplated.
- Processor 208 may be further operatively coupled with a non-volatile storage unit 212 (e.g. read only memory (“ROM”), Erasable Electronic Programmable Read Only Memory (“EEPROM”), or Flash Memory) and a volatile storage unit 216 (e.g. random access memory (“RAM”) speaker 220 , display screen 224 and one ore more lights (LEDs 222 ).
- ROM read only memory
- EEPROM Erasable Electronic Programmable Read Only Memory
- RAM random access memory
- Processor 208 may be operatively coupled for network communications via a subsystem 226 .
- Wireless communications are effective via at least one radio (e.g. 228 ) such as for Wi-Fi or cellular wireless communications.
- Client machine 102 A also may be configured for wired communications such as via a USB or other port and for short range wireless communications such as via a Bluetooth® radio (all not shown).
- Non-volatile storage unit 212 persistently maintains a web browser application 86 and, in the present embodiment, a native menu application 82 , each of which can be executed on processor 208 making use of non-volatile storage 216 as appropriate.
- Native menu application 82 may be configured to provide menu choices to user U according to the particular application (or other context) that is being accessed.
- user U can activate menu application 82 to access one or more menu choices available that are respective to contact manger application 90 .
- menu choices may include options to invoke other applications (e.g. a mapping application to map a contact's address) or communication functions (e.g. call, SMS, IM, email, etc.) on the client machine 102 A for a particular contact.
- Menu application 82 may be associated to a particular input button (e.g. one of buttons 200 ) and invoked to provide a contextual menu comprised of one or more menu choices that are reflective of the context in which the button 200 was selected.
- menu application 82 may be therefore configured to generate one or more different contextual menus that are reflective of the particular context in which the menu application 82 is invoked. For example, in an email application where an email is being composed, invoking menu application 82 would generate a contextual menu that included the options of sending the email, cancelling the email, adding addresses to the email, adding attachments, and the like. The contents for such a contextual menu would also be maintained in non-volatile storage 212 . Other examples of contextual menus will occur to those of ordinary skill in the art.
- FIGS. 8A-8D and 9 A- 9 D respectively illustrate representative web pages rendered on a first browser window and portions of a subset of data from said representative web pages transcoded and rendered on a second browser window in accordance with an embodiment.
- FIG. 8A illustrates a representative home web page 860 A of an e-commerce web site (e.g. 104 ) in a browser window 850 .
- Window 850 is illustrative of a rendering to a large size display device (e.g. desktop monitor).
- Web page 860 A comprises, among other things, a menu portion 852 and a primary content display portion 854 , in the example, showing various advertisements 855 for products.
- FIG. 8A illustrates a representative home web page 860 A of an e-commerce web site (e.g. 104 ) in a browser window 850 .
- Window 850 is illustrative of a rendering to a large size display device (e.g. desktop monitor).
- Web page 860 A comprises,
- FIG. 9A illustrates the menu portion 852 extracted and transcoded and rendered as a web page on a second browser window 950 .
- Window 950 is illustrative of a rendering to a small size display device (e.g. of a wireless mobile device).
- menu portion 852 may be transcoded for menu application 82 e.g. for invocation when browsing the site 104 as referenced further herein.
- FIG. 8C illustrates an exemplary product list web page 860 C in window 850 showing a list of products (collectively 870 ).
- a subset of the product data such as image 870 A, price 870 B, and title 870 C is transcoded and shown in window 950 of FIG. 9C .
- FIG. 8D illustrates an exemplary account checkout web page 860 D in window 850 showing a login form 880 for receiving account login and password, which form is transcoded and shown in window 950 of FIG. 9D .
- checkout pages e.g. for payment or order confirmation, etc.
- search pages product and information pages may be similarly transcoded.
- web servers 106 , 107 or 109 and gateway and schema server 120 can be based on any commonly available server environments or platforms including a module that houses one or more central processing units, volatile memory (e.g. random access memory), persistent memory (e.g. hard disk devices) and network interfaces to allow servers 106 , 107 , 109 and 120 to communicate over the telecommunications network.
- Web servers hosts software applications comprising instructions and data for generating and serving web pages dynamically from the template families 108 and current informational content therefore from data store 112 . Load balancing, security/firewall, billing, account and other applications may also be present as is well-known in the art.
- Gateway and schema server 120 hosts software applications comprising instructions and data for proxying requests and responses between the client machines 102 and web sites 103 , 104 and 105 .
- engine 140 may be implemented in software to apply the signature schemas to web pages from web sites.
- an interpreter that interprets the signature schema document and applies the actions against the web page code (as an ASCII (plain text) document) to extract desired data to produce a result set.
- a renderer may be provided to express the desired data result set (i.e. transcode to a target format such as cHTML (Compact HTML) for a mobile device browser) for transmitting to the client machines also in accordance with the signature schema.
- the web server 125 provides web pages to the requesting client machine through a browser or application on the client for rendering.
- the web data may be directly pushed to client machines 102 A by e-mail or by other push based applications, or the data may be accessed by queries to web site 150 directly.
- the web site 150 may also extract content from the aggregate database 126 and apply signature schema 122 to the extracted database data, which schema may be configured to transcode the data in accordance with the target client machine 102 A to tailor the output result.
- Machines 102 , schema server 120 and web site 104 are coupled via a telecommunication network (not shown) typically comprising one or more interconnected networks that may include wired and (at least for machine 102 A) wireless networks.
- a telecommunication network typically comprising one or more interconnected networks that may include wired and (at least for machine 102 A) wireless networks.
- the nature of the network is not particularly limited and is, in general, based on any combination of architectures that will support interactions between client machines 102 and servers 106 , 107 , 109 , 125 and 120 .
- the network includes the Internet as well as appropriate gateways and backhauls.
- a wireless network for client machine 102 A may be based on core mobile network infrastructure (e.g. Global System for Mobile communications (“GSM”); Code Division Multiple Access (“CDMA”), Enhanced Data rates for GSM Evolution (“EDGE”), Evolution Data-Optimized (“EV-DO”), High Speed Downlink Packet Access (“HSPDA”), Universal Mobile Telecommunications System (“UMTS”), etc.) or on wireless local area network (“WLAN”) infrastructures such as the Institute for Electrical and Electronic Engineers (“IEEE”) 802.11 Standard (and its variants) or Bluetooth or the like or hybrids thereof.
- GSM Global System for Mobile communications
- CDMA Code Division Multiple Access
- EDGE Enhanced Data rates for GSM Evolution
- EV-DO Evolution Data-Optimized
- HPDA High Speed Downlink Packet Access
- UMTS Universal Mobile Telecommunications System
- IEEE Institute for Electrical and Electronic Engineers
- client machine 102 B may be another type of client machine such as a PC (desktop or laptop) configured to include a full desktop computer or as a “thin-client”. Typically such have larger display monitors/screens than portable machines like 102 A.
- a wired network for system 100 and machine 102 B can be based on a T1, T3 or any other suitable wired connection.
- each of the client machines 102 is configured to interact with content available over the network, including web pages on web site 104 .
- client machines 102 A and 102 B may navigate for content using a browser application (e.g. 86 ).
- browser application 86 may be a mini-browser in the sense that it may be configured to render web pages on the relatively small display 224 of client machine 102 A. Often, during such rendering, those pages are presented in a format that may be different from how those pages are rendered on a traditional desktop browser application (e.g. browser 86 of client machine 102 B).
- Mini-browsers typically attempt to convey substantially the same information as if the web pages had been rendered on a full browser such as Internet Explorer®, Safari® or Firefox® on a traditional desktop or laptop computer like client machine 102 B.
- FIG. 3 is a flowchart illustrating operations/interactions for generating and maintaining an aggregate database from web sites 103 - 105 for populating and updating database 126 .
- the flowchart provides an example of the interaction among the gateway and schema server 120 / 140 and data collection engine 152 with the web servers 106 , 107 and 109 hosting web sites 103 , 104 and 105 to generate and maintain the aggregate database 126 .
- the data collection engine 152 (DCE), makes a request 302 to the web site's web server (for example web server 106 ) for the specified pages based upon the type of data to be aggregated.
- the web page code (e.g. 110 ) is generated by the server 106 and sent 306 to DCE 152 .
- the web page code received is a text file. It typically does not include objects referenced by the code such as images, video, audio, further web pages, etc. that are typically subsequently retrieved and inserted at the time of rendering a web page by a browser.
- the schema server engine 140 (SSE) (for example, in parallel or without waiting for a response from server 106 ) makes a request 304 to the signature repository 124 for the signature schema document 122 for the web site, which request may use the domain in the URL as an identifier for obtaining the document 122 .
- the schema server engine 140 receives 308 the schema and does not render the web page 110 per se but instead uses the instructions in the signature schema document 122 to extract the desired data from the web page 110 .
- the signature schema 122 is configured to extract data from web page 110 in accordance with the specific desired content characteristics for the database 126 which is based upon the target client machines 102 , and having knowledge of display 224 capabilities—such as screen size, resolution, and other parameters—useful in determining the way in which the transcoded data is to be displayed on the machine 102 A.
- the web page 110 or extracted data is stored 310 in database 126 in a relational database structure, where data related to the defined signature schema from the web site is stored.
- Client machine 102 A can then make a request 312 web site 150 on server 125 .
- the request may be to perform a search for information such as product information provided by web sites 103 , 104 and 105 , to establish price watches such as product price watch notifications, or request status of an existing price watch.
- Web site 150 requests 314 relevant data from the database 126 , or in the case of a price watch populates the appropriate tables to enable monitoring and notification.
- the results are extracted 316 and are sent 318 to the client machine as aggregate results.
- a confirmation or status can be sent in accordance with the schema 122 , to the requesting client machine 102 A processed by the signature schema engine 140 before presentation by web server 125 .
- transcoded data 130 may comprise transcoded navigational data for menu application 82 and informational content data (e.g. a list of products and related information from a web page) for displaying by browser application 86 .
- Signature schemas are pre-defined documents, and may be eXtensible Markup Language (XML) documents utilizing an SQL-like query language, to incorporate instructions and data with which to intelligently extract the data from web pages (which web pages are typically coded in HTML, DHTML, XHTML, XML, RSS, Javascript, etc). This extracted data may be transcoded and provided to client machines 102 , used to dynamically generate a relational database (e.g. 126 ) or both.
- Each signature schema incorporates an understanding of a particular web site's data including relationships among the various data (e.g. among its primary informational content found in the body of its web pages as well as among such content and associated navigational data (e.g. web page links) that govern the data in the page.
- prior knowledge of the web page code including specific identifiers, tags and text (i.e. strings) used within the code may be used to define instructions to identify portions of the code of interest and to extract specific desired data.
- a signature schema document may be defined for all the pages of a particular web site.
- Large data-driven web sites e.g. 104
- the sites typically adopt a few page family templates 108 and dynamically populate these with pertinent content from database 112 comprising information (e.g. weather, stock data, news, shopping/product data, patent data, trade-mark data etc.) as applicable when a client requests a particular page.
- Each template represents a family of pages having objects and attributes. Below are representative example page family templates and their objects and attributes for a web site offering news and an e-commerce web site offering products for sale electronically:
- Each family of pages can be identified by a “signature” or unique set of one or more features that automatically identifies a given page on a web site as part of the family and differentiates that family from another family of pages.
- each object and attribute field of interest can be identified with its respective unique signature within a family of pages.
- a signature schema document typically comprise numerous pieces of information (commands), for example, information that instructs the engine 140 for:
- a signature schema document may also be configured to enable special functionality for the target web site including searching, logging in a user, purchasing items, etc.
- Engine 140 may be configured to receive web page code comprising text data and search through the text in accordance with the schema document instructions that provide SQL-query like language instructions. Engine 140 maintains a pointer within the text as it moves through the web page code performing various actions, as described below, in accordance with the schema instructions.
- Table 1 illustrates a snippet of a representative signature schema:
- instructions at line 4 are for verifying that the web page under consideration and the signature schema relate to the same web site/domain—eshop.ca.
- Instructions at lines 9-15 are for determining the particular page family to which the web page under consideration belongs. A respective signature that defines the particular page family has been previously identified for use to distinguish the page.
- the instructions identify a web page using the signatures “Compare products” or “Sort Products”. Web pages with these strings are of the same family type.
- the instructions at line 10 provide a reference tag to further instructions for this family, providing a link to instructions for the list_elements page family with and ID of mylist — 1 (see lines 16-17).
- the other lookup instructions provide references to the specific instructions within the signature schema document for handling a web page of each web page family. Representative instructions for some of the web page families are provided in Table 1, for example, at lines 16-17 and 18-29 with others omitted for brevity.
- the instruction at line 20 advances the scan pointer within the text file of the web page code to a beginning limit of a region of interest indicated by a signature reference. This establishes an upper limit for review within the text file. Though not shown in this table, an end limit may be defined as well (See Table 4). Further such instructions at lines 22-28 may comprise commands to locate desired data using “signatures” such as string identifiers that uniquely identify the data within the region of interest. In the present example the instructions locate and extract one or more elements, namely, product image, title, price, sale price and description for a product of the item web page family.
- the string returned is the path (relative URL at web site eshop.ca) to the product image.
- Table 1 shows at least some of the instructions (e.g. lines 23-27) including one or more directional references relative to the signatures to locate and extract the desired data.
- such instructions may further include at least one of a start reference or an end reference further pinpointing the location of the desired data in accordance with that direction. Additional directional reference information is discussed herein with reference to code snippets in other Tables and the discussion of an embodiment of signature transcoding engine syntax presented below.
- signature schema documents may further capture relevant attributes of an object across pages.
- a user of client machine 102 A may click through a number of web pages in eshop.ca to get to a specific product page (e.g. Department ⁇ Product Category ⁇ Product Sub-Category ⁇ Specific Product, such as TV & Video>19′′-21′′ TVs>LCD TVs>BrandX Product.
- the navigational hierarchy representing a categorization may be captured and associated to the extracted objects and there elements.
- Tables 2-4 provide representative instructions for further web page families for e-shop.ca that may be read with Table 1.
- Table 2 below provides representative instructions, e.g. for lines 16 and 17 of Table 1, including instructions for a web page family related to a list of items/products for sale. Whereas instructions at lines 22-28 provided product data extraction instructions for a web page family showing a single item (i.e. product), the instructions of Table 2 provide additional instructions that repeat product data extractions for each product in the list.
- the engine 140 determines the location in the signature schema document that contains the signature for the objects and elements of that family and applies the instructions therefor.
- a product list at e-shop.ca may span multiple web pages. Instructions at lines 2-6 of Table 2 find the number of pages and generate the links for each of the pages. Instructions at lines 7-9 (action tag) advance the search scan pointer to the region of web page code that may be of interest (i.e. in this case, the start of the list). In this way, a local signature reference can be used and any earlier ambiguous references skipped. Skipping to the local region of interest may also make the specification of the signature reference less complicated.
- instructions at lines 10-16 (elements tag) of Table 2 provide product data extraction instructions that may be repeated for each product in the list.
- the instruction at line 15 moves the scan pointer to the end of the object (in this example a product in a list of products) to ready the instructions for application against the next object (product) in the list.
- the engine 140 If the engine 140 has identified that it is looking for a menu on a page that contains the menu style of the “mymenu — 1” family, the engine applies the portion of the signature schema document that contains the signature for the objects and elements of that family, shown above in Table 4.
- Signature schema document 122 may further comprise transcoding instructions (not shown) for use by engine 140 to express the extracted desired data (e.g. which may be retrieved from database 126 ) in a target format (e.g. a format of HTML, XML, script etc.) for use by the requesting client machine 102 .
- the transcoding instructions may define a web page for displaying the extracted data in browser application 86 that is suitable for display on the client machine 102 .
- the formatting rules can be system and/or user defined and can include parameters such as but not limited to: object positioning, object colour, object size, object shape, object font/image characteristics, background style, and navigational item display (e.g. in a menu as described above) or for display with the content in the generated page on the client screen.
- Browser application 86 (e.g. of machine 102 A) may be configured for using a different markup language (e.g. cHTML) or other code format that is not identical to the code provided by web page 110 .
- transcoding instructions may be defined to express the extracted desired data in XML or another code format such as for use by a different client application or plug-in to a client application such as menu application 82 or another application (not shown) on client machine 102 .
- Signature schema documents may be prepared (i.e. coded) using a computing device such as computing device 128 .
- Computing device 128 may be any suitable desktop or laptop device capable of coding documents (which may be but need not be XML-type documents) and may be configured to automate or semi-automate coding of such documents.
- Computing device 128 may be coupled to web site 104 to retrieve web pages from the site for reviewing to prepare the custom signature schema document for the site.
- Computing device 128 may be configured to automatically review the web page code and apply heuristics or other techniques (e.g. spatial analysis) to determine probable content of interest (i.e. desired data) and generate code to extract the desired data. For example, primary content of interest tends to be located toward the centre of the web page.
- the computing device may facilitate a user coding signature schema to manually assist with the analysis of the web page and identification of desired data and the generation of the instructions.
- Computing device 128 may be further coupled to repository 124 to provide (e.g. up-load or publish) coded signature schema documents for use by server 120 .
- the lookup tag instructs the engine 140 to perform an insert, delete or query the document contents.
- Location “middle”: Search the data in two directions, starting from the “ref” identifier. This implies that the “ref” identifier index is greater than the “start” identifier index and less than the “end” identifier index.
- the page syntax extracts the paging information from the data. This allows the end user the ability to change pages just as on the desktop.
- the url tag defines global properties for a site, including the url, and name:
- the advanced tag defines global properties for the site. This at a minimum includes the path to the initial page of the site.
- the page type is a collection of lookup queries that have an id associated with them. Lookup queries may be processed in a top down fashion. The first successful lookup will trigger another section in the signature schema document. For example, if the following evaluates to true:
- Elements include list_elements, menu_elements, item_elements, search_elements, form_elements.
- Each element has an ID. For example a menu element:
- the element may contain the following sub containers (settings, actions, elements, paging) which scope resides only within the element.
- Each element is associated with a specific rendering function.
- Settings syntax varies based on the type of element it resides in. Settings allow customizations that only apply to a specific page family.
- the actions tag primary function is data manipulation. It contains lookup queries that modify data with actions of “move_ptr” or “end_ptr”.
- System 100 may be implemented so that one or more web sites 103 , 104 , and 105 are coupled to the telecommunication network (either alone by a server 106 or by one or more web servers like web-server 106 ), and that a corresponding one or more schemas for each of those web sites (or each of the web pages therein, or both) can be maintained by gateway and schema server 120 and repository 124 .
- Client machines 102 can be configured for proxied connections through different servers 120 and for accessing aggregated web site data from database 126 .
- servers 120 and web server 125 can be hosted by a variety of different parties, including, for example but without limitation: a manufacturer of client machine 102 , a service provider that provides access to the telecommunication network on behalf of user U of a client machine 102 ; the entity that hosts web-site 104 or a third party intermediary. In web site host example it can even be desired to simply combine the web server 106 and schema server engine 120 on a single server to thereby obviate the need for separate servers. Alternatively the functionality of server 120 and web server 125 may be locally resident on the client machine providing.
- FIG. 4 is a schematic representation of an aggregate web site search database 126 .
- the database 126 contains one or more tables for storing aggregate web page data extracted from target web sites.
- the database may be a relational database enabling structured database queries.
- the database 126 may contain tables defining a web site identification and category index 402 and category data 404 containing specific item details, as will be discussed in connection with FIG. 5 .
- the category data 404 may be further broken down into product data 406 table if further data is required.
- Indices 408 can be created to reference aggregate web site data to improve query responsiveness and results.
- Metadata 410 associated with the original web pages may be stored such as images, web page formatting on navigation data.
- a price watch table 412 is provided to identify the originating client machine and items that are of interest and should be monitored by the engine 140 for changes as specified.
- a user table 414 may also be defined to store user or device specific information such as email or device identification information.
- FIG. 5 is a schematic representation of tables in an aggregate web site search database for e-commerce.
- the extracted data from selected e-commerce web sites can be formatted into category index 402 which identifies 502 the web site where the data was extracted from and the category 504 of interest.
- an individual category 404 table can be created.
- the category table provides location identifiers 510 for each product retrieved from the web site based upon the defined signature schema and populated at step 310 during the retrieval of data from the web site.
- the vendor 512 , title 514 of the product, price 516 and description 518 extracted can then be stored.
- the database then provides a means for querying the aggregate data from the web site to present meaningful information to the client machine 102 A. By storing the aggregate data, queries can be created for price watch monitoring to meet desired requirements and transcoded for presentation on the client machine 102 A.
- the schema is defined to extract elements with which objects and their attributes on the web page can be defined or described and the schema incorporates knowledge of what these objects and attributes represent, an intelligent database 126 can be defined.
- entry 622 defines for User 1 , the pricing of product A is to be monitored, the product is manufactured by vendor A and the user wished to be notified when the price change occurs based upon a define threshold, for example, the price drops below $100 at the 3 supplier web sites identified.
- the entry may identify that notification should occur if a price change or sale happens for the identified product.
- the engine 140 would use this information to generate queries to the database periodically to determine if the price threshold has been met at which time a notification would occur to the associated client machine 102 A.
- the price watch table may also only identify an item and a price threshold, enabling any vendor and supplier to be identified when the threshold is met or exceeded.
- data may stored to define how the user will be notified, such as by push application, a transcoded web page or email etc.
- FIG. 7 illustrates a method of providing an aggregate web site price watch.
- a price watch request is received 702 and the price watch table 412 entry is created based upon the price watch information such as item, price, vendor and user or device id.
- a price watch entry may then be created to generate price watch queries 704 .
- the engine 140 then periodically queries the aggregate database tables for changes 706 to determine if the threshold as defined by the query is met. Periodic queries may be generated by any number of methods such as, for example, on a define time interval or by notification messages from the web site that changes have occurred.
- Engine 140 requests the appropriate pages from the website to update the aggregate database 126 . As part of the monitoring process the engine 140 must request web page data from the web site at predetermined intervals to ensure data is up to date.
- YES at 708 pricing details are retrieved 710 from the aggregate database tables. If additional web site related content is required, YES at 712 , such as pictures or web site related navigation, metadata can be retrieved at step 714 , otherwise no addition content, NO at 712 , is required.
- a notification can then be sent 716 to the client providing the retrieved data by email message or push application. Alternatively, the retrieved data can be generated using html the client machine 102 A and sent as a web page to the client machine or may produce transcoded version of the web page for deliver to the mobile.
- pre-caching to the aggregate database 126 could happen at the beginning of day via the user desktop and then synched to the mobile via a wired connection (for example), so that user can surf pre-cached information offline.
- signature schema to grab content based on pre-caching criteria this could be used to generate the pre-cache database.
- the engine 140 can crawl the selected web site and build a comparison pricing information to make available to the public or other subscribers through the aggregate database 126 .
Abstract
Description
- This application claims the benefit of the prior filing of U.S. Provisional Patent Application Ser. No. 60/924503 filed May 17, 2007, the disclosure of which is incorporated herein by reference.
- A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights.
- The present application relates generally to telecommunications and more particularly to a system and method for generating an aggregate web site search database and price watch feature.
- Web sites host and provide information using web pages that are communicated electronically via a telecommunications network. Accessing this information by some client computing devices can be challenging. Computing devices are becoming smaller and increasingly utilize wireless connectivity. Examples of such computing devices include portable computing devices that include wireless network browsing capability as well as telephony and personal information management capabilities.
-
FIG. 1 is schematic representation of a system for content navigation. -
FIG. 2 is a schematic representation of a wireless communication device fromFIG. 1 . -
FIG. 3 illustrates a flow of interactions among components of the system ofFIG. 1 . -
FIG. 4 is a schematic representation of an aggregate web site search database for e-commerce. -
FIG. 5 is a schematic representation of tables in an aggregate web site search database for e-commerce. -
FIG. 6 is a schematic representation of a price watch table. -
FIG. 7 illustrates a method of providing an aggregate web site price watch. -
FIGS. 8A-8D and 9A-9D respectively illustrate representative web pages rendered on a first browser window and portions of said representative web pages transcoded and rendered on a second browser window in accordance with an embodiment. - The smaller size of such client devices necessarily limits their display capabilities. Furthermore the wireless connections to such devices typically have less or more expensive bandwidth than corresponding wired connections. The Wireless Application Protocol (“WAP”) was designed to address such issues, but WAP can still provide a very unsatisfactory experience or even completely ineffective experience, particularly where the small client device needs to effect a connection with web sites that host web pages that are directed to traditional full desktop browsers. Ability to monitor prices of products on e-commerce sites is dependent on a Really Simple Syndication (RSS) feed or other push mechanism from the merchant site to pricing web sites. These price monitoring mechanisms are dependent on the merchant site conveying the information to the appropriate pricing site.
- Signature schema documents may be pre-defined using a query language to provide instructions for application by an engine to extract data from web pages of respective web sites for storage to an aggregate database. For a particular web page, signature schema instructions identify a web page family for the web page and extract desired data from the web page in accordance with its web page family. The instructions use signatures previously identified within web pages of the same family to distinguish the web page family (e.g. in accordance with a shared template for each family) from others of the web site and to distinguish the desired data from other data for the web page family. A gateway server may receive data (e.g. web page) from a web site and apply signature schema instructions maintained in a repository coupled to the engine. Extracted data can be cached to a database coupled to the engine to facilitate querying of the data to enable aggregate results to be presented to a client machine (e.g. a wireless communication device). The aggregate database can be queried based upon defined user criteria such as price changes of an item and provide appropriate notification to the client machine when changes occur.
- In accordance with the present disclosure there is provided a method of providing aggregate web site price watch feature, the method comprising: receiving a price watch request for a product from a client machine comprising a threshold price for the product; generating a query to an aggregate database for the product; retrieving data from the aggregate database containing information provided from one or more web sites, extracted by parsing received web site data by an associated signature schema; determining when the threshold price has been satisfied; retrieving one or more product details from the aggregate database when the threshold price has been satisfied; and notifying the client machine that the price threshold was satisfied.
- In accordance with the present disclosure there is provided a system for providing aggregate web site database price watch feature comprising: at least one computing device comprising a processor and a memory coupled thereto, said memory storing instructions and data for configuring the processor to provide an engine to: receive a price watch request for a product from a client machine comprising a threshold price; generate a query to an aggregate web site database for the requested product; retrieve data from the aggregate database containing information provided from one or more web sites extracted by parsing received web site data by and associate signature schema; determine if the threshold price is satisfied; retrieve one ore more product details from the aggregate database when the product price threshold has been satisfied; and notify the client machine that the price threshold was satisfied.
- In accordance with the present disclosure there is provided a computer program product storing computer readable instructions which when executed by a computer processor configure the processor for: receiving a price watch request for a product from a client machine comprising a threshold price for the product; generating a query to an aggregate database for the product; retrieving data from the aggregate database containing information provided from one or more web sites, extracted by parsing received web site data by an associated signature schema; determining when the threshold price has been satisfied; retrieving one or more product details from the aggregate database when the threshold price has been satisfied; and notifying the client machine that the price threshold was satisfied.
- In accordance with the present disclosure there is provided a method of providing aggregate web site price watch feature for a wireless device, the method comprising: receiving a price watch request for a product from a client machine comprising a threshold price for the product; generating a query to an aggregate database for the requested product; retrieving data from the aggregate database containing information provided from one or more web sites, extracted by parsing received web site data by an associated signature wherein the schema comprises an eXtensible Markup Language (XML) documents comprising query language for extracting data from the web page; determining when the threshold price has been satisfied; periodically monitoring the one or more websites for changes in the product price; retrieving one ore more product details from the aggregate database when the product threshold price has been satisfied; and notifying the wireless device that the price threshold was satisfied.
- Referring now to
FIG. 1 , there is illustrated asystem 100 for content navigation via a telecommunications network. In apresent embodiment system 100 comprises one or more of client computing devices in the form ofclient machines web site servers web sites schema server 120.Machines 102 are respectively coupled to communicate with gateway andschema server 120 to obtain web pages (e.g. 110) transcoded fromweb sites web server 125hosting web site 150. - In the present embodiment,
web sites database 126. For example,web site 104 comprises aweb server 106 serving web pages (e.g. 110) defined from one or more webpage family templates 108A-108D (collectively 108) and web page content (described further herein below) fromdata store 112. In the present embodiment ofsystem 100, gateway andschema server 120 is coupled to aschema repository 124 from which to obtain asignature schema 122 for a particular web site. Signature schema documents (e.g.122) provide instructions and data with which anengine 140 ofserver 120 can extract data from web pages (e.g. 110) and transcode same to a target format to provide transcoded web page data (e.g. 130 and 132) to the respective requestingclient machines schema server 120 may also be coupled to adatabase 126 for retrieving/storing data extracted from web sites in accordance with its operations. Thedatabase 126 may be a relational database for storing extracted data objects and elements and their relationships from web sites in relation to the defined signature schema. The stored data can be accessed by a Structured Query Language (SQL) to retrieve desired data fromdatabase 126. Signature schemas for respective web sites may be defined (e.g. coded) using acomputing device 128 as described herein below. Aweb server 125 is coupled to the aggregateweb site database 126 to enable access to the aggregatedweb site database 126 data by aweb site 150. Theweb server 125 can also provide adata collection engine 150, or web crawler, for sending requests toweb sites schema engine 140 for processing. -
Representative client machines 102 include any type of computing or electronic device that can be used to communicate and interact with content available via web sites. Each of theclient machines 102 may be operated by a respective user U (not shown). Interaction with a particular user includes presenting information on a client machine (e.g. by rendering on a display screen) as well as receiving input at a client machine (e.g. such as via a keyboard for transmitting to a web site). In the present embodiment,client machine 102A comprises a mobile electronic device with the combined functionality of a personal digital assistant, cell phone, email paging device, and a web-browser. Such a mobile electronic device may comprise a keyboard (or other input device(s)), a display screen, a speaker, (and other output device(s) (e.g. LEDs)) and a chassis for housing such components. The chassis may further houses one or more central processing units, volatile memory (e.g. random access memory), persistent memory (e.g. Flash read only memory) and network interfaces to allowclient machine 102A to communicate over the telecommunication network. - Referring now to
FIG. 2 , a schematic block diagram shows anexemplary client machine 102A in greater detail. It should be emphasized that the structure inFIG. 2 is purely exemplary, and contemplates a device that may be used for both wireless voice (e.g. telephony) and wireless data (e.g. email, web browsing, text) communications.Client machine 102A includes one or more input devices which in a present embodiment includes a keyboard and, typically, additional input buttons, collectively 200, an optional pointing device 202 (e.g. a trackball or trackwheel) and amicrophone 204. Other input devices, such as a touch screen, and camera lens are also contemplated. Input from keyboard/buttons 200, pointingdevice 202 andmicrophone 204 may be received at aprocessor 208.Processor 208 may be further operatively coupled with a non-volatile storage unit 212 (e.g. read only memory (“ROM”), Erasable Electronic Programmable Read Only Memory (“EEPROM”), or Flash Memory) and a volatile storage unit 216 (e.g. random access memory (“RAM”)speaker 220,display screen 224 and one ore more lights (LEDs 222).Processor 208 may be operatively coupled for network communications via asubsystem 226. Wireless communications are effective via at least one radio (e.g. 228) such as for Wi-Fi or cellular wireless communications.Client machine 102A also may be configured for wired communications such as via a USB or other port and for short range wireless communications such as via a Bluetooth® radio (all not shown). - Programming instructions that implement the functional teachings of
client machine 102A as described herein are typically maintained, persistently, innon-volatile storage unit 212 and used byprocessor 208 which makes appropriate utilization ofvolatile storage 216 during the execution of such programming instructions. Of particular note is thatnon-volatile storage unit 212 persistently maintains aweb browser application 86 and, in the present embodiment, anative menu application 82, each of which can be executed onprocessor 208 making use ofnon-volatile storage 216 as appropriate. An operating system and various other applications (not shown) are maintained innon-volatile storage unit 212 according to the desired configuration and functioning ofclient machine 102A, one specific non-limiting example of which is a contact manager application (also known as an address book, not shown) which stores a list of contacts, addresses and phone numbers of interest to user U and allows user U to view, update, and delete those contacts, as well as providing user U an option to initiate telecommunications (e.g. telephone, email, instant message (IM), short message service (SMS)) directly from that contact manager application. -
Native menu application 82 may be configured to provide menu choices to user U according to the particular application (or other context) that is being accessed. By way of example, while user U is activating the contact manager application, user U can activatemenu application 82 to access one or more menu choices available that are respective to contact manger application 90. For example, menu choices may include options to invoke other applications (e.g. a mapping application to map a contact's address) or communication functions (e.g. call, SMS, IM, email, etc.) on theclient machine 102A for a particular contact.Menu application 82 may be associated to a particular input button (e.g. one of buttons 200) and invoked to provide a contextual menu comprised of one or more menu choices that are reflective of the context in which thebutton 200 was selected. Note that the options in a contextual menu are stored withinnon-volatile storage 212 as being specifically associated with a respective application.Menu application 82 may be therefore configured to generate one or more different contextual menus that are reflective of the particular context in which themenu application 82 is invoked. For example, in an email application where an email is being composed, invokingmenu application 82 would generate a contextual menu that included the options of sending the email, cancelling the email, adding addresses to the email, adding attachments, and the like. The contents for such a contextual menu would also be maintained innon-volatile storage 212. Other examples of contextual menus will occur to those of ordinary skill in the art. -
FIGS. 8A-8D and 9A-9D respectively illustrate representative web pages rendered on a first browser window and portions of a subset of data from said representative web pages transcoded and rendered on a second browser window in accordance with an embodiment.FIG. 8A illustrates a representativehome web page 860A of an e-commerce web site (e.g. 104) in abrowser window 850.Window 850 is illustrative of a rendering to a large size display device (e.g. desktop monitor).Web page 860A comprises, among other things, amenu portion 852 and a primarycontent display portion 854, in the example, showingvarious advertisements 855 for products.FIG. 9A illustrates themenu portion 852 extracted and transcoded and rendered as a web page on asecond browser window 950.Window 950 is illustrative of a rendering to a small size display device (e.g. of a wireless mobile device). In addition to transcoding as a web page,menu portion 852 may be transcoded formenu application 82 e.g. for invocation when browsing thesite 104 as referenced further herein. -
FIG. 8B illustrates an exemplaryproduct web page 860B inwindow 850 showing various product data (collectively 866) includingimage 866A, price 866,title 866C anddescription 866D data that is transcoded and shown inwindow 950 ofFIG. 9B . Also transcoded is the webpage hierarchy list 868 showing where the page is on the web site. -
FIG. 8C illustrates an exemplary productlist web page 860C inwindow 850 showing a list of products (collectively 870). A subset of the product data such asimage 870A,price 870B, andtitle 870C is transcoded and shown inwindow 950 ofFIG. 9C . Note thatmultiple pages 872 may be provided for thelist 870. -
FIG. 8D illustrates an exemplary account checkout web page 860D inwindow 850 showing alogin form 880 for receiving account login and password, which form is transcoded and shown inwindow 950 ofFIG. 9D . Though not shown, other checkout pages (e.g. for payment or order confirmation, etc.), search pages, product and information pages may be similarly transcoded. - Returning now to
FIG. 1 ,web servers servers template families 108 and current informational content therefore fromdata store 112. Load balancing, security/firewall, billing, account and other applications may also be present as is well-known in the art. - Gateway and
schema server 120 hosts software applications comprising instructions and data for proxying requests and responses between theclient machines 102 andweb sites engine 140 may be implemented in software to apply the signature schemas to web pages from web sites. There may be provided an interpreter that interprets the signature schema document and applies the actions against the web page code (as an ASCII (plain text) document) to extract desired data to produce a result set. A renderer may be provided to express the desired data result set (i.e. transcode to a target format such as cHTML (Compact HTML) for a mobile device browser) for transmitting to the client machines also in accordance with the signature schema. - The
web server 125 provides web pages to the requesting client machine through a browser or application on the client for rendering. The web data may be directly pushed toclient machines 102A by e-mail or by other push based applications, or the data may be accessed by queries toweb site 150 directly. Theweb site 150 may also extract content from theaggregate database 126 and applysignature schema 122 to the extracted database data, which schema may be configured to transcode the data in accordance with thetarget client machine 102A to tailor the output result. -
Machines 102,schema server 120 andweb site 104 are coupled via a telecommunication network (not shown) typically comprising one or more interconnected networks that may include wired and (at least formachine 102A) wireless networks. It should now be understood that the nature of the network is not particularly limited and is, in general, based on any combination of architectures that will support interactions betweenclient machines 102 andservers - More specifically, in the present embodiment, a wireless network for
client machine 102A may be based on core mobile network infrastructure (e.g. Global System for Mobile communications (“GSM”); Code Division Multiple Access (“CDMA”), Enhanced Data rates for GSM Evolution (“EDGE”), Evolution Data-Optimized (“EV-DO”), High Speed Downlink Packet Access (“HSPDA”), Universal Mobile Telecommunications System (“UMTS”), etc.) or on wireless local area network (“WLAN”) infrastructures such as the Institute for Electrical and Electronic Engineers (“IEEE”) 802.11 Standard (and its variants) or Bluetooth or the like or hybrids thereof. In the present embodiment ofsystem 100 it is contemplated thatclient machine 102B may be another type of client machine such as a PC (desktop or laptop) configured to include a full desktop computer or as a “thin-client”. Typically such have larger display monitors/screens than portable machines like 102A. A wired network forsystem 100 andmachine 102B can be based on a T1, T3 or any other suitable wired connection. - As previously stated in relation to
FIGS. 1 and 2 , each of theclient machines 102 is configured to interact with content available over the network, including web pages onweb site 104. In a present embodiment,client machines client machine 102A,browser application 86 may be a mini-browser in the sense that it may be configured to render web pages on the relativelysmall display 224 ofclient machine 102A. Often, during such rendering, those pages are presented in a format that may be different from how those pages are rendered on a traditional desktop browser application (e.g.browser 86 ofclient machine 102B). Mini-browsers typically attempt to convey substantially the same information as if the web pages had been rendered on a full browser such as Internet Explorer®, Safari® or Firefox® on a traditional desktop or laptop computer likeclient machine 102B. -
FIG. 3 is a flowchart illustrating operations/interactions for generating and maintaining an aggregate database from web sites 103-105 for populating and updatingdatabase 126. The flowchart provides an example of the interaction among the gateway andschema server 120/140 anddata collection engine 152 with theweb servers web sites aggregate database 126. The data collection engine 152 (DCE), makes arequest 302 to the web site's web server (for example web server 106) for the specified pages based upon the type of data to be aggregated. The web page code (e.g. 110) is generated by theserver 106 and sent 306 toDCE 152. The web page code received is a text file. It typically does not include objects referenced by the code such as images, video, audio, further web pages, etc. that are typically subsequently retrieved and inserted at the time of rendering a web page by a browser. The schema server engine 140 (SSE) (for example, in parallel or without waiting for a response from server 106) makes arequest 304 to thesignature repository 124 for thesignature schema document 122 for the web site, which request may use the domain in the URL as an identifier for obtaining thedocument 122. Theschema server engine 140 receives 308 the schema and does not render theweb page 110 per se but instead uses the instructions in thesignature schema document 122 to extract the desired data from theweb page 110. Thesignature schema 122 is configured to extract data fromweb page 110 in accordance with the specific desired content characteristics for thedatabase 126 which is based upon thetarget client machines 102, and having knowledge ofdisplay 224 capabilities—such as screen size, resolution, and other parameters—useful in determining the way in which the transcoded data is to be displayed on themachine 102A. Theweb page 110 or extracted data is stored 310 indatabase 126 in a relational database structure, where data related to the defined signature schema from the web site is stored. -
Client machine 102A can then make arequest 312web site 150 onserver 125. The request may be to perform a search for information such as product information provided byweb sites Web site 150requests 314 relevant data from thedatabase 126, or in the case of a price watch populates the appropriate tables to enable monitoring and notification. The results are extracted 316 and are sent 318 to the client machine as aggregate results. For providing a price watch function, a confirmation or status can be sent in accordance with theschema 122, to the requestingclient machine 102A processed by thesignature schema engine 140 before presentation byweb server 125. - Alternatively, the
client machine 102A may send arequest 312 for configuration of a push based notification service to pull data from thedatabase 126 and display the data on theclient machine 102A through a push based application. The web server would provideconfirmation 318 of configuration of the push web service. As noted above, transcodeddata 130 may comprise transcoded navigational data formenu application 82 and informational content data (e.g. a list of products and related information from a web page) for displaying bybrowser application 86. - Signature schemas are pre-defined documents, and may be eXtensible Markup Language (XML) documents utilizing an SQL-like query language, to incorporate instructions and data with which to intelligently extract the data from web pages (which web pages are typically coded in HTML, DHTML, XHTML, XML, RSS, Javascript, etc). This extracted data may be transcoded and provided to
client machines 102, used to dynamically generate a relational database (e.g. 126) or both. Each signature schema incorporates an understanding of a particular web site's data including relationships among the various data (e.g. among its primary informational content found in the body of its web pages as well as among such content and associated navigational data (e.g. web page links) that govern the data in the page. As described further herein below, prior knowledge of the web page code including specific identifiers, tags and text (i.e. strings) used within the code (sometimes referred to as “signatures” herein), may be used to define instructions to identify portions of the code of interest and to extract specific desired data. - A signature schema document may be defined for all the pages of a particular web site. Large data-driven web sites (e.g. 104) don't maintain thousands of individual web pages per se. The sites typically adopt a few
page family templates 108 and dynamically populate these with pertinent content fromdatabase 112 comprising information (e.g. weather, stock data, news, shopping/product data, patent data, trade-mark data etc.) as applicable when a client requests a particular page. Each template represents a family of pages having objects and attributes. Below are representative example page family templates and their objects and attributes for a web site offering news and an e-commerce web site offering products for sale electronically: -
- Family: List Page
- Objects: lists a selection of news stories
- Attributes: Title, abstract and date
- Family: Detail page
- Objects: lists a single news story (and optionally other related stories)
- Attributes: Journalist, City, Date, Title, Full Story, Image
-
- Family: List Page
- Objects: lists a selection of products
- Attributes: Image, Item Name, Price, Sale Price
- Family: Search Page (a specific kind of list page)
- Objects: Similar to a list page
- Attributes: Similar to a list page
- Each family of pages (the family template) can be identified by a “signature” or unique set of one or more features that automatically identifies a given page on a web site as part of the family and differentiates that family from another family of pages. Similarly each object and attribute field of interest can be identified with its respective unique signature within a family of pages. A signature schema document typically comprise numerous pieces of information (commands), for example, information that instructs the
engine 140 for: -
- identifying all page families;
- identifying and extracting data (i.e. desired objects and attributes) for each page family;
- capturing the (implicit or explicit) relationships between the objects and attributes; and
- transcoding the data.
- A signature schema document may also be configured to enable special functionality for the target web site including searching, logging in a user, purchasing items, etc.
- In accordance with a present embodiment, the structure and syntax of a representative signature schema document for a representative e-commerce site eshop.ca is shown and described.
Engine 140 may be configured to receive web page code comprising text data and search through the text in accordance with the schema document instructions that provide SQL-query like language instructions.Engine 140 maintains a pointer within the text as it moves through the web page code performing various actions, as described below, in accordance with the schema instructions. Table 1 illustrates a snippet of a representative signature schema: -
TABLE 1 XML Signature Schema Snippet for E-Shop.ca 1 <?xml version=“1.0” encoding=“ISO-8859-1” ?> 2 <site> 3 <version major=“1” minor=“2”/> 4 <url location=“http://www.eshop.ca” key=“eshop.ca” name=“E-Shop” /> 5 <advanced> 6 7 <index_link value=“http://www.eshop.ca/home.asp” /> 8 </advanced> 9 <page_type> 10 <lookup type=“pex” action=“locate_string” name=“list_elements” id=“mylist_1” ref=“Compare products” alt1=“Sort products” /> 11 <lookup type=“pex” action=“locate_string” name=“item_elements” id=“myitem_1” ref=“"product-details"” /> 12 <lookup type=“pex” action=“locate_string” name=“menu_elements” id=“mymenu_2” ref=“anc-lhsnav-subItem” /> 13 <lookup type=“pex” action=“locate_string” name=“menu_elements” id=“mymenu_1” ref=“product-table” /> 14 <lookup type=“pex” action=“locate_string” name=“item_elements” id=“myitem_1” ref=“*” /> 15 </page_type> 16 <list_elements id=“mylist_1”> ... 17 </list_elements> ... 18 <item_elements id=“myitem_1”> 19 <actions> 20 <lookup type=“pex” action=“move_ptr” ref=“</head>” /> 21 </actions> 22 <element> 23 <lookup type=“pex” action=“get_string” name=“image” ref=“largeimageref” location=“after” start=“<img src="” end=“"” /> 24 <lookup type=“pex” action=“get_string” name=“title” ref=“product- details-prd-title” location=“after” start=“<span” end=“</span>” include_sz=“1” strip_tags=“1” /> 25 <lookup type=“pex” action=“get_string” name=“price” ref=“our price:” location=“after” start=“<td” end=“</td>” include_sz=“1” strip_tags=“1” /> 26 <lookup type=“pex” action=“get_string” name=“sale_price” ref=“sale price:” location=“after” start=“<td” end=“</td>” include_sz=“1” strip_tags=“1” tolerance=“1” /> 27 <lookup type=“pex” action=“get_string” name=“description” ref=“detailbox-text” location =“middle” start=“<p” end=“</p>” include_sz=“1” strip_tags=“1” /> 28 </element> 29 </item_elements> ... - In the XML code snippet of Table 1, instructions at
line 4 are for verifying that the web page under consideration and the signature schema relate to the same web site/domain—eshop.ca. Instructions at lines 9-15 are for determining the particular page family to which the web page under consideration belongs. A respective signature that defines the particular page family has been previously identified for use to distinguish the page. Theengine 140 processes the <page type> tag by registering the identification strings for each page family. When a web page is obtained by the engine as input, the engine may be able to identify the page family by its unique string ref=″ and the command provides the related tag within the signature schema document where further instructions for the particular web pages are found: - action=“locate-string”: command to check for the existence of a string.
- name=″: identifies the type of page family for each identified family.
- id=″: assigns an id to the page family that is used across the signature schema document.
- For example, at line 10, the instructions identify a web page using the signatures “Compare products” or “Sort Products”. Web pages with these strings are of the same family type. The instructions at line 10 provide a reference tag to further instructions for this family, providing a link to instructions for the list_elements page family with and ID of mylist—1 (see lines 16-17). Similarly the other lookup instructions provide references to the specific instructions within the signature schema document for handling a web page of each web page family. Representative instructions for some of the web page families are provided in Table 1, for example, at lines 16-17 and 18-29 with others omitted for brevity.
- With reference to the extraction instructions for one of the web page families (e.g. item_elements id=“
myitem —1”) at lines 18-29, the instruction at line 20 advances the scan pointer within the text file of the web page code to a beginning limit of a region of interest indicated by a signature reference. This establishes an upper limit for review within the text file. Though not shown in this table, an end limit may be defined as well (See Table 4). Further such instructions at lines 22-28 may comprise commands to locate desired data using “signatures” such as string identifiers that uniquely identify the data within the region of interest. In the present example the instructions locate and extract one or more elements, namely, product image, title, price, sale price and description for a product of the item web page family. For example, instructions at line 23 extract a string in between the first “&It;img src="” and “"” that appears after next appearance of “largeimageref”. The string returned is the path (relative URL at web site eshop.ca) to the product image. By advancing a search scan pointer within the web code to a desired location, references before that location can be skipped when searching. Any prior instances of a signature string such as “largeimageref” may be ignored. In this way, otherwise ambiguous signature references can be avoided. - The example in Table 1 shows at least some of the instructions (e.g. lines 23-27) including one or more directional references relative to the signatures to locate and extract the desired data. For example, directional references such as “before” or “after” command the engine to extract desired data that is in a relative position in the web page before or after the signature string (i.e. ref=). Moreover, such instructions may further include at least one of a start reference or an end reference further pinpointing the location of the desired data in accordance with that direction. Additional directional reference information is discussed herein with reference to code snippets in other Tables and the discussion of an embodiment of signature transcoding engine syntax presented below.
- The example within Table 1 demonstrates the extraction of data and the establishment of relationships between objects and elements within a same page of a web site. However, signature schema documents may further capture relevant attributes of an object across pages. For example, a user of
client machine 102A may click through a number of web pages in eshop.ca to get to a specific product page (e.g. Department→Product Category→Product Sub-Category→Specific Product, such as TV & Video>19″-21″ TVs>LCD TVs>BrandX Product. The navigational hierarchy representing a categorization may be captured and associated to the extracted objects and there elements. - For brevity, certain instructions were omitted from Table 1. Tables 2-4 provide representative instructions for further web page families for e-shop.ca that may be read with Table 1. Table 2 below provides representative instructions, e.g. for lines 16 and 17 of Table 1, including instructions for a web page family related to a list of items/products for sale. Whereas instructions at lines 22-28 provided product data extraction instructions for a web page family showing a single item (i.e. product), the instructions of Table 2 provide additional instructions that repeat product data extractions for each product in the list.
-
TABLE 2 XML Signature Schema Snippet for Product List Web Page Family of E-Shop.ca 1 <list_elements id=“mylist_1”> 2 <paging> 3 <page_variable value=“page” /> 4 <page_start value=“0” /> 5 <lookup type=“pex” action=“get_string” name=“link” ref=“Next&nbsp” location=“before” start=“<a class=” end=“</a>” include_sz=“1” strip_tags=“1” /> 6 </paging> 7 <actions> 8 <lookup type=“pex” action=“move_ptr” ref=“Sort or compare products” ref_alt_1=“Sort products” /> 9 </actions> 10 <element> 11 <lookup type=“pex” action=“get_string” name=“link” ref=“thumbnail” location=“before” start=“<ahref="” end=“">” /> 12 <lookup type=“pex” action=“get_string” name=“image” ref=“thumbnail” location=“middle” start=“"” end=“"” /> 13 <lookup type=“pex” action=“get_string” name=“title” ref=“class="tx-strong-dgrey&quot;” location=“after” start=“<a href=” end=“</a>” include_sz=“1” strip_tags=“1” /> 14 <lookup type=“pex” action=“get_string” name=“price” ref=“pricepill/” location=“after” start=“/” repeat_start=“1” end=“.gif” tolerance=“1” /> 15 <lookup type=“pex” action=“move_ptr” ref=“pricepill/” /> 16 </element> 17 </list_elements> - If the
engine 140 identifies that the page is of the “mylist-1” family, the engine determines the location in the signature schema document that contains the signature for the objects and elements of that family and applies the instructions therefor. A product list at e-shop.ca may span multiple web pages. Instructions at lines 2-6 of Table 2 find the number of pages and generate the links for each of the pages. Instructions at lines 7-9 (action tag) advance the search scan pointer to the region of web page code that may be of interest (i.e. in this case, the start of the list). In this way, a local signature reference can be used and any earlier ambiguous references skipped. Skipping to the local region of interest may also make the specification of the signature reference less complicated. - Taking advantage of inherent repeated patterns in the web page code, instructions at lines 10-16 (elements tag) of Table 2 provide product data extraction instructions that may be repeated for each product in the list. The
engine 140 may be provided with commands to scan for each data element of interest using a signature reference e.g. ref=″, an action, one or more positional instruction(s) to further identify the data within the text of the web page code, and any additional text data manipulation instructions to extract the desired data (e.g. to remove HTML formatting characters or add characters). The instruction at line 15 moves the scan pointer to the end of the object (in this example a product in a list of products) to ready the instructions for application against the next object (product) in the list. - More particularly:
-
- lookup type=“pex”: string lookup
- action=“get-string”: returns a value back that is the desired element of the object.
- name=“link”: the object element, in this case the link to the product page
- ref=“thumbnail”: the reference string that identifies where to find the value of the link
- location=“before”: the value of the link is before the ref string
- start=“<a href="”: look for the ref string after this value
- end=“">”: look for the ref string before this value.
-
TABLE 3 E-Shop Search Family Signature Schema Snippet 1 <search_elements id=“mysearch_1”> 2 <settings> 3 <search_path value=“http://www.eshop.ca/search/search.asp” /> 4 <search_variable value=“keyword” /> 5 </settings> 6 <paging> 7 <page_variable value=“page” /> 8 <page_start value=“0” /> 9 <lookup type=“pex” action=“get_string” name=“link” ref=“Next&nbsp” location=“before” start=“<a href=” repeat_start=“1” end=“</a>” include_sz=“1” strip_tags=“1” /> 10 </paging> 11 <actions> 12 <lookup type=“pex” action=“move_ptr” ref=“bg-compare-hero” /> 13 </actions> 14 <element> 15 <lookup type=“pex” action=“get_string” name=“link” ref=“>” location=“after” start=“<a href="” end=“">” /> 16 <lookup type=“pex” action=“get_string” name=“image” ref=“<a href” location=“after” start=“<img src="” end=“"” /> 17 <lookup type=“pex” action=“get_string” name=“title” ref=“class="tx-strong-dgrey&quot;” location=“after” start=“<a href=” end=“</a>” include_sz=“1” strip_tags=“1” /> 18 <lookup type=“pex” action=“move_ptr” ref=“bg-compare-hero” /> 19 </element> 20 </search_elements> - If the
engine 140 has identified that the page is of the “mysearch —1” family the engine applies the portion of the signature schema document that contains the signature for the objects and elements of that family, shown above in Table 3. - <settings> . . . </settings>: Contains any web page specific manual overrides such as excluding certain menu items, customization, modification of a menu that may be desired. In this example, as per line 3 a value of form variable “keyword” will be posted to “http://www.eshop.ca/search/search.asp”.
- <paging> . . . </paging>: Manages paging for the search pages.
- <actions> . . . </actions>: Instruct the engine to move the scan pointer to the string “bg-compare-hero” (line 12 of Table 3) and start looking for elements from there.
- <element> . . . </element>: Contains lookup instructions for each object element as previously described.
-
TABLE 4 E-shop Menu Family Signature Schema Snippet 1 <menu_elements id=“mymenu_1”> 2 <settings> 3 <black_list value=“Site Index##External Link” /> 4 </settings> 5 <actions> 6 <lookup type=“pex” action=“move_ptr” ref=“bg-lhsnav-title” /> 7 <lookup type=“pex” action=“end_ptr” ref=“</table>” /> 8 </actions> 9 <element> 10 <lookup type=“pex” action=“get_string” name=“link” ref=“<li>” location=“after” start=“<a href="” end=“"” /> 11 <lookup type=“pex” action=“get_string” name=“title” ref=“<li>” location=“after” start=“<a href="” end=“</a>” include_sz=“1” strip_tags=“1” /> 12 <lookup type=“pex” action=“move_ptr” ref=“</li>”/> 13 </element> 14 </menu_elements> - If the
engine 140 has identified that it is looking for a menu on a page that contains the menu style of the “mymenu —1” family, the engine applies the portion of the signature schema document that contains the signature for the objects and elements of that family, shown above in Table 4. - <settings> . . . </settings>: Contains any page specific manual overrides such as exclude list, customization, modification, personalization, etc. In this example, as per
line 3, any result that matches “Site Index”, “External Link” are excluded but partial matches are also possible by using wild card strings. - <action> . . . </action>: Lines 6-7 of Table 4 sets the start and end limits to instruct the
engine 140 where to look for menu items. - <element> . . . </element>: Contains lookup instructions for each object element as previously described. In this example, lines 10 and 11 of Table 4, an element in ‘mymenu—1’ (each individual menu entry of web page) contains link and title as its properties. Line 12 instructs the engine to move the pointer to “&It;/li>” to get ready to loop through and extract the next menu item with the same elements, taking advantage of the repeated patterns within the text of the web page code.
- Though the example described relates to extracting informational content for an e-commerce oriented site, no limitation should be applied. Similar instructions may be defined for other types of sites, for pages which permit a user to input information and for navigational data extraction.
-
Signature schema document 122 may further comprise transcoding instructions (not shown) for use byengine 140 to express the extracted desired data (e.g. which may be retrieved from database 126) in a target format (e.g. a format of HTML, XML, script etc.) for use by the requestingclient machine 102. For example, the transcoding instructions may define a web page for displaying the extracted data inbrowser application 86 that is suitable for display on theclient machine 102. The formatting rules can be system and/or user defined and can include parameters such as but not limited to: object positioning, object colour, object size, object shape, object font/image characteristics, background style, and navigational item display (e.g. in a menu as described above) or for display with the content in the generated page on the client screen. Browser application 86 (e.g. ofmachine 102A) may be configured for using a different markup language (e.g. cHTML) or other code format that is not identical to the code provided byweb page 110. Alternatively, transcoding instructions may be defined to express the extracted desired data in XML or another code format such as for use by a different client application or plug-in to a client application such asmenu application 82 or another application (not shown) onclient machine 102. - Signature schema documents may be prepared (i.e. coded) using a computing device such as
computing device 128.Computing device 128 may be any suitable desktop or laptop device capable of coding documents (which may be but need not be XML-type documents) and may be configured to automate or semi-automate coding of such documents. -
Computing device 128 may be coupled toweb site 104 to retrieve web pages from the site for reviewing to prepare the custom signature schema document for the site.Computing device 128 may be configured to automatically review the web page code and apply heuristics or other techniques (e.g. spatial analysis) to determine probable content of interest (i.e. desired data) and generate code to extract the desired data. For example, primary content of interest tends to be located toward the centre of the web page. In another embodiment, the computing device may facilitate a user coding signature schema to manually assist with the analysis of the web page and identification of desired data and the generation of the instructions.Computing device 128 may be further coupled torepository 124 to provide (e.g. up-load or publish) coded signature schema documents for use byserver 120. - It will be apparent to a person of ordinary skill in the art that as a web site may be re-designed or otherwise changed such that the code of one or more web page families may be changed or a family added, an existing signature schema may require re-coding to account for the change/addition, as applicable.
- In accordance with a present embodiment, further details concerning the syntax of schema instructions is described.
- The lookup tag instructs the
engine 140 to perform an insert, delete or query the document contents. - Type: Defines the data type of the lookup. Type may be “pex” for a string expression. Type may also support more advanced options such as regular expressions, API calls, and SQL queries.
-
- Action=“locate_string”: Look for a string (“ref” identifier”) value within the data. Return true iff the string exists in the data (i.e. the “ref” identifier index>=0).
- Action=“replace_string”: Replace a string within the data with the “ref” identifier.
- Action=“move_ptr”: Remove all characters in the data that exist before the location of the “ref” identifier.
- Action=“end_ptr”: Remove all characters in the data that exist after the location of the “ref” identifier.
- Action=“get-string” Extract a string based on the location of the “ref”, “start”, and “end” identifiers.
- ID: ID is an identifier of another section within the signature. It allows the result of a query to trigger another set of actions within the signature. This is primarily used when identifying page types. Once a match has been made, specific instructions are executed that are marked with this ID. Recursive data structures (e.g. lists within lists) may also be supported.
- Ref: Ref defines the initial identifier that the lookup searches for. If an AND case is required multiple ref identifiers can be used (i.e. ref=“string1” ref1=“string2”). If an OR case is required ref_[ref identifier]_alt—1 can be used (i.e. ref=“string1” ref_alt—1=“string2”). To demonstrate (X=“1” ∥ Y=“2”) && (A=“8” ∥ B=“9”) would translate to ref=“1”
ref_alt —1=“2” ref1=“8”ref1_alt —1=“9”. - Repeat_[identifier]: Repeat executes the identifier query additional times. For example, if ref=“hello” to set the identifier index at the second occurrence of hello the following tag would be added: repeat_ref=“1”.
- Location=“before”: Search the data in a reverse direction, starting from the “ref” identifier. This implies that both the “start” and “end” identifier indexes must be less than the “ref” index.
- Location=“middle”: Search the data in two directions, starting from the “ref” identifier. This implies that the “ref” identifier index is greater than the “start” identifier index and less than the “end” identifier index.
- Location=“after”: Search the data in a forward direction, starting from the “ref” identifier. This implies that both the “start” and “end” identifier indexes must be greater than the “ref” index.
- Start: Start is primarily used when action=“get_string” and may also be used for replace/remove instructions. The start identifier index will be the start index of the string to extract. If an AND case is required multiple “start” identifiers can be used (i.e. start=“string1” start1=“string2”). If an OR case is required start_[start identifier]_alt—1 can be used (i.e. start=“string1” start_alt—1=“string2”). To demonstrate (X=“1” ∥ Y=“2”) && (A=“8” ∥ B=“9”) would translate to start=“1”
start_alt —1=“2” start1=“8”start1_alt —1=“9”. To find the nth match see the repeat syntax. - End: End is primarily used when action=“get_string” and may also be used for replace/remove instructions. The end identifier index will be the end index of the string to extract. If an AND case is required multiple “end” identifiers can be used (i.e. end=“string1” end1=“string2”). If an OR case is required end_[end identifier]_alt—1 can be used (i.e. end=“string1” end_alt—1=“string2”). To demonstrate (X=“1” ∥ Y=“2”) && (A=“8” ∥ B=“9”) would translate to end=“1”
end_alt —1=“2” end1=“8”end1_alt —1=“9”. To find the nth match see the repeat syntax - Max_index: Max_index is used to limit the scope of a query by ensuring that no other identifier index is greater than the “max_index” . . . If an AND case is required multiple “max_index” identifiers can be used (i.e. max_index=“string1” max_index1=“string2”). If an OR case is required max_index_[max_index identifier]_alt—1 can be used (i.e. max_index=“string1” max_index_alt—1=“string2”). To demonstrate (X=“1” ∥ Y=“2”) && (A=“8” ∥ B=“9”) would translate to max_index=“1”
max_index alt —1=“2” max_index=“8”max_index_alt —1=“9”. To find the nth match see the repeat syntax. - Max_Index_Use_Ref: Max_Index_Use_Ref is a Boolean value set to 0 or 1. It is used with Max_index. When set to 0, the “max_index” will begin querying at the beginning of the data. When set to 1, the “max_index” will begin querying from the “ref” identifier index.
- Gbl_append_[identifier]: Gbl_append appends a string passed via the url to the identifiers query value
- Gbl_Repeat_[identifier]: Gbl_Repeat executes the identifier query additional times. For example, if ref=“hello” to set the identifier index at the second occurrence of hello the following tag would be added: gbl_repeat_ref=“var” where var would be passed in the URL i.e. http://www.eshop.ca/mobile/fatfree.asp?site=... &url=...&var=1.
- Tolerance: Tolerance is a Boolean value set to 0 or 1. It is used to return an empty string. By default tolerance is set to 0 which enforces that a property be found on a page, otherwise the page will be marked as “invalid” and an appropriate error message returned. When set to one, an empty value is returned for properties that can not be located.
- Include_sz: Include_sz is a Boolean value set to 0 or 1 and used with get_string. It is by default set to 0. When set to 1 it includes the “start” value and the “end” value as part of the result.
- Include_start: Include_start is a Boolean value set to 0 or 1 and used with get_string. It is by default set to 0. When set to 1 it includes the “start” value as part of the result.
- Include_end: Include_end is a Boolean value set to 0 or 1 and used with get string. It is by default set to 0. When set to 1 it includes the “end” value as part of the result.
- Closetag: Closetag is a Boolean value set to 0 or 1 and used when action=“get_string”. It appends />to the extracted value.
- Strip_Tags: Strip_Tags removes HTML tags from the value and used when action=“get_string”.
- Strip_tags=“1”: remove all tags.
- Strip_tags=“2”: remove all br and script tags.
- Strip_tags=“3”: remove all tags except replace </p> </li> with <br>.
- Strip_tags=“4”: remove all tags except replace </div> <br> with <br>.
- Strip_tags=“tag1,tag2 . . . tagN”: remove all tag1, tag2, . . . tagN leaving any tag not listed.
- Notrim: Notrim is a Boolean value set to 0 or 1 and used when action=“get_string”. By default all value have white spaced trimmed. When this property is set to 1, white space is not trimmed.
- Append: Append is a string value and used when action=“get_string”. It appends a string to the extracted value.
- Prepend: Prepend is a string value and used when action=“get_string”. It prepends a string to the extracted value.
- Upper: Upper is a Boolean value set to 0 or 1 and used when action=“get_string”. It converts all characters to upper case.
- Lower: Lower is a Boolean value set to 0 or 1 and used when action=“get_string”. It converts all characters to lower case.
- The page syntax extracts the paging information from the data. This allows the end user the ability to change pages just as on the desktop.
- Page_variable: Defines unique key that defines a family's paging feature.
- Page_start: Defines value of first page in a family's paging feature.
- Page_post: Path where paging variable(s) must be transmitted to.
- Page_start :Defines value of first page in a family's paging feature.
- Page_increment: Defines value that paging increases by for each page in a family's paging feature.
- Page_block: Defines unique key that defines a family's paging block feature.
- Page_block_size: Defines the size of the family's page block. (i.e. 10 items per page)
- Url_append: Append the unique key that defines a family's paging feature and the page number.
- Make a web site family's search feature functional by specifying details such as what variable to post.
- Search_path: Search path where search variable must be transmitted to
- Search_variable: Name of search variable which a web site's search feature is looking to read, request, post, etc.
- Url_replace: Remove a portion of the url that is specific to posting search parameters
- The url tag defines global properties for a site, including the url, and name:
- <url location=“http://www.eshop.ca” key=“eshop.ca” name=“E-Shop” />
- Name: Name is the name to display when browsing using the
gateway 120 - Location: Location defines the fully qualified address of the site.
- Key: Key is the site.
- The advanced tag defines global properties for the site. This at a minimum includes the path to the initial page of the site.
-
<advanced> <index_link value=“http://www.eshop.ca” /> <check_out value=“1” /> </advanced> - Index_link: Index_link specifies the path to the initial page of the site. This is usually the same page as the location property from the URL syntax. This field is always required.
- Append_link: Appends a string value to every URL requested for this site.
- No_purchase: No_purchase is a
Boolean value - No_item: No_item is a
Boolean value - Check_out: Check_out is a
Boolean value gateway server 120. When true, then a checkout process has been created for use withgateway server 120. - Product_img_width: Product_img_width defines the width of all item images.
- Use_cookies: Use_cookies a
Boolean value gateway 120 passes all cookies fromclient machine 102 to thesite 104, and from thesite 104 to the client machine. - The page type is a collection of lookup queries that have an id associated with them. Lookup queries may be processed in a top down fashion. The first successful lookup will trigger another section in the signature schema document. For example, if the following evaluates to true:
-
<page_type> <lookup type=“pex” action=“locate_string” name=“list_elements” id=“mylist_1” ref=“<!--” /> </page_type> - Then the tag element <list_elements id=“
mylist —1”> would be executed next. - Elements include list_elements, menu_elements, item_elements, search_elements, form_elements. Each element has an ID. For example a menu element:
- <menu_element id=“menu_id”/>
- The element may contain the following sub containers (settings, actions, elements, paging) which scope resides only within the element. Each element is associated with a specific rendering function.
-
<menu_element id=”menu_id”/> <settings> </settings> <paging> </ paging > <elements> </ elements > <actions> </ actions > </menu_element> - Settings syntax varies based on the type of element it resides in. Settings allow customizations that only apply to a specific page family.
- Black_list—menu_elements: Black_list removes menu items with names that reside in the black list. Each entry is separated delimited (e.g. using two pound characters
- Pass_image—list_elements, search_elements: Pass_image adds the image path to the url when requesting an item. The image added to the url will be used as the item image.
- Price[n]—item_elements: Price[n] where n is an integer renames the rendered item with name price[n].
- Action—form_elements: Overrides the action of a form displayed to the end user.
- Handle—form_elements
- Handle=“display”—display the form to the end user.
- Handle=“post”—post the form.
- Handle=“get”—get the form.
- Cookie—form_elements: Send additional cookies when posting this form.
- Input_[identifier]—form_elements: Input tag adds/modifies a form value with name [identifier] setting its value.
- Rename_[identifier]—form_elements: Rename tag renames a form value with name [identifier].
- The actions tag primary function is data manipulation. It contains lookup queries that modify data with actions of “move_ptr” or “end_ptr”.
-
<actions> <lookup type=“pex” action=“move_ptr” ref=“</head>” /> </actions> - Persons of ordinary skill in the art will appreciate that alternative embodiments are contemplated.
System 100 may be implemented so that one ormore web sites server 106 or by one or more web servers like web-server 106), and that a corresponding one or more schemas for each of those web sites (or each of the web pages therein, or both) can be maintained by gateway andschema server 120 andrepository 124.Client machines 102 can be configured for proxied connections throughdifferent servers 120 and for accessing aggregated web site data fromdatabase 126. Those skilled in the art will now further recognize thatservers 120 andweb server 125 can be hosted by a variety of different parties, including, for example but without limitation: a manufacturer ofclient machine 102, a service provider that provides access to the telecommunication network on behalf of user U of aclient machine 102; the entity that hosts web-site 104 or a third party intermediary. In web site host example it can even be desired to simply combine theweb server 106 andschema server engine 120 on a single server to thereby obviate the need for separate servers. Alternatively the functionality ofserver 120 andweb server 125 may be locally resident on the client machine providing. -
FIG. 4 is a schematic representation of an aggregate website search database 126. Thedatabase 126 contains one or more tables for storing aggregate web page data extracted from target web sites. The database may be a relational database enabling structured database queries. For an e-commerce web site, thedatabase 126 may contain tables defining a web site identification andcategory index 402 andcategory data 404 containing specific item details, as will be discussed in connection withFIG. 5 . Thecategory data 404 may be further broken down intoproduct data 406 table if further data is required.Indices 408 can be created to reference aggregate web site data to improve query responsiveness and results.Metadata 410 associated with the original web pages may be stored such as images, web page formatting on navigation data. A price watch table 412 is provided to identify the originating client machine and items that are of interest and should be monitored by theengine 140 for changes as specified. A user table 414 may also be defined to store user or device specific information such as email or device identification information. -
FIG. 5 is a schematic representation of tables in an aggregate web site search database for e-commerce. The extracted data from selected e-commerce web sites can be formatted intocategory index 402 which identifies 502 the web site where the data was extracted from and thecategory 504 of interest. In thisexample entry 506 identifies http://www.eshop2.ca/pg=3 as the reference for where digital cameras can be indexed. For each category in thecategory index 402, anindividual category 404 table can be created. The category table provideslocation identifiers 510 for each product retrieved from the web site based upon the defined signature schema and populated atstep 310 during the retrieval of data from the web site. Thevendor 512,title 514 of the product,price 516 anddescription 518 extracted can then be stored. It should be understood that the categories identified can be tailored to the application. The database then provides a means for querying the aggregate data from the web site to present meaningful information to theclient machine 102A. By storing the aggregate data, queries can be created for price watch monitoring to meet desired requirements and transcoded for presentation on theclient machine 102A. As the schema is defined to extract elements with which objects and their attributes on the web page can be defined or described and the schema incorporates knowledge of what these objects and attributes represent, anintelligent database 126 can be defined. -
FIG. 6 is a schematic representation of a price watch table 412. The table may be configured to define auser ID 610 or client machine ID to which the price watch notification is to be provided. The item to price watch is identified 612. If the item is defined generically aproduct vendor 614 or manufacturer can be identified. Aprice 616 threshold may be defined on which notification will be provided. Thesuppliers 618 that are to be monitored may then be identified based upon their web site addresses, alternatively if no suppliers are identified, only suppliers' data that is part of the aggregate database will be monitored. For example,entry 622 defines forUser 1, the pricing of product A is to be monitored, the product is manufactured by vendor A and the user wished to be notified when the price change occurs based upon a define threshold, for example, the price drops below $100 at the 3 supplier web sites identified. In other embodiments the entry may identify that notification should occur if a price change or sale happens for the identified product. Theengine 140 would use this information to generate queries to the database periodically to determine if the price threshold has been met at which time a notification would occur to the associatedclient machine 102A. The price watch table may also only identify an item and a price threshold, enabling any vendor and supplier to be identified when the threshold is met or exceeded. Base upon the application, data may stored to define how the user will be notified, such as by push application, a transcoded web page or email etc. -
FIG. 7 illustrates a method of providing an aggregate web site price watch. A price watch request is received 702 and the price watch table 412 entry is created based upon the price watch information such as item, price, vendor and user or device id. A price watch entry may then be created to generate price watch queries 704. Theengine 140 then periodically queries the aggregate database tables forchanges 706 to determine if the threshold as defined by the query is met. Periodic queries may be generated by any number of methods such as, for example, on a define time interval or by notification messages from the web site that changes have occurred.Engine 140 then requests the appropriate pages from the website to update theaggregate database 126. As part of the monitoring process theengine 140 must request web page data from the web site at predetermined intervals to ensure data is up to date. If the price threshold has not been met or exceeded, NO at 708, monitoring continues at 706. If the price threshold has been met or exceeded, YES at 708, pricing details are retrieved 710 from the aggregate database tables. If additional web site related content is required, YES at 712, such as pictures or web site related navigation, metadata can be retrieved atstep 714, otherwise no addition content, NO at 712, is required. A notification can then be sent 716 to the client providing the retrieved data by email message or push application. Alternatively, the retrieved data can be generated using html theclient machine 102A and sent as a web page to the client machine or may produce transcoded version of the web page for deliver to the mobile. - The ability to pull aggregate data from identified e-commerce sites improves the efficiency and accuracy of price watching reducing reliance on RSS feeds from web site provider. In an embodiment, the
data collection engine 152,signature schema engine 140 anddatabase 126 may be implemented directly on theclient machine 102A. Theclient machine 140 would be directly query the relevant web sites and maintain an aggregate database locally. Notification of price watch notification would then be provided locally to theclient machine 102A. - Further, it is recognized that no network calls may be required when retrieving data from the
aggregate database 126. For example, pre-caching to theaggregate database 126 could happen at the beginning of day via the user desktop and then synched to the mobile via a wired connection (for example), so that user can surf pre-cached information offline. For example, using signature schema to grab content based on pre-caching criteria, this could be used to generate the pre-cache database. For providing a price watch or price comparison functionality, theengine 140 can crawl the selected web site and build a comparison pricing information to make available to the public or other subscribers through theaggregate database 126.
Claims (25)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/119,309 US20080288486A1 (en) | 2007-05-17 | 2008-05-12 | Method and system for aggregate web site database price watch feature |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US92450307P | 2007-05-17 | 2007-05-17 | |
US12/119,309 US20080288486A1 (en) | 2007-05-17 | 2008-05-12 | Method and system for aggregate web site database price watch feature |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080288486A1 true US20080288486A1 (en) | 2008-11-20 |
Family
ID=40028558
Family Applications (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/119,300 Expired - Fee Related US8037084B2 (en) | 2007-05-17 | 2008-05-12 | Method and system for transcoding web pages by limiting selection through direction |
US12/119,317 Abandoned US20080289029A1 (en) | 2007-05-17 | 2008-05-12 | Method and system for continuation of browsing sessions between devices |
US12/119,257 Expired - Fee Related US8396881B2 (en) | 2007-05-17 | 2008-05-12 | Method and system for automatically generating web page transcoding instructions |
US12/119,309 Abandoned US20080288486A1 (en) | 2007-05-17 | 2008-05-12 | Method and system for aggregate web site database price watch feature |
US12/119,269 Abandoned US20080288449A1 (en) | 2007-05-17 | 2008-05-12 | Method and system for an aggregate web site search database |
US12/119,221 Abandoned US20080288515A1 (en) | 2007-05-17 | 2008-05-12 | Method and System For Transcoding Web Pages |
US12/119,338 Abandoned US20080288477A1 (en) | 2007-05-17 | 2008-05-12 | Method and system of generating an aggregate website search database using smart indexes for searching |
US12/119,097 Abandoned US20090235187A1 (en) | 2007-05-17 | 2008-05-12 | System and method for content navigation |
US12/119,251 Abandoned US20080288459A1 (en) | 2007-05-17 | 2008-05-12 | Web page transcoding method and system applying queries to plain text |
US12/119,328 Expired - Fee Related US8572105B2 (en) | 2007-05-17 | 2008-05-12 | Method and system for desktop tagging of a web page |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/119,300 Expired - Fee Related US8037084B2 (en) | 2007-05-17 | 2008-05-12 | Method and system for transcoding web pages by limiting selection through direction |
US12/119,317 Abandoned US20080289029A1 (en) | 2007-05-17 | 2008-05-12 | Method and system for continuation of browsing sessions between devices |
US12/119,257 Expired - Fee Related US8396881B2 (en) | 2007-05-17 | 2008-05-12 | Method and system for automatically generating web page transcoding instructions |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/119,269 Abandoned US20080288449A1 (en) | 2007-05-17 | 2008-05-12 | Method and system for an aggregate web site search database |
US12/119,221 Abandoned US20080288515A1 (en) | 2007-05-17 | 2008-05-12 | Method and System For Transcoding Web Pages |
US12/119,338 Abandoned US20080288477A1 (en) | 2007-05-17 | 2008-05-12 | Method and system of generating an aggregate website search database using smart indexes for searching |
US12/119,097 Abandoned US20090235187A1 (en) | 2007-05-17 | 2008-05-12 | System and method for content navigation |
US12/119,251 Abandoned US20080288459A1 (en) | 2007-05-17 | 2008-05-12 | Web page transcoding method and system applying queries to plain text |
US12/119,328 Expired - Fee Related US8572105B2 (en) | 2007-05-17 | 2008-05-12 | Method and system for desktop tagging of a web page |
Country Status (4)
Country | Link |
---|---|
US (10) | US8037084B2 (en) |
EP (10) | EP2156606A4 (en) |
CA (10) | CA2687497A1 (en) |
WO (10) | WO2008141427A1 (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204064A1 (en) * | 2004-03-23 | 2007-08-30 | David Mail | Optimally adapting multimedia content for mobile subscriber device playback |
US20090217145A1 (en) * | 2008-02-27 | 2009-08-27 | Actionthis Limited | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US20090319175A1 (en) * | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Mobile computing devices, architecture and user interfaces based on dynamic direction information |
US20090318168A1 (en) * | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Data synchronization for devices supporting direction-based services |
US20110196732A1 (en) * | 2007-03-26 | 2011-08-11 | Sears Brands, Llc | System and method for handling an offer to purchase a followed item |
US20110258243A1 (en) * | 2010-04-14 | 2011-10-20 | Siemens Product Lifecycle Management Software Inc. | System and Method for Data Caching |
US20110320395A1 (en) * | 2010-06-29 | 2011-12-29 | Uzair Dada | Optimization of Multi-channel Commerce |
US20120245715A1 (en) * | 2011-03-23 | 2012-09-27 | Short Gregory T | In-Game Contextual Telemetry Systems and Methods |
US8467991B2 (en) | 2008-06-20 | 2013-06-18 | Microsoft Corporation | Data services based on gesture and location information of device |
US20130173593A1 (en) * | 2011-12-28 | 2013-07-04 | Target Brands, Inc. | Breadcrumb filtering |
US20140316946A1 (en) * | 2013-04-23 | 2014-10-23 | Christine M. Sanders | Event-driven sales platform and notification system and method |
US20140359065A1 (en) * | 2011-12-27 | 2014-12-04 | Zte Corporation | Terminal device and user information synchronization method |
US20150235301A1 (en) * | 2011-07-19 | 2015-08-20 | Slice Technologies, Inc. | Extracting purchase-related information from digital documents |
US9330188B1 (en) | 2011-12-22 | 2016-05-03 | Amazon Technologies, Inc. | Shared browsing sessions |
US20160162602A1 (en) * | 2013-06-21 | 2016-06-09 | Stillman Bradish | Methods and apparatus for proximally informed database searches |
US9641474B2 (en) | 2011-07-19 | 2017-05-02 | Slice Technologies, Inc. | Aggregation of emailed product order and shipping information |
US9661468B2 (en) | 2009-07-07 | 2017-05-23 | Microsoft Technology Licensing, Llc | System and method for converting gestures into digital graffiti |
US20170249682A1 (en) * | 2012-09-26 | 2017-08-31 | Ten-X, Llc | Online marketplace system |
US9875486B2 (en) | 2014-10-21 | 2018-01-23 | Slice Technologies, Inc. | Extracting product purchase information from electronic messages |
US9892384B2 (en) | 2014-10-21 | 2018-02-13 | Slice Technologies, Inc. | Extracting product purchase information from electronic messages |
US20180137207A1 (en) * | 2010-05-18 | 2018-05-17 | Sensoriant, Inc. | System and method for monitoring changes in databases and websites |
US10296558B1 (en) * | 2012-02-27 | 2019-05-21 | Amazon Technologies, Inc. | Remote generation of composite content pages |
US10298775B1 (en) * | 2011-02-07 | 2019-05-21 | Intermetro Communications, Inc. | System and method for traffic burst protection |
CN110324377A (en) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | A kind of push exchange method, device, electronic equipment and medium |
CN110537180A (en) * | 2017-02-22 | 2019-12-03 | 英国卡米洛要约公司 | System and method for the element in direct browser internal labeling internet content |
US11032223B2 (en) | 2017-05-17 | 2021-06-08 | Rakuten Marketing Llc | Filtering electronic messages |
US11805207B2 (en) | 2020-08-28 | 2023-10-31 | Intermetro Communications, Inc. | Systems and methods for configuring and dynamically applying call route groups |
US11803883B2 (en) | 2018-01-29 | 2023-10-31 | Nielsen Consumer Llc | Quality assurance for labeled training data |
Families Citing this family (308)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240365B2 (en) * | 2002-09-13 | 2007-07-03 | Sun Microsystems, Inc. | Repositing for digital content access control |
US7512972B2 (en) * | 2002-09-13 | 2009-03-31 | Sun Microsystems, Inc. | Synchronizing for digital content access control |
US7913312B2 (en) | 2002-09-13 | 2011-03-22 | Oracle America, Inc. | Embedded content requests in a rights locker system for digital content access control |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US8156427B2 (en) * | 2005-08-23 | 2012-04-10 | Ricoh Co. Ltd. | User interface for mixed media reality |
US8005831B2 (en) * | 2005-08-23 | 2011-08-23 | Ricoh Co., Ltd. | System and methods for creation and use of a mixed media environment with geographic location information |
US9384619B2 (en) | 2006-07-31 | 2016-07-05 | Ricoh Co., Ltd. | Searching media content for objects specified using identifiers |
US8856108B2 (en) | 2006-07-31 | 2014-10-07 | Ricoh Co., Ltd. | Combining results of image retrieval processes |
US8184155B2 (en) | 2007-07-11 | 2012-05-22 | Ricoh Co. Ltd. | Recognition and tracking using invisible junctions |
US7920759B2 (en) * | 2005-08-23 | 2011-04-05 | Ricoh Co. Ltd. | Triggering applications for distributed action execution and use of mixed media recognition as a control input |
US8600989B2 (en) * | 2004-10-01 | 2013-12-03 | Ricoh Co., Ltd. | Method and system for image matching in a mixed media environment |
US8510283B2 (en) | 2006-07-31 | 2013-08-13 | Ricoh Co., Ltd. | Automatic adaption of an image recognition system to image capture devices |
US8838591B2 (en) | 2005-08-23 | 2014-09-16 | Ricoh Co., Ltd. | Embedding hot spots in electronic documents |
US8332401B2 (en) * | 2004-10-01 | 2012-12-11 | Ricoh Co., Ltd | Method and system for position-based image matching in a mixed media environment |
US9171202B2 (en) | 2005-08-23 | 2015-10-27 | Ricoh Co., Ltd. | Data organization and access for mixed media document system |
US7917554B2 (en) | 2005-08-23 | 2011-03-29 | Ricoh Co. Ltd. | Visibly-perceptible hot spots in documents |
US9405751B2 (en) | 2005-08-23 | 2016-08-02 | Ricoh Co., Ltd. | Database for mixed media document system |
US8156115B1 (en) | 2007-07-11 | 2012-04-10 | Ricoh Co. Ltd. | Document-based networking with mixed media reality |
US8521737B2 (en) * | 2004-10-01 | 2013-08-27 | Ricoh Co., Ltd. | Method and system for multi-tier image matching in a mixed media environment |
US8825682B2 (en) | 2006-07-31 | 2014-09-02 | Ricoh Co., Ltd. | Architecture for mixed media reality retrieval of locations and registration of images |
US7991778B2 (en) * | 2005-08-23 | 2011-08-02 | Ricoh Co., Ltd. | Triggering actions with captured input in a mixed media environment |
US7669148B2 (en) * | 2005-08-23 | 2010-02-23 | Ricoh Co., Ltd. | System and methods for portable device for mixed media system |
US7702673B2 (en) * | 2004-10-01 | 2010-04-20 | Ricoh Co., Ltd. | System and methods for creation and use of a mixed media environment |
US8195659B2 (en) * | 2005-08-23 | 2012-06-05 | Ricoh Co. Ltd. | Integration and use of mixed media documents |
US8949287B2 (en) | 2005-08-23 | 2015-02-03 | Ricoh Co., Ltd. | Embedding hot spots in imaged documents |
US7812986B2 (en) * | 2005-08-23 | 2010-10-12 | Ricoh Co. Ltd. | System and methods for use of voice mail and email in a mixed media environment |
US9530050B1 (en) | 2007-07-11 | 2016-12-27 | Ricoh Co., Ltd. | Document annotation sharing |
US8176054B2 (en) * | 2007-07-12 | 2012-05-08 | Ricoh Co. Ltd | Retrieving electronic documents by converting them to synthetic text |
US7885955B2 (en) * | 2005-08-23 | 2011-02-08 | Ricoh Co. Ltd. | Shared document annotation |
US8156116B2 (en) | 2006-07-31 | 2012-04-10 | Ricoh Co., Ltd | Dynamic presentation of targeted information in a mixed media reality recognition system |
US8385589B2 (en) * | 2008-05-15 | 2013-02-26 | Berna Erol | Web-based content detection in images, extraction and recognition |
US7970171B2 (en) | 2007-01-18 | 2011-06-28 | Ricoh Co., Ltd. | Synthetic image and video generation from ground truth data |
US8086038B2 (en) * | 2007-07-11 | 2011-12-27 | Ricoh Co., Ltd. | Invisible junction features for patch recognition |
US9373029B2 (en) | 2007-07-11 | 2016-06-21 | Ricoh Co., Ltd. | Invisible junction feature recognition for document security or annotation |
US8276088B2 (en) | 2007-07-11 | 2012-09-25 | Ricoh Co., Ltd. | User interface for three-dimensional navigation |
US8868555B2 (en) | 2006-07-31 | 2014-10-21 | Ricoh Co., Ltd. | Computation of a recongnizability score (quality predictor) for image retrieval |
US8369655B2 (en) | 2006-07-31 | 2013-02-05 | Ricoh Co., Ltd. | Mixed media reality recognition using multiple specialized indexes |
US8335789B2 (en) * | 2004-10-01 | 2012-12-18 | Ricoh Co., Ltd. | Method and system for document fingerprint matching in a mixed media environment |
US8144921B2 (en) | 2007-07-11 | 2012-03-27 | Ricoh Co., Ltd. | Information retrieval using invisible junctions and geometric constraints |
US8145908B1 (en) * | 2004-10-29 | 2012-03-27 | Akamai Technologies, Inc. | Web content defacement protection system |
US8271980B2 (en) | 2004-11-08 | 2012-09-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
US10755313B2 (en) | 2004-12-27 | 2020-08-25 | Andrew Levi | System and method for distribution of targeted content between mobile communication devices |
US9314697B2 (en) | 2013-07-26 | 2016-04-19 | Blue Calypso, Llc | System and method for advertising distribution through mobile social gaming |
US10354280B2 (en) | 2004-12-27 | 2019-07-16 | Blue Calypso, Llc | System and method for distribution of targeted advertising between mobile communication devices |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
EP3203374B1 (en) | 2005-04-07 | 2021-11-24 | III Holdings 12, LLC | On-demand access to compute resources |
US7769772B2 (en) * | 2005-08-23 | 2010-08-03 | Ricoh Co., Ltd. | Mixed media reality brokerage network with layout-independent recognition |
US8489987B2 (en) | 2006-07-31 | 2013-07-16 | Ricoh Co., Ltd. | Monitoring and analyzing creation and usage of visual content using image and hotspot interaction |
US8073263B2 (en) | 2006-07-31 | 2011-12-06 | Ricoh Co., Ltd. | Multi-classifier selection and monitoring for MMR-based image recognition |
US9020966B2 (en) | 2006-07-31 | 2015-04-28 | Ricoh Co., Ltd. | Client device for interacting with a mixed media reality recognition system |
US9063952B2 (en) | 2006-07-31 | 2015-06-23 | Ricoh Co., Ltd. | Mixed media reality recognition with image tracking |
US8676810B2 (en) | 2006-07-31 | 2014-03-18 | Ricoh Co., Ltd. | Multiple index mixed media reality recognition using unequal priority indexes |
US8201076B2 (en) | 2006-07-31 | 2012-06-12 | Ricoh Co., Ltd. | Capturing symbolic information from documents upon printing |
US9176984B2 (en) | 2006-07-31 | 2015-11-03 | Ricoh Co., Ltd | Mixed media reality retrieval of differentially-weighted links |
WO2008049955A1 (en) | 2006-10-27 | 2008-05-02 | Cvon Innovations Ltd | Method and device for managing subscriber connection |
US8515912B2 (en) | 2010-07-15 | 2013-08-20 | Palantir Technologies, Inc. | Sharing and deconflicting data changes in a multimaster database system |
IL180020A (en) * | 2006-12-12 | 2013-03-24 | Waterfall Security Solutions Ltd | Encryption -and decryption-enabled interfaces |
GB2445630B (en) | 2007-03-12 | 2008-11-12 | Cvon Innovations Ltd | Dynamic message allocation system and method |
CA2687497A1 (en) * | 2007-05-17 | 2008-11-27 | Fat Free Mobile Inc. | Method and system for transcoding web pages |
GB2443580B (en) * | 2007-05-18 | 2008-07-30 | Cvon Innovations Ltd | Access system and method |
US8935718B2 (en) | 2007-05-22 | 2015-01-13 | Apple Inc. | Advertising management method and system |
GB2449944B (en) | 2007-06-09 | 2012-08-08 | Wecomm Ltd | Supplying applications to mobile devices |
GB2452789A (en) | 2007-09-05 | 2009-03-18 | Cvon Innovations Ltd | Selecting information content for transmission by identifying a keyword in a previous message |
IL187492A0 (en) * | 2007-09-06 | 2008-02-09 | Human Interface Security Ltd | Information protection device |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
GB2453810A (en) | 2007-10-15 | 2009-04-22 | Cvon Innovations Ltd | System, Method and Computer Program for Modifying Communications by Insertion of a Targeted Media Content or Advertisement |
US20090119678A1 (en) * | 2007-11-02 | 2009-05-07 | Jimmy Shih | Systems and methods for supporting downloadable applications on a portable client device |
US8595634B2 (en) * | 2007-11-30 | 2013-11-26 | Red Hat, Inc. | Distributed hosting of web application styles |
US8533588B2 (en) * | 2007-11-30 | 2013-09-10 | Red Hat, Inc. | Overriding images in user interfaces |
US9117219B2 (en) * | 2007-12-31 | 2015-08-25 | Peer 39 Inc. | Method and a system for selecting advertising spots |
US8260765B2 (en) * | 2008-01-14 | 2012-09-04 | International Business Machines Corporation | System and method for a tagging service |
US11157975B2 (en) | 2008-01-18 | 2021-10-26 | Blackberry Limited | System and method for network interaction between computing devices |
GB0802585D0 (en) | 2008-02-12 | 2008-03-19 | Mtld Top Level Domain Ltd | Determining a property of communication device |
CN102084391A (en) | 2008-03-05 | 2011-06-01 | 电子湾有限公司 | Method and apparatus for image recognition services |
US9495386B2 (en) | 2008-03-05 | 2016-11-15 | Ebay Inc. | Identification of items depicted in images |
US20090241032A1 (en) * | 2008-03-18 | 2009-09-24 | David Carroll Challener | Apparatus, system, and method for uniform resource locator sharing |
US8584029B1 (en) * | 2008-05-23 | 2013-11-12 | Intuit Inc. | Surface computer system and method for integrating display of user interface with physical objects |
US8041346B2 (en) | 2008-05-29 | 2011-10-18 | Research In Motion Limited | Method and system for establishing a service relationship between a mobile communication device and a mobile data server for connecting to a wireless network |
US7865573B2 (en) * | 2008-05-29 | 2011-01-04 | Research In Motion Limited | Method, system and devices for communicating between an internet browser and an electronic device |
US8418168B2 (en) * | 2008-05-29 | 2013-04-09 | Research In Motion Limited | Method and system for performing a software upgrade on an electronic device connected to a computer |
US8726164B2 (en) * | 2008-05-30 | 2014-05-13 | Microsoft Corporation | Mark-up extensions for semantically more relevant thumbnails of content |
US20090319481A1 (en) * | 2008-06-18 | 2009-12-24 | Yahoo! Inc. | Framework for aggregating information of web pages from a website |
KR20110037958A (en) * | 2008-06-18 | 2011-04-13 | 톰슨 라이센싱 | Method for preparation of a digital document for the display of said document and the navigation within said document |
US9600459B2 (en) * | 2008-07-16 | 2017-03-21 | International Business Machines Corporation | Visual macro showing how some icon or object or text was constructed |
US9251281B2 (en) * | 2008-07-29 | 2016-02-02 | International Business Machines Corporation | Web browsing using placemarks and contextual relationships in a data processing system |
US8462394B2 (en) * | 2008-08-05 | 2013-06-11 | Xerox Corporation | Document type classification for scanned bitmaps |
US20100043011A1 (en) * | 2008-08-18 | 2010-02-18 | International Business Machines Corporation | Method for tracking local storage of web pages |
US20100057586A1 (en) * | 2008-09-04 | 2010-03-04 | China Software Venture | Offer Reporting Apparatus and Method |
US20100070848A1 (en) * | 2008-09-15 | 2010-03-18 | Apple Inc. | Preserving the structure of a list in a document while displaying an outline view of the document |
US10747952B2 (en) | 2008-09-15 | 2020-08-18 | Palantir Technologies, Inc. | Automatic creation and server push of multiple distinct drafts |
KR101035560B1 (en) * | 2008-09-23 | 2011-05-19 | 한국전자통신연구원 | Service offering system and its method |
US7930393B1 (en) | 2008-09-29 | 2011-04-19 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US8316124B1 (en) | 2008-09-29 | 2012-11-20 | Amazon Technologies, Inc. | Managing network data display |
US8117306B1 (en) | 2008-09-29 | 2012-02-14 | Amazon Technologies, Inc. | Optimizing content management |
US8122124B1 (en) | 2008-09-29 | 2012-02-21 | Amazon Technologies, Inc. | Monitoring performance and operation of data exchanges |
US8095569B2 (en) * | 2008-10-06 | 2012-01-10 | International Business Machines Corporation | Customized context menu for files based on their content |
GB2464313A (en) * | 2008-10-10 | 2010-04-14 | Mtld Top Level Domain Ltd | Trancoding a web page |
IL194943A0 (en) * | 2008-10-27 | 2009-09-22 | Human Interface Security Ltd | Verification of data transmitted by computer |
US20100125523A1 (en) * | 2008-11-18 | 2010-05-20 | Peer 39 Inc. | Method and a system for certifying a document for advertisement appropriateness |
US8832319B2 (en) * | 2008-11-18 | 2014-09-09 | Amazon Technologies, Inc. | Synchronization of digital content |
US20100131529A1 (en) * | 2008-11-26 | 2010-05-27 | Vishal Kasera | Open entity extraction system |
US9715557B2 (en) * | 2008-12-09 | 2017-07-25 | Blackberry Limited | System, device and method for providing context sensitive content on a computing device |
US20100146399A1 (en) * | 2008-12-09 | 2010-06-10 | Charles Laurence Stinson | Method, apparatus and system for modifying website flow stack to manage site-wide configuration |
KR20100089339A (en) * | 2009-02-03 | 2010-08-12 | 삼성전자주식회사 | Method and apparatus for generating and displaying image |
US9406042B2 (en) | 2009-02-24 | 2016-08-02 | Ebay Inc. | System and method for supplementing an image gallery with status indicators |
US7917618B1 (en) | 2009-03-24 | 2011-03-29 | Amazon Technologies, Inc. | Monitoring web site content |
US20110314124A1 (en) * | 2009-03-25 | 2011-12-22 | Roger Brian Gimson | Capturing an application state |
US8700982B2 (en) | 2009-03-30 | 2014-04-15 | Blackberry Limited | System, device and method for providing interactive content on an computing device |
US8385660B2 (en) * | 2009-06-24 | 2013-02-26 | Ricoh Co., Ltd. | Mixed media reality indexing and retrieval for repeated content |
KR20110003213A (en) * | 2009-07-03 | 2011-01-11 | 주식회사 아인스아이앤에스 | Method and system for providing contents |
US20110041073A1 (en) * | 2009-08-17 | 2011-02-17 | Hoff Aaron C | Key-Based Storage and Retrieval of Information |
US20110078580A1 (en) * | 2009-09-30 | 2011-03-31 | Logicplant | Method and system for providing interface of web page |
WO2011041465A1 (en) * | 2009-09-30 | 2011-04-07 | Tracking.Net | Enhanced website tracking system and method |
WO2011050368A1 (en) | 2009-10-23 | 2011-04-28 | Moov Corporation | Configurable and dynamic transformation of web content |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
CA2778406C (en) * | 2009-11-09 | 2016-11-22 | Research In Motion Limited | Directional navigation of page content |
US8843849B2 (en) | 2009-11-09 | 2014-09-23 | Blackberry Limited | Directional navigation of page content |
US8751952B2 (en) * | 2009-11-18 | 2014-06-10 | Sap Ag | Dataflow-driven service composition at the presentation layer |
US8495081B2 (en) * | 2009-12-14 | 2013-07-23 | International Business Machines Corporation | Method, system and computer program product for federating tags across multiple systems |
US9164577B2 (en) | 2009-12-22 | 2015-10-20 | Ebay Inc. | Augmented reality system, method, and apparatus for displaying an item image in a contextual environment |
US20110208840A1 (en) * | 2010-02-22 | 2011-08-25 | Lee Blackman | Cookie alert |
US9141724B2 (en) | 2010-04-19 | 2015-09-22 | Afilias Technologies Limited | Transcoder hinting |
CN102238563A (en) * | 2010-04-21 | 2011-11-09 | 华为终端有限公司 | Wireless connection method and equipment |
US8898217B2 (en) | 2010-05-06 | 2014-11-25 | Apple Inc. | Content delivery based on user terminal events |
US8527591B2 (en) | 2010-05-20 | 2013-09-03 | Actual Works, Inc. | Method and apparatus for the implementation of a real-time, sharable browsing experience on a guest device |
US9171087B2 (en) | 2010-05-20 | 2015-10-27 | Samesurf, Inc. | Method and apparatus for the implementation of a real-time, sharable browsing experience on a host device |
US20110289155A1 (en) * | 2010-05-20 | 2011-11-24 | Kambiz David Pirnazar | Method and Apparatus for the Implementation of a Real-Time, Sharable Browsing Experience |
US20110296038A1 (en) * | 2010-05-28 | 2011-12-01 | Unisys Corporation | System and method for continuation of a web session |
US8504419B2 (en) | 2010-05-28 | 2013-08-06 | Apple Inc. | Network-based targeted content delivery based on queue adjustment factors calculated using the weighted combination of overall rank, context, and covariance scores for an invitational content item |
JP5221601B2 (en) * | 2010-06-30 | 2013-06-26 | 楽天株式会社 | Order receiving device, order receiving method, program, and information recording medium |
US8224823B1 (en) * | 2010-06-30 | 2012-07-17 | A9.Com, Inc. | Browsing history restoration |
GB2481843A (en) | 2010-07-08 | 2012-01-11 | Mtld Top Level Domain Ltd | Web based method of generating user interfaces |
US8510658B2 (en) | 2010-08-11 | 2013-08-13 | Apple Inc. | Population segmentation |
US8510309B2 (en) | 2010-08-31 | 2013-08-13 | Apple Inc. | Selection and delivery of invitational content based on prediction of user interest |
US8983978B2 (en) | 2010-08-31 | 2015-03-17 | Apple Inc. | Location-intention context for content delivery |
US8751513B2 (en) | 2010-08-31 | 2014-06-10 | Apple Inc. | Indexing and tag generation of content for optimal delivery of invitational content |
US8640032B2 (en) | 2010-08-31 | 2014-01-28 | Apple Inc. | Selection and delivery of invitational content based on prediction of user intent |
US8655881B2 (en) * | 2010-09-16 | 2014-02-18 | Alcatel Lucent | Method and apparatus for automatically tagging content |
GB2484268A (en) * | 2010-09-16 | 2012-04-11 | Uniloc Usa Inc | Psychographic profiling of users of computing devices |
WO2012037489A1 (en) * | 2010-09-17 | 2012-03-22 | Google Inc. | Moving information between computing devices |
US8966446B1 (en) * | 2010-09-29 | 2015-02-24 | A9.Com, Inc. | Systems and methods of live experimentation on content provided by a web site |
US10423672B2 (en) * | 2010-10-04 | 2019-09-24 | Excalibur Ip, Llc | Network resource-specific search assistance |
US10127606B2 (en) | 2010-10-13 | 2018-11-13 | Ebay Inc. | Augmented reality system and method for visualizing an item |
US8650249B2 (en) * | 2010-10-13 | 2014-02-11 | International Business Machines Corporation | Selectively processing cookies in a proxy |
US8595640B2 (en) * | 2010-12-02 | 2013-11-26 | Microsoft Corporation | Render transform based scrolling and panning for smooth effects |
DE202011110377U1 (en) * | 2010-12-03 | 2013-09-20 | Titus Inc. | System of hierarchical metadata management and application |
CN102567358B (en) * | 2010-12-16 | 2014-07-02 | 腾讯科技(深圳)有限公司 | Navigation content display method and navigation content display device |
US8645491B2 (en) * | 2010-12-18 | 2014-02-04 | Qualcomm Incorporated | Methods and apparatus for enabling a hybrid web and native application |
US10102242B2 (en) * | 2010-12-21 | 2018-10-16 | Sybase, Inc. | Bulk initial download of mobile databases |
US9348939B2 (en) | 2011-03-18 | 2016-05-24 | International Business Machines Corporation | Web site sectioning for mobile web browser usability |
US9754045B2 (en) * | 2011-04-01 | 2017-09-05 | Harman International (China) Holdings Co., Ltd. | System and method for web text content aggregation and presentation |
US9912718B1 (en) * | 2011-04-11 | 2018-03-06 | Viasat, Inc. | Progressive prefetching |
US10096046B2 (en) * | 2011-04-14 | 2018-10-09 | Garrett Wade Mathews | Web-based user support system and method |
US9779007B1 (en) * | 2011-05-16 | 2017-10-03 | Intuit Inc. | System and method for building and repairing a script for retrieval of information from a web site |
US20120310914A1 (en) * | 2011-05-31 | 2012-12-06 | NetSol Technologies, Inc. | Unified Crawling, Scraping and Indexing of Web-Pages and Catalog Interface |
US20130254649A1 (en) * | 2011-06-07 | 2013-09-26 | Michael O'Neill | Establishing user consent to cookie storage on user terminal equipment |
US9280273B2 (en) * | 2011-06-30 | 2016-03-08 | Nokia Technologies Oy | Method, apparatus, and computer program for displaying content items in display regions |
US9058331B2 (en) | 2011-07-27 | 2015-06-16 | Ricoh Co., Ltd. | Generating a conversation in a social network based on visual search results |
US8850515B2 (en) * | 2011-08-15 | 2014-09-30 | Bank Of America Corporation | Method and apparatus for subject recognition session validation |
US8458174B1 (en) * | 2011-09-02 | 2013-06-04 | Google Inc. | Semantic image label synthesis |
US9329851B2 (en) * | 2011-09-09 | 2016-05-03 | Microsoft Technology Licensing, Llc | Browser-based discovery and application switching |
KR20130028375A (en) * | 2011-09-09 | 2013-03-19 | 주식회사 팬택 | Mobile apparatus for synchronizing working environment of web browser based on html5 and method thereof |
USD667449S1 (en) * | 2011-09-12 | 2012-09-18 | Microsoft Corporation | Display screen with icon |
US8370922B1 (en) | 2011-09-30 | 2013-02-05 | Kaspersky Lab Zao | Portable security device and methods for dynamically configuring network security settings |
US9176933B2 (en) * | 2011-10-13 | 2015-11-03 | Microsoft Technology Licensing, Llc | Application of multiple content items and functionality to an electronic content item |
US9069743B2 (en) | 2011-10-13 | 2015-06-30 | Microsoft Technology Licensing, Llc | Application of comments in multiple application functionality content |
US9449342B2 (en) | 2011-10-27 | 2016-09-20 | Ebay Inc. | System and method for visualization of items in an environment using augmented reality |
TW201322247A (en) * | 2011-11-23 | 2013-06-01 | Inst Information Industry | Device, method and computer readable storage medium for storing the method for displaying multiple language characters |
US10015134B2 (en) * | 2011-12-29 | 2018-07-03 | Verisign, Inc. | Methods and systems for creating new domains |
US9367931B1 (en) | 2011-12-30 | 2016-06-14 | hopTo Inc. | Motion vectors for cross-platform display |
US9223534B1 (en) | 2011-12-30 | 2015-12-29 | hopTo Inc. | Client side detection of motion vectors for cross-platform display |
US9454617B1 (en) | 2011-12-30 | 2016-09-27 | hopTo Inc. | Client rendering |
US9218107B1 (en) | 2011-12-30 | 2015-12-22 | hopTo Inc. | Cloud-based text management for cross-platform display |
US8856262B1 (en) | 2011-12-30 | 2014-10-07 | hopTo Inc. | Cloud-based image hosting |
US10108737B2 (en) * | 2012-01-25 | 2018-10-23 | Microsoft Technology Licensing, Llc | Presenting data driven forms |
US9513771B2 (en) * | 2012-08-06 | 2016-12-06 | Wix.Com Ltd. | System for supporting flexible color assignment in complex documents |
US20130230248A1 (en) * | 2012-03-02 | 2013-09-05 | International Business Machines Corporation | Ensuring validity of the bookmark reference in a collaborative bookmarking system |
US20130246218A1 (en) * | 2012-03-15 | 2013-09-19 | Balaji Gopalan | Remote third party payment of in-store items |
US10474728B2 (en) * | 2012-03-21 | 2019-11-12 | Oath Inc. | Seamless browsing between devices |
US9535888B2 (en) * | 2012-03-30 | 2017-01-03 | Bmenu As | System, method, software arrangement and computer-accessible medium for a generator that automatically identifies regions of interest in electronic documents for transcoding |
CN102708192B (en) * | 2012-05-15 | 2017-11-28 | 华为技术有限公司 | A kind of method and system of document sharing, equipment |
US8990363B1 (en) * | 2012-05-18 | 2015-03-24 | hopTo, Inc. | Decomposition and recomposition for cross-platform display |
US9124562B1 (en) | 2012-05-18 | 2015-09-01 | hopTo Inc. | Cloud-based decomposition and recomposition for cross-platform display |
US9106612B1 (en) * | 2012-05-18 | 2015-08-11 | hopTo Inc. | Decomposition and recomposition for cross-platform display |
KR101935357B1 (en) * | 2012-05-21 | 2019-01-04 | 엘지전자 주식회사 | A Method for Providing a Web Page Using Home Device Web Browser and A Home device thereof |
US9141504B2 (en) | 2012-06-28 | 2015-09-22 | Apple Inc. | Presenting status data received from multiple devices |
JP6050625B2 (en) * | 2012-06-28 | 2016-12-21 | サターン ライセンシング エルエルシーSaturn Licensing LLC | Information processing apparatus and information processing method, computer program, and information communication system |
US10846766B2 (en) * | 2012-06-29 | 2020-11-24 | Ebay Inc. | Contextual menus based on image recognition |
US9146981B2 (en) * | 2012-07-06 | 2015-09-29 | International Business Machines Corporation | Automated electronic discovery collections and preservations |
WO2014008468A2 (en) | 2012-07-06 | 2014-01-09 | Blekko, Inc. | Searching and aggregating web pages |
US9442687B2 (en) * | 2012-07-23 | 2016-09-13 | Korea Advanced Institute Of Science And Technology | Method and apparatus for moving web object based on intent |
US20140053064A1 (en) | 2012-08-16 | 2014-02-20 | Qualcomm Incorporated | Predicting the usage of document resources |
US9898445B2 (en) | 2012-08-16 | 2018-02-20 | Qualcomm Incorporated | Resource prefetching via sandboxed execution |
US9215269B2 (en) | 2012-08-23 | 2015-12-15 | Amazon Technologies, Inc. | Predictive caching for content |
US9519685B1 (en) * | 2012-08-30 | 2016-12-13 | deviantArt, Inc. | Tag selection, clustering, and recommendation for content hosting services |
CN103678347B (en) * | 2012-09-07 | 2018-05-04 | 百度在线网络技术(北京)有限公司 | Method and apparatus for web site to be converted to target web app websites |
US10162492B2 (en) | 2012-09-11 | 2018-12-25 | Microsoft Technology Licensing, Llc | Tap-to-open link selection areas |
US9348490B2 (en) * | 2012-09-14 | 2016-05-24 | Ca, Inc. | User interface with configuration, registration, and runtime selection of views |
US20140089772A1 (en) * | 2012-09-27 | 2014-03-27 | Gururaj B. Shetty | Automatically Creating Tables of Content for Web Pages |
US9594484B2 (en) | 2012-10-01 | 2017-03-14 | Yandex Europe Ag | Method and systems for navigating to a sub-resource of an internet resource |
US8965880B2 (en) | 2012-10-05 | 2015-02-24 | Google Inc. | Transcoding and serving resources |
US9081975B2 (en) | 2012-10-22 | 2015-07-14 | Palantir Technologies, Inc. | Sharing information between nexuses that use different classification schemes for information access control |
US9501761B2 (en) | 2012-11-05 | 2016-11-22 | Palantir Technologies, Inc. | System and method for sharing investigation results |
US9378456B2 (en) | 2012-11-19 | 2016-06-28 | Microsoft Technology Licensing, Llc | Task completion |
US10311014B2 (en) * | 2012-12-28 | 2019-06-04 | Iii Holdings 2, Llc | System, method and computer readable medium for offloaded computation of distributed application protocols within a cluster of data processing nodes |
US20140189519A1 (en) * | 2012-12-31 | 2014-07-03 | W.W. Grainger, Inc. | Systems and methods for providing website browsing history to repeat users of a website |
US20140189538A1 (en) * | 2012-12-31 | 2014-07-03 | Motorola Mobility Llc | Recommendations for Applications Based on Device Context |
US20140258816A1 (en) * | 2013-03-08 | 2014-09-11 | True Xiong | Methodology to dynamically rearrange web content for consumer devices |
US9965937B2 (en) | 2013-03-15 | 2018-05-08 | Palantir Technologies Inc. | External malware data item clustering and analysis |
US20140283002A1 (en) * | 2013-03-15 | 2014-09-18 | Stephen Frechette | Method and system for anonymous circumvention of internet filter firewalls without detection or identification |
US9250782B1 (en) | 2013-03-15 | 2016-02-02 | hopTo Inc. | Using split windows for cross-platform document views |
US8788405B1 (en) | 2013-03-15 | 2014-07-22 | Palantir Technologies, Inc. | Generating data clusters with customizable analysis strategies |
US8937619B2 (en) | 2013-03-15 | 2015-01-20 | Palantir Technologies Inc. | Generating an object time series from data objects |
US8917274B2 (en) | 2013-03-15 | 2014-12-23 | Palantir Technologies Inc. | Event matrix based on integrated data |
US9430134B1 (en) | 2013-03-15 | 2016-08-30 | hopTo Inc. | Using split windows for cross-platform document views |
DE102013006351A1 (en) * | 2013-04-12 | 2014-10-30 | Unify Gmbh & Co. Kg | Method and device for managing a call to a call center |
US9875494B2 (en) * | 2013-04-16 | 2018-01-23 | Sri International | Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant |
US9912720B2 (en) * | 2013-05-13 | 2018-03-06 | Appsense Us Llc | Context aware browser policy |
CN104182408B (en) * | 2013-05-23 | 2019-01-29 | 腾讯科技(深圳)有限公司 | A kind of webpage offline access method and device |
US9559902B2 (en) * | 2013-06-02 | 2017-01-31 | Microsoft Technology Licensing, Llc | Distributed state model for system configuration synchronization |
KR102112605B1 (en) * | 2013-07-01 | 2020-05-19 | 삼성전자 주식회사 | Mobile device and Method for controlling network transfer of the mobile device |
US9594811B2 (en) | 2013-07-02 | 2017-03-14 | Sap Se | Method and system for limiting database access results |
JP5447722B1 (en) * | 2013-07-17 | 2014-03-19 | 富士ゼロックス株式会社 | Information processing system and program |
US9607039B2 (en) * | 2013-07-18 | 2017-03-28 | International Business Machines Corporation | Subject-matter analysis of tabular data |
US9814985B2 (en) | 2013-07-26 | 2017-11-14 | Blue Calypso, Llc | System and method for advertising distribution through mobile social gaming |
US10373431B2 (en) | 2013-07-26 | 2019-08-06 | Blue Calypso, Llc | System and method for advertising distribution through mobile social gaming |
US9565152B2 (en) | 2013-08-08 | 2017-02-07 | Palantir Technologies Inc. | Cable reader labeling |
CN103414734A (en) * | 2013-09-05 | 2013-11-27 | 广东动易网络科技有限公司 | Multi-screen optimization technology for supporting different types of terminal equipment to access same website |
US8938686B1 (en) | 2013-10-03 | 2015-01-20 | Palantir Technologies Inc. | Systems and methods for analyzing performance of an entity |
JP5963815B2 (en) * | 2013-11-08 | 2016-08-03 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing apparatus and information processing method |
US8924850B1 (en) | 2013-11-21 | 2014-12-30 | Google Inc. | Speeding up document loading |
WO2015078231A1 (en) * | 2013-11-26 | 2015-06-04 | 优视科技有限公司 | Method for generating webpage template and server |
US10275765B2 (en) * | 2013-12-11 | 2019-04-30 | Ebay Inc. | Omni-channel state preservation |
US20160259641A1 (en) * | 2013-12-16 | 2016-09-08 | Hewlett Packard Enterprise Development Lp | Tagging a program code portion |
US10579647B1 (en) | 2013-12-16 | 2020-03-03 | Palantir Technologies Inc. | Methods and systems for analyzing entity performance |
US9043696B1 (en) * | 2014-01-03 | 2015-05-26 | Palantir Technologies Inc. | Systems and methods for visual definition of data associations |
US9483162B2 (en) | 2014-02-20 | 2016-11-01 | Palantir Technologies Inc. | Relationship visualizations |
US20150242377A1 (en) * | 2014-02-24 | 2015-08-27 | Autodesk, Inc. | Logical structure-based document navigation |
WO2015143416A1 (en) * | 2014-03-21 | 2015-09-24 | Ptc Inc. | Systems and methods for developing and using real-time data applications |
CN104978358B (en) * | 2014-04-11 | 2019-11-15 | 阿里巴巴集团控股有限公司 | The method and intercepting page segment of desktop presentation web page fragments are to desktop presentation system |
KR20160122807A (en) * | 2014-04-14 | 2016-10-24 | 맥아피 인코퍼레이티드 | Automatic log-in and log-out of a session with session sharing |
US9857958B2 (en) | 2014-04-28 | 2018-01-02 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases |
US9544388B1 (en) * | 2014-05-09 | 2017-01-10 | Amazon Technologies, Inc. | Client-side predictive caching for content |
US10162473B2 (en) * | 2014-06-17 | 2018-12-25 | Lenovo (Singapore) Pte. Ltd. | Integrating browser navigation between multiple browsing contexts |
US9202249B1 (en) | 2014-07-03 | 2015-12-01 | Palantir Technologies Inc. | Data item clustering and analysis |
US9454281B2 (en) | 2014-09-03 | 2016-09-27 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US9767172B2 (en) | 2014-10-03 | 2017-09-19 | Palantir Technologies Inc. | Data aggregation and analysis system |
US9501851B2 (en) | 2014-10-03 | 2016-11-22 | Palantir Technologies Inc. | Time-series analysis system |
US9984133B2 (en) | 2014-10-16 | 2018-05-29 | Palantir Technologies Inc. | Schematic and database linking system |
US9912758B2 (en) * | 2014-12-16 | 2018-03-06 | Yahoo Holdings, Inc. | Continuing an application session on a different device |
US10027739B1 (en) * | 2014-12-16 | 2018-07-17 | Amazon Technologies, Inc. | Performance-based content delivery |
US9769248B1 (en) | 2014-12-16 | 2017-09-19 | Amazon Technologies, Inc. | Performance-based content delivery |
US10311372B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10311371B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10225365B1 (en) | 2014-12-19 | 2019-03-05 | Amazon Technologies, Inc. | Machine learning based content delivery |
US9367872B1 (en) | 2014-12-22 | 2016-06-14 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures |
US9335911B1 (en) | 2014-12-29 | 2016-05-10 | Palantir Technologies Inc. | Interactive user interface for dynamic data analysis exploration and query processing |
US9326046B1 (en) | 2015-03-19 | 2016-04-26 | Amazon Technologies, Inc. | Uninterrupted playback of video streams using lower quality cached files |
US20160321285A1 (en) * | 2015-05-02 | 2016-11-03 | Mohammad Faraz RASHID | Method for organizing and distributing data |
US10366431B1 (en) * | 2015-05-15 | 2019-07-30 | Amazon Technologies, Inc. | Computer-readable medium, system, and method for resuming sessions across devices |
US10671796B2 (en) * | 2015-06-07 | 2020-06-02 | Apple Inc. | Article authoring, distribution and rendering architecture |
JP2017016446A (en) * | 2015-07-02 | 2017-01-19 | 富士ゼロックス株式会社 | Information processor and information processing program |
CN107864677B (en) * | 2015-07-22 | 2022-05-27 | 爱维士软件有限责任公司 | Content access authentication system and method |
US10489391B1 (en) | 2015-08-17 | 2019-11-26 | Palantir Technologies Inc. | Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface |
US10482167B2 (en) * | 2015-09-24 | 2019-11-19 | Mcafee, Llc | Crowd-source as a backup to asynchronous identification of a type of form and relevant fields in a credential-seeking web page |
US9760556B1 (en) | 2015-12-11 | 2017-09-12 | Palantir Technologies Inc. | Systems and methods for annotating and linking electronic documents |
US10089289B2 (en) | 2015-12-29 | 2018-10-02 | Palantir Technologies Inc. | Real-time document annotation |
US9996236B1 (en) | 2015-12-29 | 2018-06-12 | Palantir Technologies Inc. | Simplified frontend processing and visualization of large datasets |
US9823818B1 (en) | 2015-12-29 | 2017-11-21 | Palantir Technologies Inc. | Systems and interactive user interfaces for automatic generation of temporal representation of data objects |
US10229214B2 (en) * | 2015-12-31 | 2019-03-12 | Ca, Inc. | Dynamic web page navigation |
US10602332B2 (en) * | 2016-06-20 | 2020-03-24 | Microsoft Technology Licensing, Llc | Programming organizational links that propagate to mobile applications |
US10324609B2 (en) | 2016-07-21 | 2019-06-18 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US10719188B2 (en) | 2016-07-21 | 2020-07-21 | Palantir Technologies Inc. | Cached database and synchronization system for providing dynamic linked panels in user interface |
CN106897346A (en) | 2016-08-04 | 2017-06-27 | 阿里巴巴集团控股有限公司 | The method and device of data processing |
US11232252B2 (en) * | 2016-09-01 | 2022-01-25 | Verint Americas Inc. | System and computer-implemented method for in-page reporting of user feedback on a website or mobile app |
US10445462B2 (en) * | 2016-10-12 | 2019-10-15 | Terarecon, Inc. | System and method for medical image interpretation |
US10133588B1 (en) | 2016-10-20 | 2018-11-20 | Palantir Technologies Inc. | Transforming instructions for collaborative updates |
CN106547915B (en) * | 2016-11-29 | 2019-10-29 | 上海轻维软件有限公司 | Intelligent data extracting method based on model library |
EP3337132A1 (en) * | 2016-12-15 | 2018-06-20 | Awingu Nv | Intermediate broker with multi-session recording |
US10044836B2 (en) | 2016-12-19 | 2018-08-07 | Palantir Technologies Inc. | Conducting investigations under limited connectivity |
CN108268488B (en) * | 2016-12-30 | 2022-04-19 | 百度在线网络技术(北京)有限公司 | Webpage main graph identification method and device |
US10216811B1 (en) | 2017-01-05 | 2019-02-26 | Palantir Technologies Inc. | Collaborating using different object models |
JP6895795B2 (en) * | 2017-04-27 | 2021-06-30 | 株式会社日立製作所 | Data processing systems, data processing methods, and data processing programs |
US11074277B1 (en) | 2017-05-01 | 2021-07-27 | Palantir Technologies Inc. | Secure resolution of canonical entities |
US10574644B2 (en) | 2017-05-03 | 2020-02-25 | International Business Machines Corporation | Stateful session manager |
US10614030B2 (en) | 2017-06-02 | 2020-04-07 | Microsoft Technology Licensing Llc | Task creation and completion with bi-directional user interactions |
US11257038B2 (en) * | 2017-06-02 | 2022-02-22 | Apple Inc. | Event extraction systems and methods |
US10942947B2 (en) | 2017-07-17 | 2021-03-09 | Palantir Technologies Inc. | Systems and methods for determining relationships between datasets |
US10956508B2 (en) | 2017-11-10 | 2021-03-23 | Palantir Technologies Inc. | Systems and methods for creating and managing a data integration workspace containing automatically updated data models |
US11061874B1 (en) | 2017-12-14 | 2021-07-13 | Palantir Technologies Inc. | Systems and methods for resolving entity data across various data structures |
US10853352B1 (en) | 2017-12-21 | 2020-12-01 | Palantir Technologies Inc. | Structured data collection, presentation, validation and workflow management |
GB201800595D0 (en) | 2018-01-15 | 2018-02-28 | Palantir Technologies Inc | Management of software bugs in a data processing system |
US11599369B1 (en) | 2018-03-08 | 2023-03-07 | Palantir Technologies Inc. | Graphical user interface configuration system |
US10885021B1 (en) | 2018-05-02 | 2021-01-05 | Palantir Technologies Inc. | Interactive interpreter and graphical user interface |
US11061542B1 (en) | 2018-06-01 | 2021-07-13 | Palantir Technologies Inc. | Systems and methods for determining and displaying optimal associations of data items |
US10719573B2 (en) | 2018-10-31 | 2020-07-21 | Flinks Technology Inc. | Systems and methods for retrieving web data |
CN109948020A (en) * | 2019-01-14 | 2019-06-28 | 北京三快在线科技有限公司 | Data capture method, device, system and readable storage medium storing program for executing |
US11080358B2 (en) * | 2019-05-03 | 2021-08-03 | Microsoft Technology Licensing, Llc | Collaboration and sharing of curated web data from an integrated browser experience |
CN112667529B (en) * | 2019-10-16 | 2024-02-13 | 戴尔产品有限公司 | Network fabric storage system |
CN110825742B (en) * | 2019-10-31 | 2022-09-06 | 北京东方通科技股份有限公司 | Data paging retrieval method and device, electronic equipment and storage medium |
US11044279B1 (en) | 2019-12-19 | 2021-06-22 | Capital One Services, Llc | Systems and methods for secure browser session transfer |
US11847181B2 (en) * | 2020-02-14 | 2023-12-19 | Microsoft Technology Licensing, Llc | Updating a search page upon return of user focus |
US20220327129A1 (en) * | 2021-04-09 | 2022-10-13 | Tekion Corp | Enabling Real-Time Integration of Up-To-Date Siloed Data |
US20230350967A1 (en) * | 2022-04-30 | 2023-11-02 | Microsoft Technology Licensing, Llc | Assistance user interface for computer accessibility |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020003547A1 (en) * | 2000-05-19 | 2002-01-10 | Zhi Wang | System and method for transcoding information for an audio or limited display user interface |
US6401085B1 (en) * | 1999-03-05 | 2002-06-04 | Accenture Llp | Mobile communication and computing system and method |
US6405204B1 (en) * | 1999-03-02 | 2002-06-11 | Sector Data, Llc | Alerts by sector/news alerts |
US20020087643A1 (en) * | 2000-10-30 | 2002-07-04 | Parsons Eric W. | Method and system for providing unified WAP alerts |
US20020120714A1 (en) * | 2001-02-26 | 2002-08-29 | Borislav Agapiev | Distributed-code, custom-generated dynamic internet inclusion agent |
US20020133484A1 (en) * | 1999-12-02 | 2002-09-19 | International Business Machines Corporation | Storing fragmented XML data into a relational database by decomposing XML documents with application specific mappings |
US20020184266A1 (en) * | 2001-05-31 | 2002-12-05 | Blessin Stephen W. | Universal file format for products that allows both parametric and textual searching |
US20030018668A1 (en) * | 2001-07-20 | 2003-01-23 | International Business Machines Corporation | Enhanced transcoding of structured documents through use of annotation techniques |
US6601100B2 (en) * | 1999-01-27 | 2003-07-29 | International Business Machines Corporation | System and method for collecting and analyzing information about content requested in a network (world wide web) environment |
US20030229900A1 (en) * | 2002-05-10 | 2003-12-11 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US20040078362A1 (en) * | 2002-10-17 | 2004-04-22 | Bumho Kim | System and method for extracting an index for web contents transcoding in a wireless terminal |
US20040103091A1 (en) * | 2002-06-13 | 2004-05-27 | Cerisent Corporation | XML database mixed structural-textual classification system |
US20040225865A1 (en) * | 1999-09-03 | 2004-11-11 | Cox Richard D. | Integrated database indexing system |
US20040249824A1 (en) * | 2003-06-05 | 2004-12-09 | International Business Machines Corporation | Semantics-bases indexing in a distributed data processing system |
US20050066037A1 (en) * | 2002-04-10 | 2005-03-24 | Yu Song | Browser session mobility system for multi-platform applications |
US20050192952A1 (en) * | 2002-04-15 | 2005-09-01 | Microsoft Corporation | Flexible subscription-based event notification |
US20050216492A1 (en) * | 2001-05-03 | 2005-09-29 | Singhal Sandeep K | Technique for enabling remote data access and manipulation from a pervasive device |
US20050273772A1 (en) * | 1999-12-21 | 2005-12-08 | Nicholas Matsakis | Method and apparatus of streaming data transformation using code generator and translator |
US6983287B1 (en) * | 2002-07-01 | 2006-01-03 | Microsoft Corporation | Database build for web delivery |
US20060173985A1 (en) * | 2005-02-01 | 2006-08-03 | Moore James F | Enhanced syndication |
US7120702B2 (en) * | 2001-03-03 | 2006-10-10 | International Business Machines Corporation | System and method for transcoding web content for display by alternative client devices |
US7134073B1 (en) * | 2000-06-15 | 2006-11-07 | International Business Machines Corporation | Apparatus and method for enabling composite style sheet application to multi-part electronic documents |
US20070033521A1 (en) * | 2000-07-24 | 2007-02-08 | Sanghoon Sull | System And Method For Transcoding A Multimedia File To Accommodate A Client Display |
US7177818B2 (en) * | 2000-08-18 | 2007-02-13 | Mark Nair | System and method for an interactive shopping news and price information service |
US20070038643A1 (en) * | 2005-08-09 | 2007-02-15 | Epstein Samuel S | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
US20070073593A1 (en) * | 2005-09-28 | 2007-03-29 | Redcarpet, Inc. | Method and system for consumer price alerts |
Family Cites Families (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US103036A (en) * | 1870-05-17 | Thomas b | ||
US712072A (en) * | 1901-07-09 | 1902-10-28 | Colonial Scale Company | Lifting-machine. |
US811939A (en) * | 1905-03-22 | 1906-02-06 | William Loudon | Feed-water mechanism. |
US924503A (en) | 1908-09-01 | 1909-06-08 | Ernst Otto Schneider | Cylindrical positive electrode. |
US2433375A (en) * | 1944-08-22 | 1947-12-30 | Raytheon Mfg Co | Lead-in connection for electron discharge tubes |
US2622625A (en) * | 1951-03-16 | 1952-12-23 | Crompton & Knowles Loom Works | Method and means for cleaning nose boards on axminster looms |
CA2047871C (en) * | 1990-07-25 | 1996-05-14 | Ikio Yoshida | Portable transceiver and esn transfer system therefor |
US5517618A (en) * | 1992-02-10 | 1996-05-14 | Matsushita Electric Industrial Co., Ltd. | Mobile migration communications control device |
US5508695A (en) * | 1994-07-28 | 1996-04-16 | Motorola, Inc. | Method and apparatus for identifying messages associated with a sports team in a communication system |
US5583983A (en) * | 1994-11-17 | 1996-12-10 | Objectware, Inc. | Multi-platform object-oriented software development and deployment system |
US5918013A (en) | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
US5995102A (en) * | 1997-06-25 | 1999-11-30 | Comet Systems, Inc. | Server system and method for modifying a cursor image |
US6173316B1 (en) * | 1998-04-08 | 2001-01-09 | Geoworks Corporation | Wireless communication device with markup language based man-machine interface |
US6925595B1 (en) * | 1998-08-05 | 2005-08-02 | Spyglass, Inc. | Method and system for content conversion of hypertext data using data mining |
US7032183B2 (en) | 1998-08-14 | 2006-04-18 | Microsoft Corporation | Dynamic site browser |
US6377949B1 (en) * | 1998-09-18 | 2002-04-23 | Tacit Knowledge Systems, Inc. | Method and apparatus for assigning a confidence level to a term within a user knowledge profile |
EP1018689A3 (en) * | 1999-01-08 | 2001-01-24 | Lucent Technologies Inc. | Methods and apparatus for enabling shared web-based interaction in stateful servers |
JP2000242392A (en) * | 1999-02-12 | 2000-09-08 | Dbm Korea:Kk | Computer system for dynamic information display and method thereof |
US6263503B1 (en) * | 1999-05-26 | 2001-07-17 | Neal Margulis | Method for effectively implementing a wireless television system |
US6539494B1 (en) * | 1999-06-17 | 2003-03-25 | Art Technology Group, Inc. | Internet server session backup apparatus |
WO2001003036A1 (en) * | 1999-07-02 | 2001-01-11 | Quickdog, Inc. | Method and apparatus for comparing, ranking and selecting data items including web pages |
US6715129B1 (en) * | 1999-10-13 | 2004-03-30 | International Business Machines Corporation | Achieving application-specific document content by transcoding using Java Server Pages |
US7188176B1 (en) * | 2000-01-20 | 2007-03-06 | Priceline.Com Incorporated | Apparatus, system, and method for maintaining a persistent data state on a communications network |
AU2001245409A1 (en) * | 2000-03-03 | 2001-09-17 | Merinta, Inc. | Framework for a customizable graphics user interface |
US6311180B1 (en) * | 2000-03-28 | 2001-10-30 | Linx Data Terminals, Inc. | Method for mapping and formatting information for a display device |
US7702995B2 (en) * | 2000-04-24 | 2010-04-20 | TVWorks, LLC. | Method and system for transforming content for execution on multiple platforms |
US20040049737A1 (en) * | 2000-04-26 | 2004-03-11 | Novarra, Inc. | System and method for displaying information content with selective horizontal scrolling |
US6484187B1 (en) * | 2000-04-28 | 2002-11-19 | International Business Machines Corporation | Coordinating remote copy status changes across multiple logical sessions to maintain consistency |
WO2001086462A1 (en) | 2000-05-08 | 2001-11-15 | Leap Wireless International, Inc. | Method of converting html/xml to hdml/wml in real-time for display on mobile devices |
US7210099B2 (en) * | 2000-06-12 | 2007-04-24 | Softview Llc | Resolution independent vector display of internet content |
US6455421B1 (en) * | 2000-07-31 | 2002-09-24 | Applied Materials, Inc. | Plasma treatment of tantalum nitride compound films formed by chemical vapor deposition |
US20020054090A1 (en) * | 2000-09-01 | 2002-05-09 | Silva Juliana Freire | Method and apparatus for creating and providing personalized access to web content and services from terminals having diverse capabilities |
US7555448B2 (en) * | 2000-09-29 | 2009-06-30 | Victor Hsieh | Online intelligent information comparison agent of multilingual electronic data sources over inter-connected computer networks |
US7320107B2 (en) * | 2001-02-10 | 2008-01-15 | Samsung Electronics Co., Ltd. | Bookmark frame and method of launching browsers using the bookmark in an internet terminal |
US6828988B2 (en) * | 2001-02-27 | 2004-12-07 | Microsoft Corporation | Interactive tooltip |
US6934736B2 (en) * | 2001-03-15 | 2005-08-23 | Microsoft Corporation | Systems and methods for automatically generating cookies |
US7134075B2 (en) * | 2001-04-26 | 2006-11-07 | International Business Machines Corporation | Conversion of documents between XML and processor efficient MXML in content based routing networks |
US7219309B2 (en) * | 2001-05-02 | 2007-05-15 | Bitstream Inc. | Innovations for the display of web pages |
EP1430420A2 (en) * | 2001-05-31 | 2004-06-23 | Lixto Software GmbH | Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml |
DE60136448D1 (en) * | 2001-06-22 | 2008-12-18 | Microsoft Corp | Wireless browser |
US7051119B2 (en) * | 2001-07-12 | 2006-05-23 | Yahoo! Inc. | Method and system for enabling a script on a first computer to communicate and exchange data with a script on a second computer over a network |
US6904569B1 (en) * | 2001-07-26 | 2005-06-07 | Gateway, Inc. | Link-level browser instance control |
US20030020747A1 (en) * | 2001-07-26 | 2003-01-30 | Aravinda Korala | User input peripheral device substitution for web commerce delivery |
AU2002331822A1 (en) * | 2001-09-05 | 2003-03-18 | Danger Inc. | Transcoding of telehone numbers to links in received web pages |
US6938077B2 (en) * | 2001-11-07 | 2005-08-30 | Microsoft Corporation | Client version advertisement service for overriding default client version properties |
US20030115365A1 (en) * | 2001-12-19 | 2003-06-19 | Teddy Lindsey | Transcoding information in a first markup language into a second markup language |
US8799464B2 (en) * | 2001-12-28 | 2014-08-05 | Motorola Mobility Llc | Multi-modal communication using a session specific proxy server |
EP1330098A1 (en) * | 2002-01-21 | 2003-07-23 | BRITISH TELECOMMUNICATIONS public limited company | Method and communication system for data web session transfer |
US20030154398A1 (en) * | 2002-02-08 | 2003-08-14 | Eaton Eric Thomas | System for providing continuity between session clients and method therefor |
US20030172186A1 (en) * | 2002-03-07 | 2003-09-11 | International Business Machines Coporation | Method, system and program product for transcoding content |
US6687485B2 (en) * | 2002-05-21 | 2004-02-03 | Thinksmark Performance Systems Llc | System and method for providing help/training content for a web-based application |
US7146400B2 (en) * | 2002-05-29 | 2006-12-05 | International Business Machines Corporation | Web and lotus notes adapter layers |
KR100461019B1 (en) | 2002-11-01 | 2004-12-09 | 한국전자통신연구원 | web contents transcoding system and method for small display devices |
US20040142683A1 (en) * | 2002-11-08 | 2004-07-22 | Matt Clark | Programming interface layer of a service provider for data service delivery |
US7949765B2 (en) * | 2002-12-02 | 2011-05-24 | Sap Aktiengesellschaft | Data structure for analyzing user sessions |
US7376913B1 (en) * | 2003-01-07 | 2008-05-20 | Vulcan Portals Inc. | Navigation and selection control for a hand-held portable computer |
WO2004109557A1 (en) * | 2003-06-03 | 2004-12-16 | Forbes Holten Norris, Iii | Flexible, dynamic menu-based web-page architecture |
US20050021851A1 (en) * | 2003-06-09 | 2005-01-27 | Kimmo Hamynen | System, apparatus, and method for directional control input browsing in smart phones |
CA2433375A1 (en) | 2003-06-25 | 2004-12-25 | Ibm Canada Limited - Ibm Canada Limitee | System and method for presenting personalized content on electronic commerce web pages |
US20070276911A1 (en) * | 2003-07-11 | 2007-11-29 | Soujanya Bhumkar | Method and System for Transferring Contact Information and Calendar Events to a Wireless Device Via E-Mail |
US7325204B2 (en) * | 2003-08-29 | 2008-01-29 | Yahoo! Inc. | Slideout windows |
US7558776B2 (en) * | 2004-01-27 | 2009-07-07 | United Services Automobile Association (Usaa) | System and method of managing internet browser navigation |
US7533144B2 (en) * | 2004-05-14 | 2009-05-12 | Hisham Kassab | Method of providing a web page with additional content inserted in an intermediate network entity (INE) platform |
US20060026216A1 (en) * | 2004-07-30 | 2006-02-02 | Mirra, Inc. | Server-assited communication among clients |
US20060074905A1 (en) | 2004-09-17 | 2006-04-06 | Become, Inc. | Systems and methods of retrieving topic specific information |
US20060064411A1 (en) * | 2004-09-22 | 2006-03-23 | William Gross | Search engine using user intent |
US7543069B2 (en) * | 2004-10-18 | 2009-06-02 | International Business Machines Corporation | Dynamically updating session state affinity |
US8145908B1 (en) * | 2004-10-29 | 2012-03-27 | Akamai Technologies, Inc. | Web content defacement protection system |
US20060143568A1 (en) * | 2004-11-10 | 2006-06-29 | Scott Milener | Method and apparatus for enhanced browsing |
US20060116893A1 (en) * | 2004-11-24 | 2006-06-01 | Carnes Joseph L | Apparatus and method of collecting and monitoring shipment data |
US7567542B2 (en) * | 2004-12-22 | 2009-07-28 | Research In Motion Limited | Handling attachment content on a mobile device |
US20060168547A1 (en) * | 2005-01-07 | 2006-07-27 | International Business Machines Corporation | Method and system for synchronizing content in multiple web browser windows |
US7805495B2 (en) * | 2005-03-31 | 2010-09-28 | Google Inc. | Method and system for transferring web browser data between web browsers |
US7895651B2 (en) * | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US7433888B2 (en) | 2005-08-25 | 2008-10-07 | Microsoft Corporation | Schema packaging, distribution and availability |
CA2622625A1 (en) * | 2005-09-14 | 2007-03-22 | O-Ya!, Inc. | Networked information indexing and search apparatus and method |
GB2430507A (en) * | 2005-09-21 | 2007-03-28 | Stephen Robert Ives | System for managing the display of sponsored links together with search results on a mobile/wireless device |
US7912755B2 (en) * | 2005-09-23 | 2011-03-22 | Pronto, Inc. | Method and system for identifying product-related information on a web page |
US20080288600A1 (en) * | 2005-10-18 | 2008-11-20 | Clark Christopher M | Apparatus and method for providing access to associated data related to primary media data via email |
US7895604B2 (en) * | 2005-11-17 | 2011-02-22 | Opera Software Asa | Method and device for event communication between documents |
US20070208751A1 (en) * | 2005-11-22 | 2007-09-06 | David Cowan | Personalized content control |
NO325961B1 (en) * | 2005-12-05 | 2008-08-25 | Holte Bjoern | System, process and software arrangement to assist in navigation on the Internet |
US20070157304A1 (en) * | 2006-01-05 | 2007-07-05 | International Business Machines Corporation | Method, apparatus and computer program product for automatic cookie synchronization between distinct web browsers |
US20070180148A1 (en) * | 2006-02-02 | 2007-08-02 | Multimedia Abacus Corporation | Method and apparatus for creating scalable hi-fidelity HTML forms |
US7937458B2 (en) * | 2006-02-14 | 2011-05-03 | Nanamura Roberto N | On-demand software service system and method |
WO2007101182A2 (en) * | 2006-02-28 | 2007-09-07 | Maven Networks, Inc. | Systems and methods for delivering and managing media content downloaded to a network connected device |
US8739027B2 (en) * | 2006-03-01 | 2014-05-27 | Infogin, Ltd. | Methods and apparatus for enabling use of web content on various types of devices |
US8086698B2 (en) * | 2006-06-02 | 2011-12-27 | Google Inc. | Synchronizing configuration information among multiple clients |
US9195372B2 (en) * | 2006-06-28 | 2015-11-24 | Scenera Technologies, Llc | Methods, systems, and computer program products for grouping tabbed portion of a display object based on content relationships and user interaction levels |
US20080052381A1 (en) * | 2006-08-22 | 2008-02-28 | Koon Wah Yu | Method and system for selecting a transcoder to convert between content types |
NO325628B1 (en) * | 2006-09-20 | 2008-06-30 | Opera Software Asa | Procedure, computer program, transcoding server and computer system to modify a digital document |
US9128596B2 (en) * | 2006-09-22 | 2015-09-08 | Opera Software Asa | Method and device for selecting and displaying a region of interest in an electronic document |
EP2095308A4 (en) * | 2006-12-18 | 2011-05-18 | Razz Serbanescu | System and method for electronic commerce and other uses |
US7739410B2 (en) * | 2007-01-07 | 2010-06-15 | Apple Inc. | Synchronization methods and systems |
KR20080078291A (en) * | 2007-02-23 | 2008-08-27 | 엘지전자 주식회사 | Method for displaying browser and terminal capable of implementing the same |
US20080256485A1 (en) * | 2007-04-12 | 2008-10-16 | Jason Gary Krikorian | User Interface for Controlling Video Programs on Mobile Computing Devices |
CA2687497A1 (en) * | 2007-05-17 | 2008-11-27 | Fat Free Mobile Inc. | Method and system for transcoding web pages |
US20090013085A1 (en) * | 2007-06-18 | 2009-01-08 | Hadas Liberman Ben-Ami | Interaction-management methods and platform for client-agent interaction-related environments |
US20090063690A1 (en) * | 2007-09-05 | 2009-03-05 | Motorola, Inc. | Continuing an application session using a different device from one that originally initiated the application session while preserving session while preserving session state and data |
US7873748B2 (en) * | 2007-11-30 | 2011-01-18 | International Business Machines Corporation | Synchronization of locally and remotely stored browser data |
US20110077032A1 (en) * | 2009-09-29 | 2011-03-31 | Harry Benjamin Correale | Restriction Method and Apparatus for Texting Based on Speed |
-
2008
- 2008-05-12 CA CA002687497A patent/CA2687497A1/en not_active Abandoned
- 2008-05-12 EP EP08757085A patent/EP2156606A4/en not_active Withdrawn
- 2008-05-12 CA CA002687480A patent/CA2687480A1/en not_active Abandoned
- 2008-05-12 US US12/119,300 patent/US8037084B2/en not_active Expired - Fee Related
- 2008-05-12 US US12/119,317 patent/US20080289029A1/en not_active Abandoned
- 2008-05-12 EP EP08748305A patent/EP2151088A4/en not_active Withdrawn
- 2008-05-12 WO PCT/CA2008/000909 patent/WO2008141427A1/en active Application Filing
- 2008-05-12 CA CA002687479A patent/CA2687479A1/en not_active Abandoned
- 2008-05-12 WO PCT/CA2008/000919 patent/WO2008141434A1/en active Application Filing
- 2008-05-12 US US12/119,257 patent/US8396881B2/en not_active Expired - Fee Related
- 2008-05-12 WO PCT/CA2008/000914 patent/WO2008141429A1/en active Application Filing
- 2008-05-12 US US12/119,309 patent/US20080288486A1/en not_active Abandoned
- 2008-05-12 WO PCT/CA2008/000908 patent/WO2008141426A1/en active Application Filing
- 2008-05-12 EP EP08748301A patent/EP2158723A4/en not_active Withdrawn
- 2008-05-12 WO PCT/CA2008/000917 patent/WO2008141432A1/en active Application Filing
- 2008-05-12 CA CA2687473A patent/CA2687473C/en not_active Expired - Fee Related
- 2008-05-12 CA CA002687484A patent/CA2687484A1/en not_active Abandoned
- 2008-05-12 US US12/119,269 patent/US20080288449A1/en not_active Abandoned
- 2008-05-12 US US12/119,221 patent/US20080288515A1/en not_active Abandoned
- 2008-05-12 CA CA2687483A patent/CA2687483C/en not_active Expired - Fee Related
- 2008-05-12 US US12/119,338 patent/US20080288477A1/en not_active Abandoned
- 2008-05-12 CA CA002687478A patent/CA2687478A1/en not_active Abandoned
- 2008-05-12 US US12/119,097 patent/US20090235187A1/en not_active Abandoned
- 2008-05-12 EP EP08748306A patent/EP2151089A4/en not_active Ceased
- 2008-05-12 EP EP08757086A patent/EP2151093A4/en not_active Withdrawn
- 2008-05-12 WO PCT/CA2008/000916 patent/WO2008141431A1/en active Application Filing
- 2008-05-12 WO PCT/CA2008/000918 patent/WO2008141433A1/en active Application Filing
- 2008-05-12 US US12/119,251 patent/US20080288459A1/en not_active Abandoned
- 2008-05-12 EP EP08748312A patent/EP2151090A4/en not_active Withdrawn
- 2008-05-12 EP EP08748313A patent/EP2151091A4/en not_active Ceased
- 2008-05-12 US US12/119,328 patent/US8572105B2/en not_active Expired - Fee Related
- 2008-05-12 EP EP08748311A patent/EP2156328A4/en not_active Withdrawn
- 2008-05-12 CA CA2686292A patent/CA2686292A1/en not_active Abandoned
- 2008-05-12 CA CA002687475A patent/CA2687475A1/en not_active Abandoned
- 2008-05-12 WO PCT/CA2008/000907 patent/WO2008141425A1/en active Application Filing
- 2008-05-12 EP EP08757084A patent/EP2151092A4/en not_active Ceased
- 2008-05-12 EP EP08757083A patent/EP2156393A4/en not_active Withdrawn
- 2008-05-12 CA CA2687530A patent/CA2687530C/en not_active Expired - Fee Related
- 2008-05-12 WO PCT/CA2008/000903 patent/WO2008141424A1/en active Application Filing
- 2008-05-12 WO PCT/CA2008/000915 patent/WO2008141430A1/en active Application Filing
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601100B2 (en) * | 1999-01-27 | 2003-07-29 | International Business Machines Corporation | System and method for collecting and analyzing information about content requested in a network (world wide web) environment |
US6405204B1 (en) * | 1999-03-02 | 2002-06-11 | Sector Data, Llc | Alerts by sector/news alerts |
US6401085B1 (en) * | 1999-03-05 | 2002-06-04 | Accenture Llp | Mobile communication and computing system and method |
US20040225865A1 (en) * | 1999-09-03 | 2004-11-11 | Cox Richard D. | Integrated database indexing system |
US20020133484A1 (en) * | 1999-12-02 | 2002-09-19 | International Business Machines Corporation | Storing fragmented XML data into a relational database by decomposing XML documents with application specific mappings |
US20050273772A1 (en) * | 1999-12-21 | 2005-12-08 | Nicholas Matsakis | Method and apparatus of streaming data transformation using code generator and translator |
US20020003547A1 (en) * | 2000-05-19 | 2002-01-10 | Zhi Wang | System and method for transcoding information for an audio or limited display user interface |
US7134073B1 (en) * | 2000-06-15 | 2006-11-07 | International Business Machines Corporation | Apparatus and method for enabling composite style sheet application to multi-part electronic documents |
US20070033521A1 (en) * | 2000-07-24 | 2007-02-08 | Sanghoon Sull | System And Method For Transcoding A Multimedia File To Accommodate A Client Display |
US7177818B2 (en) * | 2000-08-18 | 2007-02-13 | Mark Nair | System and method for an interactive shopping news and price information service |
US20020087643A1 (en) * | 2000-10-30 | 2002-07-04 | Parsons Eric W. | Method and system for providing unified WAP alerts |
US20020120714A1 (en) * | 2001-02-26 | 2002-08-29 | Borislav Agapiev | Distributed-code, custom-generated dynamic internet inclusion agent |
US7120702B2 (en) * | 2001-03-03 | 2006-10-10 | International Business Machines Corporation | System and method for transcoding web content for display by alternative client devices |
US20050216492A1 (en) * | 2001-05-03 | 2005-09-29 | Singhal Sandeep K | Technique for enabling remote data access and manipulation from a pervasive device |
US20020184266A1 (en) * | 2001-05-31 | 2002-12-05 | Blessin Stephen W. | Universal file format for products that allows both parametric and textual searching |
US20030018668A1 (en) * | 2001-07-20 | 2003-01-23 | International Business Machines Corporation | Enhanced transcoding of structured documents through use of annotation techniques |
US20050066037A1 (en) * | 2002-04-10 | 2005-03-24 | Yu Song | Browser session mobility system for multi-platform applications |
US20050192952A1 (en) * | 2002-04-15 | 2005-09-01 | Microsoft Corporation | Flexible subscription-based event notification |
US20030229900A1 (en) * | 2002-05-10 | 2003-12-11 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US20040103091A1 (en) * | 2002-06-13 | 2004-05-27 | Cerisent Corporation | XML database mixed structural-textual classification system |
US6983287B1 (en) * | 2002-07-01 | 2006-01-03 | Microsoft Corporation | Database build for web delivery |
US20040078362A1 (en) * | 2002-10-17 | 2004-04-22 | Bumho Kim | System and method for extracting an index for web contents transcoding in a wireless terminal |
US20040249824A1 (en) * | 2003-06-05 | 2004-12-09 | International Business Machines Corporation | Semantics-bases indexing in a distributed data processing system |
US20060173985A1 (en) * | 2005-02-01 | 2006-08-03 | Moore James F | Enhanced syndication |
US20070038643A1 (en) * | 2005-08-09 | 2007-02-15 | Epstein Samuel S | Methods and apparatuses to assemble, extract and deploy content from electronic documents |
US20070073593A1 (en) * | 2005-09-28 | 2007-03-29 | Redcarpet, Inc. | Method and system for consumer price alerts |
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204064A1 (en) * | 2004-03-23 | 2007-08-30 | David Mail | Optimally adapting multimedia content for mobile subscriber device playback |
US8782281B2 (en) | 2004-03-23 | 2014-07-15 | Cisco Technology Inc. | Optimally adapting multimedia content for mobile subscriber device playback |
US20110196732A1 (en) * | 2007-03-26 | 2011-08-11 | Sears Brands, Llc | System and method for handling an offer to purchase a followed item |
US10679198B2 (en) * | 2007-03-26 | 2020-06-09 | Transform Sr Brands Llc | System and method for handling an offer to purchase a followed item |
US7886218B2 (en) * | 2008-02-27 | 2011-02-08 | Aptimize Limited | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US20090217145A1 (en) * | 2008-02-27 | 2009-08-27 | Actionthis Limited | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US20100077294A1 (en) * | 2008-02-27 | 2010-03-25 | Aptimize Limited | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US10057724B2 (en) | 2008-06-19 | 2018-08-21 | Microsoft Technology Licensing, Llc | Predictive services for devices supporting dynamic direction information |
US8700302B2 (en) | 2008-06-19 | 2014-04-15 | Microsoft Corporation | Mobile computing devices, architecture and user interfaces based on dynamic direction information |
US20090318168A1 (en) * | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Data synchronization for devices supporting direction-based services |
US9200901B2 (en) | 2008-06-19 | 2015-12-01 | Microsoft Technology Licensing, Llc | Predictive services for devices supporting dynamic direction information |
US8200246B2 (en) | 2008-06-19 | 2012-06-12 | Microsoft Corporation | Data synchronization for devices supporting direction-based services |
US20090319175A1 (en) * | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Mobile computing devices, architecture and user interfaces based on dynamic direction information |
US20090319178A1 (en) * | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Overlay of information associated with points of interest of direction based data services |
US20090315995A1 (en) * | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Mobile computing devices, architecture and user interfaces based on dynamic direction information |
US8615257B2 (en) | 2008-06-19 | 2013-12-24 | Microsoft Corporation | Data synchronization for devices supporting direction-based services |
US8700301B2 (en) | 2008-06-19 | 2014-04-15 | Microsoft Corporation | Mobile computing devices, architecture and user interfaces based on dynamic direction information |
US8868374B2 (en) | 2008-06-20 | 2014-10-21 | Microsoft Corporation | Data services based on gesture and location information of device |
US8467991B2 (en) | 2008-06-20 | 2013-06-18 | Microsoft Corporation | Data services based on gesture and location information of device |
US10509477B2 (en) | 2008-06-20 | 2019-12-17 | Microsoft Technology Licensing, Llc | Data services based on gesture and location information of device |
US9703385B2 (en) | 2008-06-20 | 2017-07-11 | Microsoft Technology Licensing, Llc | Data services based on gesture and location information of device |
US9661468B2 (en) | 2009-07-07 | 2017-05-23 | Microsoft Technology Licensing, Llc | System and method for converting gestures into digital graffiti |
US8775488B2 (en) * | 2010-04-14 | 2014-07-08 | Siemens Product Lifecycle Management Software Inc. | System and method for data caching |
US20110258243A1 (en) * | 2010-04-14 | 2011-10-20 | Siemens Product Lifecycle Management Software Inc. | System and Method for Data Caching |
US20180137207A1 (en) * | 2010-05-18 | 2018-05-17 | Sensoriant, Inc. | System and method for monitoring changes in databases and websites |
US20110320395A1 (en) * | 2010-06-29 | 2011-12-29 | Uzair Dada | Optimization of Multi-channel Commerce |
US10701218B1 (en) | 2011-02-07 | 2020-06-30 | Intermetro Communications, Inc. | System and method for dynamic multifactor routing |
US11546477B1 (en) | 2011-02-07 | 2023-01-03 | Intermetro Communications, Inc. | System and method for dynamic multifactor routing |
US10298775B1 (en) * | 2011-02-07 | 2019-05-21 | Intermetro Communications, Inc. | System and method for traffic burst protection |
US20120245715A1 (en) * | 2011-03-23 | 2012-09-27 | Short Gregory T | In-Game Contextual Telemetry Systems and Methods |
US8660673B2 (en) * | 2011-03-23 | 2014-02-25 | Electronic Entertainment Design And Research | In-game contextual telemetry systems and methods |
US9641474B2 (en) | 2011-07-19 | 2017-05-02 | Slice Technologies, Inc. | Aggregation of emailed product order and shipping information |
US9563915B2 (en) * | 2011-07-19 | 2017-02-07 | Slice Technologies, Inc. | Extracting purchase-related information from digital documents |
US9846902B2 (en) | 2011-07-19 | 2017-12-19 | Slice Technologies, Inc. | Augmented aggregation of emailed product order and shipping information |
US20150235301A1 (en) * | 2011-07-19 | 2015-08-20 | Slice Technologies, Inc. | Extracting purchase-related information from digital documents |
US9330188B1 (en) | 2011-12-22 | 2016-05-03 | Amazon Technologies, Inc. | Shared browsing sessions |
US20140359065A1 (en) * | 2011-12-27 | 2014-12-04 | Zte Corporation | Terminal device and user information synchronization method |
US20130173593A1 (en) * | 2011-12-28 | 2013-07-04 | Target Brands, Inc. | Breadcrumb filtering |
US10296558B1 (en) * | 2012-02-27 | 2019-05-21 | Amazon Technologies, Inc. | Remote generation of composite content pages |
US20170249682A1 (en) * | 2012-09-26 | 2017-08-31 | Ten-X, Llc | Online marketplace system |
US20140316946A1 (en) * | 2013-04-23 | 2014-10-23 | Christine M. Sanders | Event-driven sales platform and notification system and method |
US20160162602A1 (en) * | 2013-06-21 | 2016-06-09 | Stillman Bradish | Methods and apparatus for proximally informed database searches |
US9892384B2 (en) | 2014-10-21 | 2018-02-13 | Slice Technologies, Inc. | Extracting product purchase information from electronic messages |
US9875486B2 (en) | 2014-10-21 | 2018-01-23 | Slice Technologies, Inc. | Extracting product purchase information from electronic messages |
CN110537180A (en) * | 2017-02-22 | 2019-12-03 | 英国卡米洛要约公司 | System and method for the element in direct browser internal labeling internet content |
US11032223B2 (en) | 2017-05-17 | 2021-06-08 | Rakuten Marketing Llc | Filtering electronic messages |
US11803883B2 (en) | 2018-01-29 | 2023-10-31 | Nielsen Consumer Llc | Quality assurance for labeled training data |
CN110324377A (en) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | A kind of push exchange method, device, electronic equipment and medium |
US11805207B2 (en) | 2020-08-28 | 2023-10-31 | Intermetro Communications, Inc. | Systems and methods for configuring and dynamically applying call route groups |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080288486A1 (en) | Method and system for aggregate web site database price watch feature | |
US7627648B1 (en) | Customizing and storing web pages for mobile on web | |
US8943086B2 (en) | Model-based backend service adaptation of business objects | |
US20130080900A1 (en) | Techniques for managing and viewing followed content | |
US20110119298A1 (en) | Method and apparatus for searching information | |
WO2012161928A1 (en) | Techniques to automatically search selected content | |
JP2002342222A (en) | Method of providing contents | |
JP2002342213A (en) | Method of providing contents | |
US20240028661A1 (en) | Augmented ui generated through natural language query and semantic data connections | |
US9544263B1 (en) | Method and system for sending an indication of response to an online post from a text message |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FAT FREE MOBILE INC., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KIM, SANG-HEUN;STINSON, CHARLES LAURENCE;REEL/FRAME:021167/0468 Effective date: 20080604 |
|
AS | Assignment |
Owner name: FAT FREE MOBILE INC., ONTARIO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KIM, SANG-HEUN;STINSON, CHARLES LARRY;REEL/FRAME:026850/0475 Effective date: 20110901 |
|
AS | Assignment |
Owner name: RESEARCH IN MOTION LIMITED, ONTARIO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FAT FREE MOBILE INC.;REEL/FRAME:026967/0350 Effective date: 20110916 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: BLACKBERRY LIMITED, ONTARIO Free format text: CHANGE OF NAME;ASSIGNOR:RESEARCH IN MOTION LIMITED;REEL/FRAME:034161/0093 Effective date: 20130709 |