US20100313252A1 - System, method and apparatus for creating and using a virtual layer within a web browsing environment - Google Patents

System, method and apparatus for creating and using a virtual layer within a web browsing environment Download PDF

Info

Publication number
US20100313252A1
US20100313252A1 US12/455,797 US45579709A US2010313252A1 US 20100313252 A1 US20100313252 A1 US 20100313252A1 US 45579709 A US45579709 A US 45579709A US 2010313252 A1 US2010313252 A1 US 2010313252A1
Authority
US
United States
Prior art keywords
layer
user
web
editable
content
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
Application number
US12/455,797
Inventor
Erie Trouw
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
REVIZER TECHNOLOGIES Ltd
Original Assignee
YONTOO TECHNOLOGY Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by YONTOO TECHNOLOGY Inc filed Critical YONTOO TECHNOLOGY Inc
Priority to US12/455,797 priority Critical patent/US20100313252A1/en
Priority to US12/960,340 priority patent/US9201672B1/en
Publication of US20100313252A1 publication Critical patent/US20100313252A1/en
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION SECURITY AGREEMENT Assignors: YONTOO TECHNOLOGY, INC.
Assigned to YONTOO TECHNOLOGY, INC. reassignment YONTOO TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NOWELL, ASHLEY S., TROUW, ARIE
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YONTOO LLC
Assigned to YONTOO TECHNOLOGY, INC. reassignment YONTOO TECHNOLOGY, INC. RELEASE Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION
Assigned to YONTOO LLC reassignment YONTOO LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YONTOO TECHNOLOGY, INC.
Assigned to REVIZER TECHNOLOGIES LTD reassignment REVIZER TECHNOLOGIES LTD ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YONTOO LLC
Priority to US15/058,495 priority patent/US20160180436A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • G06Q30/0629Directed, with specific intent or strategy for generating comparisons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0222During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Definitions

  • the present invention generally relates to a technique for enabling interactive capabilities between users of the World Wide Web and content providers of the World Wide Web. More particularly, the present invention relates to a system and a method for configuring a user interface comprised of an editable layer within a network.
  • Hyper Text Markup Language is a scripting or programming language which enables the content providers or developers of World Wide Web pages to place hyperlinks within World Wide Web pages which then link to related content or data present in other World Wide Web pages.
  • the content or data present in each web page can be navigated by the end users of World Wide Web using a Graphical User Interface (GUI).
  • GUI Graphical User Interface
  • the end users of the World Wide Web are able to read and gather the content or data present in World Wide Web pages placed by the content providers. Furthermore, the end users of the World Wide Web are able to interact with the web page, as well as other end users, based on the type of functionality offered by the content providers of the World Wide Web.
  • the conventional technologies as described above have not advanced significantly relative to the growth of internet.
  • the conventional techniques lack the ability of editing or modifying existing World Wide Web pages virtually by the end.
  • the conventional techniques also lack the ability of retrieving and accumulating data from multiple web pages that the end user is not currently viewing. Further, they do not allow for simultaneously manipulating and reposting the retrieved data on to a layer present over another World Wide Web page.
  • the World Wide Web pages that can be manipulated or interacted by the end users are the pages that have been created by the World Wide Web content providers.
  • a system for configuring a user-editable layer within a network includes a client computing system further including a web browser including a loaded web page configured to obtain web content from a universal network server through a web address.
  • the user-editable layer may include at least one of a virtual layer, an emulating layer, an upgradable layer and the like.
  • GUI Graphical User Interface
  • the system for configuring a user-editable layer within a network includes a layer definition server including an application object model to collect objects from the client computing system and the universal network server to enable a comparison between the objects of the application object model and the web address and displaying the web content on the user-editable layer responsive to a match generated following the comparison.
  • the system for configuring a user-editable layer within a network includes a layer definition server including an application object model for displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to the loaded web page.
  • the user-editable layer generated using a layer markup language may be included in the layer definition server.
  • the layer markup language includes built-in logical nodes for avoiding a need of writing scripts for enabling objects for executing events.
  • the system for configuring a user-editable layer within a network includes a plug-in unit coupled to the layer definition server and an authentication server for: 1) authenticating user credential information, 2) transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication and 3) rendering the transferred web content on the client computing system while enabling an edit feature for the user-editable layer.
  • the plug-in unit includes a logical simulator sub-unit further including a license key for enabling a user-editable layer configuration in the client computing system.
  • the plug-in unit includes a client software sub-unit further including a license key for enabling a user-editable layer configuration in the client computing system.
  • the application object model includes a document object model unit for posting to the plug-in unit information, indexes and references pertaining to downloaded object in the client computing system further pertaining to markup languages.
  • the system for configuring a user-editable layer within a network includes the authentication server coupled to the layer definition server for verifying a need for authenticating a user credential information, transferring the web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server if minimal authentication is needed for the user credential information and rendering the transferred web content to the client computing system through the plug-in unit including a client software module.
  • the system for configuring a user-editable layer within a network includes the authentication server coupled to the layer definition server for verifying a need for authenticating a user credential information, transferring the web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server if minimal authentication is needed for the user credential information and rendering the transferred web content to the client computing system through the web browser.
  • the layer definition server sends an authentication request to the plug-in unit including the client software sub-unit, wherein an authentication is required for user credentials, wherein a user enters credentials into a message box in the client software sub-unit, wherein the entered credentials are sent to the server for verification, wherein the authentication server sends an authentication verified signal to the client software sub-unit further sending the authentication verified signal to the layer definition server, and wherein the layer definition server sends an authenticated version of the web content to the client software sub-unit for loading onto the client computing system.
  • a method for configuring an editable virtual layer in an internet browsing environment includes a user opening a predetermined web browser through a client computing system to reach a universal network server including a World Wide Web domain.
  • the method for configuring an editable virtual layer in an internet browsing environment includes triggering a virtual layer software sub-unit responsive to the user opening the web browser for enabling a visual access permission for the editable virtual layer through the predetermined web browser.
  • the method for configuring an editable virtual layer in an internet browsing environment includes navigating to a uniform resource locator (URL) through the predetermined web browser responsive to triggering the virtual layer software sub-unit.
  • the virtual layer software sub-unit includes a license key for enabling an editable virtual layer configuration in the client computing system.
  • the method for configuring an editable virtual layer in an internet browsing environment includes transferring the URL information to a server unit configured to store a plurality of layer extensions and configured to render the plurality of layer extensions while collecting objects from the client computing system and universal network server through an application object model for enabling a comparison between objects of the application object model and the URL, displaying a plurality of layer extensions on the editable virtual layer in an overlying manner while maintaining visual resolution between a web page loaded through the URL and the plurality of layer extensions, the rendering being responsive to a match generated following the comparison.
  • the server unit includes a content server unit adaptable to the application object model.
  • the method for configuring an editable virtual layer in an internet browsing environment includes aggregating objects corresponding to the plurality of layer extensions and corresponding to the URL using a layer markup language.
  • the step of aggregating the objects is executed through a layer definition server unit adaptable to the layer markup language including a plurality of built-in logical tags for avoiding a need of writing scripts for enabling objects for executing events.
  • the step of aggregating objects includes rendering a menu user interface (UI) at a predetermined location in a page for the predetermined web browser, executing an event in the layer markup language following a user triggered signal through the client computing system and enabling a series of editing modules on to the editable virtual layer responsive to the execution of the event. In absence of a user triggered signal asking the user whether the user has triggered any signal and returning to the page after a predetermined delay in absence of further response.
  • UI menu user interface
  • the method for configuring an editable virtual layer in an internet browsing environment further includes loading a pre-rendered layer markup language module, returning the layer markup language to the virtual layer software sub-unit including a plurality of layer extensions present on the URL and having the virtual layer software sub-unit executing initialization routines in the layer markup language.
  • a computer readable medium including a plurality of computer readable instructions.
  • the computer readable medium including a plurality of computer readable instructions which when executed by at least one computer causes configuring a client computing system further includes a web browser including a loaded web page for obtaining a web content from a universal network server through a web address.
  • the computer readable medium including a plurality of computer readable instructions which when executed by at least one computer causes: 1) configuring a layer definition server including an application object model for collecting objects from the client computing system and the universal network server to enable a comparison between objects of the application object model and the web address; 2) displaying the web content on the user-editable layer responsive to a match generated following the comparison; 3) displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to visual environment of the loaded web page, wherein the user-editable layer is generated using a layer markup language included in a layer definition server.
  • the computer readable medium may include a plurality of computer readable instructions which when executed by at least one computer causes: 1) authenticating user credential information, 2) transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication; and 3) rendering the transferred web content on the client computing system while enabling an edit feature for the user-editable layer.
  • FIG. 1 is a diagram depicting a high level view of the basic components used to make a virtual layer and how they interact.
  • FIG. 2 is a flowchart illustrating a process for displaying the content on the virtual layer over web pages once the client software is already running on the user's computer.
  • FIG. 3 is a flow chart illustrating a process of aggregating the extension YLML.
  • FIG. 4 is flowchart illustrating a process of executing events and routines described in the YLML.
  • FIG. 5 is a flowchart illustrating a process of extension discovery.
  • FIG. 6 is a flowchart illustrating a process of loading the extensions that have been associated with the current web page.
  • FIG. 7 is a flowchart illustrating a process of a client rendering the extensions on the virtual layer.
  • FIG. 8 is a flowchart illustrating a process of security methods adapted that keep users from seeing content that they do not want to, or is not intended for them to see.
  • FIG. 9 is a flowchart illustrating a process of posting or editing the content with in the virtual layer.
  • FIG. 10 is a diagram depicting a web page without the addition of anything on the virtual layer and a web page with the addition of content added to the virtual layer.
  • Exemplary embodiments of the present invention are directed to a system and a method for configuring a user-editable layer within a network.
  • the present technique describes a method for enabling interactive capabilities between users of the World Wide Web as well as between content providers and users of World Wide Web.
  • a system for configuring a user-editable layer within a network includes a client computing system further including a web browser including a loaded web page configured to obtain web content from a universal network server through a web address.
  • the user-editable layer may include at least one of a virtual layer, an emulating layer, an upgradable layer and the like.
  • a Graphical User Interface is adaptable to a domain of the web browser for enabling a visual access to the loaded web page and the user-editable layer.
  • the system for configuring a user-editable layer within a network includes a layer definition server including an application object model to collect objects from the client computing system and the universal network server to enable a comparison between the objects of the application object model and the web address and displaying the web content on the user-editable layer responsive to a match generated following the comparison.
  • the system for configuring a user-editable layer within a network includes a layer definition server including an application object model for displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to the loaded web page, the user-editable layer generated using a layer markup language included in a layer definition server.
  • the layer markup language includes built-in logical tags for avoiding a need of writing scripts for enabling objects for executing events.
  • the system for configuring a user-editable layer within a network includes a plug-in unit coupled to the layer definition server and an authentication server for authenticating user credential information, transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication and rendering the transferred web content on the client computing system while enabling an edit feature for the user-editable layer.
  • the plug-in unit includes a logical simulator sub-unit further including a license key for enabling a user-editable layer configuration in the client computing system.
  • the plug-in unit includes a client software sub-unit further including a license key for enabling a user-editable layer configuration in the client computing system.
  • the application object model includes a document object model unit for posting to the plug-in unit information, indexes and references pertaining to downloaded object in the client computing system further pertaining to markup languages.
  • the system for configuring a user-editable layer within a network includes the authentication server coupled to the layer definition server for verifying a need for authenticating a user credential information, transferring the web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server if minimal authentication is needed for the user credential information and rendering the transferred web content to the client computing system through the plug-in unit including a client software module.
  • the system for configuring a user-editable layer within a network includes the authentication server coupled to the layer definition server for verifying a need for authenticating a user credential information, transferring the web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server if minimal authentication is needed for the user credential information and rendering the transferred web content to the client computing system through the web browser.
  • the layer definition server sends an authentication request to the plug-in unit including the client software sub-unit, wherein an authentication is required for user credentials, wherein a user enters credentials into a message box in the client software sub-unit, wherein the entered credentials are sent to the server for verification, wherein the authentication server sends an authentication verified signal to the client software sub-unit further sending the authentication verified signal to the layer definition server, and wherein the layer definition server sends an authenticated version of the web content to the client software sub-unit for loading on to the client computing system.
  • a method for configuring an editable virtual layer in an internet browsing environment includes a user opening a predetermined web browser through a client computing system to reach a universal network server including a World Wide Web domain.
  • the method for configuring an editable virtual layer in an internet browsing environment includes triggering a virtual layer software sub-unit responsive to the user opening the web browser for enabling a visual access permission for the editable virtual layer through the predetermined web browser.
  • the method for configuring an editable virtual layer in an internet browsing environment includes navigating to a uniform resource locator (URL) through the predetermined web browser responsive to triggering the virtual layer software sub-unit.
  • the virtual layer software sub-unit includes a license key for enabling an editable virtual layer configuration in the client computing system.
  • the method for configuring an editable virtual layer in an internet browsing environment includes transferring the URL information to a server unit configured to store a plurality of layer extensions and configured to render the plurality of layer extensions while collecting objects from the client computing system and universal network server through an application object model for enabling a comparison between objects of the application object model and the URL, displaying a plurality of layer extensions on the editable virtual layer in an overlying manner while maintaining visual resolution between a web page loaded through the URL and the plurality of layer extensions, the rendering being responsive to a match generated following the comparison.
  • the server unit includes a content server unit adaptable to the application object model.
  • the method for configuring an editable virtual layer in an internet browsing environment includes aggregating objects corresponding to the plurality of layer extensions and corresponding to the URL using a layer markup language.
  • the step aggregating objects is executed through a layer definition server unit adaptable to the layer markup language including a plurality of built-in logical nodes for avoiding a need of writing scripts for enabling objects for executing events.
  • the step of aggregating objects includes rendering a menu user interface (UI) at a predetermined location in a page for the predetermined web browser for no layer applications present for the page, executing an event in the layer markup language following a user triggered signal through the client computing system and enabling a series of editing modules on to the editable virtual layer responsive to the execution of the event.
  • UI menu user interface
  • the method for configuring an editable virtual layer in an internet browsing environment further includes loading a pre-rendered layer markup language module, returning the layer markup language to the virtual layer software sub-unit including a plurality of layer extensions present on the URL and the virtual layer software sub-unit executing initialization routines in the layer markup language.
  • a computer readable medium including a plurality of computer readable instructions.
  • the computer readable medium includes computer readable instructions which when executed by at least one computer causes configuring a client computing system and web browser to obtain web content from a universal network server through a web address.
  • the computer readable medium including a plurality of computer readable instructions which when executed by at least one computer causes configuring a layer definition server comprising an application object model for collecting objects from the client computing system and the universal network server to enable a comparison between objects of the application object model and the web address and displaying the web content on the user-editable layer responsive to a match generated following the comparison, for displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to visual environment of the loaded web page, the user-editable layer generated using a layer markup language included in a layer definition server.
  • a layer definition server comprising an application object model for collecting objects from the client computing system and the universal network server to enable a comparison between objects of the application object model and the web address and displaying the web content on the user-editable layer responsive to a match generated following the comparison, for displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to visual environment of the loaded web page, the user-editable layer generated using a layer mark
  • the computer readable medium including a plurality of computer readable instructions which when executed by at least one computer causes: 1) authenticating user credential information, 2) transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication and 3) rendering the transferred web content on the client computing system while enabling an edit feature for the user-editable layer.
  • the virtual layer is superimposed onto web sites within the client's web browser and includes functionality that can be added to a user's interactive capabilities with and within the World Wide Web.
  • the system is preferably implemented through a new XML schema called YLML (Yontoo Layer Markup Language).
  • YLML Yontoo Layer Markup Language
  • This new language contains executable programming tags, referenceable data tags, renderable UI tags and the like.
  • HTML which is a document markup language that is sometimes used as an application markup language simply because it is widely supported and the industry norm
  • YLML is a true application markup language that is different from HTML in that it has executable nodes and does not follow the same DOM structure that HTML does.
  • YLML is also different from other XML languages in that it does not use code-behind. YLML does not require a separate file with logic source code, nor does it have imbedded logic using external languages. While other dynamic versions of XML require the use of code-behind or require the addition of external languages such as JavaScript and VBScript to be imbedded into script tags, YLML has native executable logic tags that eliminate the requirement for other languages to be imbedded into tags or used for code-behind.
  • a new object model that works in conjunction with YLML is disclosed.
  • This object model is called a YOM (Yontoo Object Model).
  • a DOM can use only the information that exists in the document it is referencing to create a set of objects that are used to access the data within the HTML.
  • the YOM on the other hand, is a single template that has an established structure that enables access to any information, data or content accessible through a computer system, including, but not restricted to the World Wide Web, databases, data stores, a client's computer or other content sources.
  • the YOM's established structure enables it to access specific content that exists on the World Wide Web, a database, a data store or any other location connected to a networked computer system without requiring content beyond the scope of exactly what is needed to be loaded.
  • This enables the YOM to create objects within the model using a JIT (just in time) method, as opposed to creating the entirety of the model when the incoming file is parsed as is the case with the use of a DOM.
  • the advantage of using the YOM over the DOM is that it gives access to a much broader range of content, including the World Wide Web, databases, data stores, a client's computer or other sources of content, according to an example of the present invention.
  • a DOM to provide this access, it would need to first load the entirety of the content that exists within these sources which is performance prohibitive.
  • the combination of the YLML, the YOM and the layer system makes it possible to provide users with the ability to add content from many different sources to the virtual layer. It will also enable users to use specific functionalities of web pages, applications and services without having to load the entirety of these web pages, applications, services and the like, according to an example of the present invention.
  • the users create new web sites with YLML and YOM structure as used in the layer system.
  • FIG. 1 a diagram is provided which depicts a high level view of the basic components used to make a virtual layer and how they interact.
  • the display of the client's computer 114 will show a combination of information coming from the client's Web Browser 110 and the client side software portion of the invention i.e. Client Software 112 , according to an example of the present invention.
  • the Web Browser 110 may be Firefox, Internet Explorer, Netscape Navigator and the like browsers that would enable the users to perform internet browsing.
  • the content being displayed on the web browser comes from third-party web servers 102 from all over the world (World Wide Web).
  • the Client Software 112 sends the URL information from the web browser to the Layer Definition Server 106 .
  • the Layer Definition Server 106 contains the YOM which contains all of the information, indexes and references needed for the content that will be posted to the Client Software 112 . Accordingly, the server checks the YOM to see if there is any content that needs to be displayed on the virtual layer of the user's Client Software 112 , based on the URL of the user's Web Browser 110 . If the Layer Definition Server 106 decides that there is content to be placed on the user's Client Software 112 , it then checks to see if authentication is needed.
  • the a file containing the data needed to display or load the content is sent from the Layer Definition Server 106 to the Client Software 112 , according to an exemplary embodiment of the present invention.
  • the Client Software 112 will then either render the content itself or have the user's Web Browser 110 render the content.
  • This content will either come from the invention's Content Server 104 or any other computer that is connected through a network or the Internet.
  • the Layer Definition Server 106 will send an authentication request back to the Client Software 112 .
  • the user will type credentials into a message box in the Client Software 112 and the login information will be sent to the Authentication Server 108 for verification. If the credentials are correct, the Authentication Server 108 sends the authentication back to the Client Software 112 which then sends it back to the Layer Definition Server 106 , according to an exemplary embodiment of the present invention.
  • the Layer Definition Server 106 receives the authentication, it will send a file containing the data needed to display or load the content for the Client Software 112 , according to an exemplary embodiment of the present invention.
  • a menu for the separate layer apps as well as other functionalities available for each website will be accessible through a clickable icon in the bottom corner of the browser, according to an example of the present invention. When the icon is clicked, it will bring up the menu for the user to choose the desired tool or functionality.
  • This Menu User Interface resembles existing menus such as the Start Menu for the Microsoft Windows OS, according to an example of the present invention.
  • the users are enabled to place images, text, widgets, applications and like content onto the virtual layer such that they will appear to be within the web page itself.
  • the content that has been placed on the virtual layer can be viewed by anyone running the software needed to display the virtual layer and its content. This will be possible when the web page that is being overlaid, with additional content from the user, is one that the user has the right and permission to edit, for instance, on a user's personalized social network page, personal home page, personal blog page and the like according to an example of the present invention.
  • Information about the edits placed on the virtual layer are preferably stored on servers that will interact with client computers.
  • the software When users running the software needed to view the virtual layer's content browse to a web page that has content placed on a designated virtual layer, the software will receive information from the servers where the edits or augmentations are stored and display the edits or augmentations that have been made to that specific web page. According to an example of the present invention, every user running the client software can access the content within the virtual layer simultaneously while viewing a given designated web page.
  • the system may provide restricted access to the content placed on the virtual layer.
  • the content placed on to the virtual layer may be viewed only by a predefined user who has placed the content on the virtual layer. This would enable the user to put widgets, applications, text, pictures and the like onto the virtual layer for their own personal use without allowing access to other parties.
  • the virtual layer could be personalized for each user that might be on the same web site at the same time running the software.
  • An example of this would be a user adding a stock ticker widget to the virtual layer superimposed over The Washington Post homepage on their computer. The stock ticker widget would appear only on the virtual layer of the specific user that placed the content on the virtual layer.
  • users can place the content onto the virtual layer of every web site they view. This would provide the users with the ability to place content on the virtual layer that does not change as they navigate from one web site to another.
  • users can place a stock ticker widget onto the virtual layer of a web site and the stock ticker widget remains on the virtual layer as the user browses from one web site to another. Further, this functionality would have no effect or impact on any users running the software on any other computer.
  • FIG. 2 there is a flowchart 200 illustrating a process for displaying content on a virtual layer once the client software is already running on the user's computer.
  • a user opens a web browser 202 in order to get connected to the World Wide Web. Opening the browser will trigger the client software to run as a Plug-In or Add-On in the web browser 204 . Accordingly, the user will navigate to a URL 206 through the web browser. The client software will then send the URL information to the server side software of the invention 208 .
  • the server scans its data (the YOM) to determine whether there are any extensions (Layer Apps) for the web page based on the URL, according to an exemplary embodiment of the present invention. If there are layer apps for the web page currently being viewed, the server aggregates the extension YLML 218 (see a detailed description of this process in FIG. 3 ). Accordingly, at step 220 the extension YLML is then sent to the client software and is rendered on the user's browser (see a detailed description of this process in FIG. 7 ). After rendering the extension content, the client software then renders the Menu UI in the bottom corner of the browser 212 .
  • the step of rendering the Menu UI is the step that the system would have gone directly to if there had not been any extensions for the current web page, according to an example of the present invention.
  • the client software waits for any changes to the system through user interaction by waiting for the user to trigger an event 214 .
  • An example of a user triggered event would be if the user clicked on the Menu UI 214 . This would execute an event in the YLML at step 222 (see a detailed description of this process in FIG. 4 ). After the event has been executed in the YLML, it is sent back to the client to be rendered 220 and the process goes on indefinitely.
  • step 216 i.e. whether the user browsed to a new web page. If the answer is no, then it goes back to asking if the user has triggered an event 214 and continues in the pattern until something else changes. If the answer to the question at 216 (“Is page unloading?”) is yes, then the system goes back up to the point in the process where the URL is loaded i.e. to step 206 and continues the cycle through the same process as before, in accordance with an exemplary embodiment of the present invention.
  • FIG. 3 is a flow chart 300 illustrating a process of aggregating the extension YLML.
  • the server builds the extension list for the URL currently being viewed (see a detailed description of this process in FIG. 5 ).
  • the server loads the pre-rendered YLML (see a detailed description of this process in FIG. 6 ).
  • the server then returns the YLML to the client software with all of the extensions on the list for the current URL at step 306 , in accordance with an exemplary embodiment of the present invention.
  • the client software executes the initialization routines in the YLML (see a detailed description of this process in FIG. 4 ).
  • FIG. 4 is flowchart 400 illustrating a process of executing events and routines described in the YLML.
  • the YLML to be rendered is received to the client software (“Client”) from the server.
  • the Client parses the YLML and then looks to find the first node that is pending execution and sets the instruction pointer to that node.
  • the instruction pointer provides reference to the client as to which functionality is to be executed next.
  • the Client executes the functionality that is referenced by the instruction pointer at step 404 .
  • the Client checks the YLML to see if there is another node requiring execution at step 408 .
  • the event execution process is over until the Client receives new YLML data 412 . If there is another node requiring execution, the instruction pointer is advanced to the next node requiring execution at step 410 and then the Client executes the necessary functionality i.e. the client executes the step 406 and continues the process, according to an exemplary embodiment of the present invention.
  • the flowchart 500 illustrates a process of extension discovery.
  • the server receives the current URL information from the Client.
  • the Server searches the YOM to find any extensions that are associated with the URL and adds the extensions to a “found list” at step 504 .
  • the Server looks deeper to find additional extensions to be added. It searches for and adds to the found list, any extensions that are associated with the URL and file path at step 506 , according to an example of the present invention.
  • the server further looks even deeper by searching for and adding to the found list any extensions that are associated with the URL, the file path and the query string.
  • the Server then removes any extensions that have been disabled by the user at step 510 and sends the extension list on to the extension loading process at step 512 .
  • a flowchart 600 is provided which illustrates a process of loading the extensions that have been associated with the current web page.
  • the list of extensions is received from the Extension Discovery process.
  • the process continues through step 604 wherein the loop counter used to index the extensions on the list is set to zero.
  • the process starts to add the extensions indexed by the loop counter by copying the first one on the list from the YOM and putting it into the YLML that will be rendered (see a detailed description of this process in FIG. 8 ).
  • a step 608 the user data for the first extension on the list is copied from the YOM and put into the YLML that will be rendered (see a detailed description of this process in FIG. 8 ). Both the extension data and the user data will contain Peg mapping data to tell the Client where the extensions and the content belong on the virtual layer. Once these two pieces have been added to the YLML the loop counter is incremented at step 610 . Further at step 612 , the process checks to see if the loop counter is greater than or equal to the extension list count, according to an example of the present invention.
  • the process retrieves the Peg Data Block from the YOM at step 614 .
  • the Peg Data Block is based on the URL and it will provide the locations needed to properly place the content correctly on the virtual layer of the Client.
  • first step 702 is the Client receiving the renderable YLML from the server.
  • the Client finds the first block of data, content and executable nodes in the YLML to be rendered at step 704 .
  • the Client finds the first component within the first block at step 706 .
  • the Client finds the Peg Data that corresponds with the first component to be rendered.
  • the Client renders the component onto the virtual layer at step 710 .
  • the Client then goes back to the YLML at step 712 to find the next component in the block to be rendered.
  • the Client finds the corresponding Peg Data for the component at step 708 and renders the new component at step 710 . This cycle continues until there are no more components to be rendered within the first block in the YLML, according to an example of the present invention.
  • the Client looks in the YLML for the next block of data, content and executable nodes to be rendered at step 714 . If a new block is found, the Client finds the first component to be rendered at step 706 and continues through the process the same as before until there are no new blocks to be rendered, according to an exemplary embodiment of the present invention. Once the Client cannot find a new block to be rendered, the rendering process is finished at step 716 until the Client receives new YLML with new or additional blocks to be rendered.
  • the users are provided with the ability to add content to a virtual layer having restricted access.
  • one way that permission may be granted is the establishment of a relationship between the poster of the content and the viewer of the content within a proprietary social graph.
  • Another way that permission can be granted may be through the establishment of a relationship between the poster of the content and the viewer of the content within a social graph outside the system of the invention, but the system outside of the invention has access to the system of the present invention.
  • An example of this would be two people that have a connection through the social graph of an existing social network site or an email address contacts list.
  • this relationship would not be established by default or simply by the existence of a connection within a social graph but would need to be opted into by both the content poster and the content viewer.
  • a poster could add or change content within the virtual layer over a web site and then create a shared key or password that would enable any viewer running the software to view content on the virtual layer.
  • another way that permission can be granted is through the establishment of a relationship between the poster of the content and the viewer of the content by embedding the permission needed to view the poster's content into a hyperlink.
  • These hyperlinks could be placed in an email, instant message, onto a web site that the poster has the ability and permission to edit or anywhere else that a hyperlink can be placed.
  • the users may be provided with an ability to save shared keys or passwords that provide access to content on the virtual layer within the system.
  • This technique would prevent the need for a viewer to type in the shared key or password each time they view a page.
  • An example of this would be a viewer being able to see daily updated comments or editorials on the virtual layers over web pages without having to remember and re-enter the shared key or password every day.
  • users may set a password or a shared key to expire between one and thirty days.
  • the user could renew the password or shared key for an additional one to thirty days, for example, at any point before it has expired.
  • the user can renew the password or shared key as many times as desired, in accordance with an exemplary embodiment of the present invention.
  • the users may create a social graph within the system that can be used to tie users together or connect users in different ways.
  • a social graph within the system that can be used to tie users together or connect users in different ways.
  • One example of this would be a friends list that existed within the invention's software system. This will allow users to have pre-set lists where the content placed on the virtual layer by specific people can be viewed simply by the association between the poster and the viewer on the social graph.
  • a flowchart 800 is provided which illustrates a process of security methods adapted that keep users from seeing content that they do not want to or is not intended for them to see.
  • the flow chart 800 also describes the methods designed to keep users from editing or adding content that they do not have permission or rights to write on to the virtual layer.
  • the process begins at step 802 wherein the system receives a user request to read or write a node within the YOM. It is important to remember that the process begins with a specific request. According to an exemplary embodiment of the present invention, the request may be either for a user to read something specific or write (add/edit) something specific. It will not be a request to grant the user full read and write access to the entirety of node in question.
  • step 804 the process checks to see if the node that the user is looking for access to has a security requirement. If the answer is no, then the read or write access is granted at step 812 and the security check for that specific node is finished at step 816 . If the node for which read/write access is being requested does have a security requirement, the requirement is loaded at step 806 . Then the process checks the user's credentials at step 808 to see if the user is the owner of the security requirement. If the user is the security requirement owner, then read or write access to the YOM node is granted at step 812 and the security check for that specific node is finished at step 816 , according to an example of the present invention.
  • the process checks at step 812 to see if the user is a member of a group that has rights to read or write the node in question. If the user is a member of a group with the right to read and write then the request to read and write the node is granted at step 812 and the security check for that specific node is finished at step 816 . If the user is not a member of a group that provides him authority to read or write the node in question, the process generates an error at step 814 and the security check for that specific node is finished at step 816 .
  • the users can collect desired content from one web page and put it onto the virtual layer over another web page. This would enable the users with an ability to create “MashUps”. The ability to use content from other web pages will provide users with many more customization choices.
  • the system and the method may allow users to drag the content present on the virtual layer onto the desktop of the client computing system. This would involve a “tear off” function that will place the content being removed from the virtual layer onto a separate application window.
  • the system and the method may enable users to conglomerate the content onto the invention's servers, create and use new applications that pull content from multiple web sites and compile the multi-source data into one application.
  • users could use a single application to view email and receive instant messages from multiple sources. Further, users could simultaneously be able to view and interact with multiple social network web sites and the like.
  • the users can post the content that is tied to a specific object on the underlying web page on the virtual layer.
  • the content posted onto the virtual layer may appear as though it is actually attached to the underlying web page i.e. when the user scrolls down on the web page, the content on the virtual layer will scroll as well.
  • This placement method will involve “Pegs” that show the location of where different objects within the underlying web page are placed and attaching the content on the virtual layer to the same “pegged” location.
  • the “Pegs” will be attached to existing objects within a web page, if a user has placed content on the virtual layer that is associated with an underlying object that can be moved within the web site itself, as in some personal home pages where the placement of objects can be changed by the user, the content on the virtual layer will move with it. Users will also be able to place content on the virtual layer that is placed in relation to the browser window so that it does not scroll when the users scrolls up or down on the underlying web page, in accordance with an exemplary embodiment of the present invention.
  • a flowchart 900 which illustrates a process of posting or editing the content within the virtual layer.
  • the Client at step 904 checks the user's security information to verify what edits the user has rights to and then enables available edits based on user's rights at step 906 .
  • the user can make the desired edits by adding, removing or moving components on to the virtual layer.
  • the Client sends the amended YLML to the Server in order to update the YOM at step 912 .
  • the Server again checks the user's rights to verify that the user still has the authority to save the changes that have been made at step 914 , according to an example of the present invention. If the security settings have changed since edit rights were granted and the user is trying to save edits to a node that no longer has right to access, the Client will generate an error message at step 918 and the current editing process ends finally at step 920 . If the user's security settings have not changed and they are still authorized to edit the nodes, the YOM is updated with the user's edits at step 916 and the current editing process ends at step 920 .
  • a diagram 1000 which depicts a web page without the addition of anything on the virtual layer 1002 and a web page with the addition of content added to the virtual layer 1012 .
  • the pre existing objects 1004 in the web page are depicted in the FIG. 1000 .
  • the components 1006 i.e. text, images and the like that make up the content on a web page are pieced together to create the web page as a whole, according to an example of the present invention.
  • Additional content (“objects”) 1010 can be added to the virtual layer over an existing webpage to change the appearance and functionality of the webpage provided the user is running the invention's client software i.e. client software developed in accordance with an exemplary embodiment of the present invention.
  • the object 1010 on the virtual layer of the browser window that is running the client software 1008 illustrates that the appearance of the web page can be edited to contain additional images or content.
  • the system and the methods described above may enable users to log into their account from any computer so that the modifications they have made to the virtual layer over web sites and the tools that they have added to their accounts for use are available from any computer.
  • additional tools and functionalities may be added.
  • the additional tools or functionalities may include, but are not limited to, the following: a switch that can enable users to appear to turn off edits that have been made to MySpace.com pages and the like; tools to quickly and easily add images, widgets, and links to a social networking page and the like; tools for bloggers or editorialists that would enable them to post comments or editorials directly onto a web page, such as an article from another publication that they were discussing, these tools could also be used by teachers or professors that could have students view articles with teacher's notes or highlights added.
  • additional tools may also include a “sniper” tool that places a last second bid on an online auction site that would actually be integrated into the auction site; a video grabber tool that will download and save streaming video from web sites such as YouTube.com; and a hyperlink integrator that would overlay existing text with text that was hyperlinked and tied to a different web site.
  • This tool would be overlaying the title of a book within an article with hyperlinked text that when clicked on would take the user to an online merchant where the book could be purchased.
  • This may involve a search aggregator tool that would be integrated with existing search engines, but will augment the return results by adding the return results of other search engines or queries.
  • An example of this would be a tool that was integrated with Google such that when a search was done, the content returned would be not only the Google search results, but also any information on the terms searched from Wikipedia.org, Dictionary.com and the like.
  • the additional tools and functionalities further may include a communication aggregation tool that will allow users to communicate through whatever means they choose from one application.
  • This application will enable users to use different instant message accounts, different email accounts, different social network accounts, text messaging to telephones and the like.
  • the additional tools may further include a virtual pet that can roam around on the browser window is also provided. The virtual pet will create the appearance of depth on the browser window by its z-order changing so that it walks around in front of some images, objects and text while walking behind others, according to an example of the present invention.
  • the tools may further include:
  • the additional tools may further includes a tool that will enable users to search for specific words or text within a web page, a tool that will enable users to do “smart searches” where the user could search for quotes from specific people in an article and the like, a tool that will enable users a kind of picture in picture functionality where they can leave one window or application “on top” while they click on or interact with a window or application that is actually behind the top one and a tool that will take an existing web page and put a copy of it onto the virtual layer so that the components of the site can be rearranged and organized the way that the user wants them.

Abstract

A system and a method for configuring a user-editable layer within a network are disclosed. The system includes a client computing system including a web browser. The web browser further includes a loaded webpage configured to obtain web content from a universal network server through a web address. The system further includes an application object model to collect objects from the client computing system and the universal network server. The system for configuring the user-editable layer within the network further includes a plug-in unit coupled to a layer definition server and an authenticating server for authenticating user credential information. The user-editable layer may include at least one of a virtual layer, an emulating layer, an upgradable layer and the like.

Description

    PRIORITY CLAIM
  • This application claims priority to U.S. Provisional Application No. 61/058,792 filed on Jun. 4, 2008.
  • BACKGROUND AND FIELD OF THE INVENTION
  • The present invention generally relates to a technique for enabling interactive capabilities between users of the World Wide Web and content providers of the World Wide Web. More particularly, the present invention relates to a system and a method for configuring a user interface comprised of an editable layer within a network.
  • Description of Related Art
  • Typically, users interact with the internet through World Wide Web (WWW) servers and World Wide Web (WWW) pages which offer hypertext capabilities. Hyper Text Markup Language (HTML) is a scripting or programming language which enables the content providers or developers of World Wide Web pages to place hyperlinks within World Wide Web pages which then link to related content or data present in other World Wide Web pages. The content or data present in each web page can be navigated by the end users of World Wide Web using a Graphical User Interface (GUI).
  • Conventionally, the end users of the World Wide Web are able to read and gather the content or data present in World Wide Web pages placed by the content providers. Furthermore, the end users of the World Wide Web are able to interact with the web page, as well as other end users, based on the type of functionality offered by the content providers of the World Wide Web.
  • In general, the conventional technologies as described above have not advanced significantly relative to the growth of internet. Moreover, the conventional techniques lack the ability of editing or modifying existing World Wide Web pages virtually by the end. The conventional techniques also lack the ability of retrieving and accumulating data from multiple web pages that the end user is not currently viewing. Further, they do not allow for simultaneously manipulating and reposting the retrieved data on to a layer present over another World Wide Web page. The World Wide Web pages that can be manipulated or interacted by the end users are the pages that have been created by the World Wide Web content providers.
  • Hence, there is need for an application or a program running on the end users network device that enables the end user to virtually edit the appearance or functionality of an existing World Wide Web page by making the modifications on a virtual layer that is superimposed onto the World Wide Web page.
  • SUMMARY
  • A system and a method are disclosed for configuring a user-editable layer within a network. In accordance with exemplary embodiments of the present invention, according to a first aspect of the invention, a system for configuring a user-editable layer within a network includes a client computing system further including a web browser including a loaded web page configured to obtain web content from a universal network server through a web address. The user-editable layer may include at least one of a virtual layer, an emulating layer, an upgradable layer and the like. A Graphical User Interface (GUI) is adaptable to a domain of the web browser for enabling a visual access to the loaded web page and the user-editable layer.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes a layer definition server including an application object model to collect objects from the client computing system and the universal network server to enable a comparison between the objects of the application object model and the web address and displaying the web content on the user-editable layer responsive to a match generated following the comparison.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes a layer definition server including an application object model for displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to the loaded web page. Once generated, the user-editable layer generated using a layer markup language may be included in the layer definition server. The layer markup language includes built-in logical nodes for avoiding a need of writing scripts for enabling objects for executing events.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes a plug-in unit coupled to the layer definition server and an authentication server for: 1) authenticating user credential information, 2) transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication and 3) rendering the transferred web content on the client computing system while enabling an edit feature for the user-editable layer. The plug-in unit includes a logical simulator sub-unit further including a license key for enabling a user-editable layer configuration in the client computing system. The plug-in unit includes a client software sub-unit further including a license key for enabling a user-editable layer configuration in the client computing system. The application object model includes a document object model unit for posting to the plug-in unit information, indexes and references pertaining to downloaded object in the client computing system further pertaining to markup languages.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes the authentication server coupled to the layer definition server for verifying a need for authenticating a user credential information, transferring the web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server if minimal authentication is needed for the user credential information and rendering the transferred web content to the client computing system through the plug-in unit including a client software module.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes the authentication server coupled to the layer definition server for verifying a need for authenticating a user credential information, transferring the web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server if minimal authentication is needed for the user credential information and rendering the transferred web content to the client computing system through the web browser. The layer definition server sends an authentication request to the plug-in unit including the client software sub-unit, wherein an authentication is required for user credentials, wherein a user enters credentials into a message box in the client software sub-unit, wherein the entered credentials are sent to the server for verification, wherein the authentication server sends an authentication verified signal to the client software sub-unit further sending the authentication verified signal to the layer definition server, and wherein the layer definition server sends an authenticated version of the web content to the client software sub-unit for loading onto the client computing system.
  • According to a second aspect, a method for configuring an editable virtual layer in an internet browsing environment is disclosed. The method includes a user opening a predetermined web browser through a client computing system to reach a universal network server including a World Wide Web domain.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment includes triggering a virtual layer software sub-unit responsive to the user opening the web browser for enabling a visual access permission for the editable virtual layer through the predetermined web browser.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment includes navigating to a uniform resource locator (URL) through the predetermined web browser responsive to triggering the virtual layer software sub-unit. The virtual layer software sub-unit includes a license key for enabling an editable virtual layer configuration in the client computing system.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment includes transferring the URL information to a server unit configured to store a plurality of layer extensions and configured to render the plurality of layer extensions while collecting objects from the client computing system and universal network server through an application object model for enabling a comparison between objects of the application object model and the URL, displaying a plurality of layer extensions on the editable virtual layer in an overlying manner while maintaining visual resolution between a web page loaded through the URL and the plurality of layer extensions, the rendering being responsive to a match generated following the comparison. The server unit includes a content server unit adaptable to the application object model.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment includes aggregating objects corresponding to the plurality of layer extensions and corresponding to the URL using a layer markup language. The step of aggregating the objects is executed through a layer definition server unit adaptable to the layer markup language including a plurality of built-in logical tags for avoiding a need of writing scripts for enabling objects for executing events. The step of aggregating objects includes rendering a menu user interface (UI) at a predetermined location in a page for the predetermined web browser, executing an event in the layer markup language following a user triggered signal through the client computing system and enabling a series of editing modules on to the editable virtual layer responsive to the execution of the event. In absence of a user triggered signal asking the user whether the user has triggered any signal and returning to the page after a predetermined delay in absence of further response.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment further includes loading a pre-rendered layer markup language module, returning the layer markup language to the virtual layer software sub-unit including a plurality of layer extensions present on the URL and having the virtual layer software sub-unit executing initialization routines in the layer markup language.
  • According to a third aspect, a computer readable medium including a plurality of computer readable instructions is disclosed. The computer readable medium including a plurality of computer readable instructions which when executed by at least one computer causes configuring a client computing system further includes a web browser including a loaded web page for obtaining a web content from a universal network server through a web address.
  • According to the third aspect, the computer readable medium including a plurality of computer readable instructions which when executed by at least one computer causes: 1) configuring a layer definition server including an application object model for collecting objects from the client computing system and the universal network server to enable a comparison between objects of the application object model and the web address; 2) displaying the web content on the user-editable layer responsive to a match generated following the comparison; 3) displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to visual environment of the loaded web page, wherein the user-editable layer is generated using a layer markup language included in a layer definition server.
  • According to the third aspect, the computer readable medium may include a plurality of computer readable instructions which when executed by at least one computer causes: 1) authenticating user credential information, 2) transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication; and 3) rendering the transferred web content on the client computing system while enabling an edit feature for the user-editable layer.
  • BRIEF DESCRIPTION OF THE FIGURES
  • Other objects and advantages of the present invention will become apparent to those skilled in the art upon reading the following detailed description of the preferred embodiments, in conjunction with the accompanying drawings, wherein like reference numerals have been used to designate like elements, and wherein:
  • FIG. 1 is a diagram depicting a high level view of the basic components used to make a virtual layer and how they interact.
  • FIG. 2 is a flowchart illustrating a process for displaying the content on the virtual layer over web pages once the client software is already running on the user's computer.
  • FIG. 3 is a flow chart illustrating a process of aggregating the extension YLML.
  • FIG. 4 is flowchart illustrating a process of executing events and routines described in the YLML.
  • FIG. 5 is a flowchart illustrating a process of extension discovery.
  • FIG. 6 is a flowchart illustrating a process of loading the extensions that have been associated with the current web page.
  • FIG. 7 is a flowchart illustrating a process of a client rendering the extensions on the virtual layer.
  • FIG. 8 is a flowchart illustrating a process of security methods adapted that keep users from seeing content that they do not want to, or is not intended for them to see.
  • FIG. 9 is a flowchart illustrating a process of posting or editing the content with in the virtual layer.
  • FIG. 10 is a diagram depicting a web page without the addition of anything on the virtual layer and a web page with the addition of content added to the virtual layer.
  • DETAILED DESCRIPTION
  • Exemplary embodiments of the present invention are directed to a system and a method for configuring a user-editable layer within a network. The present technique describes a method for enabling interactive capabilities between users of the World Wide Web as well as between content providers and users of World Wide Web.
  • In accordance with exemplary embodiments of the present invention, according to a first aspect of the invention, a system for configuring a user-editable layer within a network includes a client computing system further including a web browser including a loaded web page configured to obtain web content from a universal network server through a web address. The user-editable layer may include at least one of a virtual layer, an emulating layer, an upgradable layer and the like. A Graphical User Interface (GUI) is adaptable to a domain of the web browser for enabling a visual access to the loaded web page and the user-editable layer.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes a layer definition server including an application object model to collect objects from the client computing system and the universal network server to enable a comparison between the objects of the application object model and the web address and displaying the web content on the user-editable layer responsive to a match generated following the comparison.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes a layer definition server including an application object model for displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to the loaded web page, the user-editable layer generated using a layer markup language included in a layer definition server. The layer markup language includes built-in logical tags for avoiding a need of writing scripts for enabling objects for executing events.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes a plug-in unit coupled to the layer definition server and an authentication server for authenticating user credential information, transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication and rendering the transferred web content on the client computing system while enabling an edit feature for the user-editable layer. The plug-in unit includes a logical simulator sub-unit further including a license key for enabling a user-editable layer configuration in the client computing system. The plug-in unit includes a client software sub-unit further including a license key for enabling a user-editable layer configuration in the client computing system. The application object model includes a document object model unit for posting to the plug-in unit information, indexes and references pertaining to downloaded object in the client computing system further pertaining to markup languages.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes the authentication server coupled to the layer definition server for verifying a need for authenticating a user credential information, transferring the web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server if minimal authentication is needed for the user credential information and rendering the transferred web content to the client computing system through the plug-in unit including a client software module.
  • According to the first aspect, the system for configuring a user-editable layer within a network includes the authentication server coupled to the layer definition server for verifying a need for authenticating a user credential information, transferring the web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server if minimal authentication is needed for the user credential information and rendering the transferred web content to the client computing system through the web browser. The layer definition server sends an authentication request to the plug-in unit including the client software sub-unit, wherein an authentication is required for user credentials, wherein a user enters credentials into a message box in the client software sub-unit, wherein the entered credentials are sent to the server for verification, wherein the authentication server sends an authentication verified signal to the client software sub-unit further sending the authentication verified signal to the layer definition server, and wherein the layer definition server sends an authenticated version of the web content to the client software sub-unit for loading on to the client computing system.
  • According to a second aspect, a method for configuring an editable virtual layer in an internet browsing environment is disclosed. The method includes a user opening a predetermined web browser through a client computing system to reach a universal network server including a World Wide Web domain.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment includes triggering a virtual layer software sub-unit responsive to the user opening the web browser for enabling a visual access permission for the editable virtual layer through the predetermined web browser.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment includes navigating to a uniform resource locator (URL) through the predetermined web browser responsive to triggering the virtual layer software sub-unit. The virtual layer software sub-unit includes a license key for enabling an editable virtual layer configuration in the client computing system.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment includes transferring the URL information to a server unit configured to store a plurality of layer extensions and configured to render the plurality of layer extensions while collecting objects from the client computing system and universal network server through an application object model for enabling a comparison between objects of the application object model and the URL, displaying a plurality of layer extensions on the editable virtual layer in an overlying manner while maintaining visual resolution between a web page loaded through the URL and the plurality of layer extensions, the rendering being responsive to a match generated following the comparison. The server unit includes a content server unit adaptable to the application object model.
  • According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment includes aggregating objects corresponding to the plurality of layer extensions and corresponding to the URL using a layer markup language. The step aggregating objects is executed through a layer definition server unit adaptable to the layer markup language including a plurality of built-in logical nodes for avoiding a need of writing scripts for enabling objects for executing events. The step of aggregating objects includes rendering a menu user interface (UI) at a predetermined location in a page for the predetermined web browser for no layer applications present for the page, executing an event in the layer markup language following a user triggered signal through the client computing system and enabling a series of editing modules on to the editable virtual layer responsive to the execution of the event. In absence of a user triggered signal asking the user whether the user has triggered any signal and returning to the page after a predetermined delay in absence of further response from the user and in presence of a true signal to a page unloading query returning to the page immediately. According to the second aspect, the method for configuring an editable virtual layer in an internet browsing environment further includes loading a pre-rendered layer markup language module, returning the layer markup language to the virtual layer software sub-unit including a plurality of layer extensions present on the URL and the virtual layer software sub-unit executing initialization routines in the layer markup language.
  • According to a third aspect, a computer readable medium including a plurality of computer readable instructions is disclosed. The computer readable medium includes computer readable instructions which when executed by at least one computer causes configuring a client computing system and web browser to obtain web content from a universal network server through a web address.
  • According to the third aspect, the computer readable medium including a plurality of computer readable instructions which when executed by at least one computer causes configuring a layer definition server comprising an application object model for collecting objects from the client computing system and the universal network server to enable a comparison between objects of the application object model and the web address and displaying the web content on the user-editable layer responsive to a match generated following the comparison, for displaying a visual resolution enabled superimposed form of the web content on the user-editable layer adaptable to visual environment of the loaded web page, the user-editable layer generated using a layer markup language included in a layer definition server.
  • According to the third aspect, the computer readable medium including a plurality of computer readable instructions which when executed by at least one computer causes: 1) authenticating user credential information, 2) transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication and 3) rendering the transferred web content on the client computing system while enabling an edit feature for the user-editable layer.
  • According to an exemplary embodiment of the present invention, the virtual layer is superimposed onto web sites within the client's web browser and includes functionality that can be added to a user's interactive capabilities with and within the World Wide Web. In accordance with an example of the invention, the system is preferably implemented through a new XML schema called YLML (Yontoo Layer Markup Language). This new language contains executable programming tags, referenceable data tags, renderable UI tags and the like. Unlike HTML, which is a document markup language that is sometimes used as an application markup language simply because it is widely supported and the industry norm, YLML is a true application markup language that is different from HTML in that it has executable nodes and does not follow the same DOM structure that HTML does. YLML is also different from other XML languages in that it does not use code-behind. YLML does not require a separate file with logic source code, nor does it have imbedded logic using external languages. While other dynamic versions of XML require the use of code-behind or require the addition of external languages such as JavaScript and VBScript to be imbedded into script tags, YLML has native executable logic tags that eliminate the requirement for other languages to be imbedded into tags or used for code-behind.
  • According to an exemplary embodiment of the present invention, a new object model that works in conjunction with YLML is disclosed. This object model is called a YOM (Yontoo Object Model). A DOM can use only the information that exists in the document it is referencing to create a set of objects that are used to access the data within the HTML. The YOM on the other hand, is a single template that has an established structure that enables access to any information, data or content accessible through a computer system, including, but not restricted to the World Wide Web, databases, data stores, a client's computer or other content sources. This implies that unlike a DOM, which only creates objects for tags for content that exists in whole within the HTML document that it references, the YOM's established structure enables it to access specific content that exists on the World Wide Web, a database, a data store or any other location connected to a networked computer system without requiring content beyond the scope of exactly what is needed to be loaded. This enables the YOM to create objects within the model using a JIT (just in time) method, as opposed to creating the entirety of the model when the incoming file is parsed as is the case with the use of a DOM. The advantage of using the YOM over the DOM is that it gives access to a much broader range of content, including the World Wide Web, databases, data stores, a client's computer or other sources of content, according to an example of the present invention. For a DOM to provide this access, it would need to first load the entirety of the content that exists within these sources which is performance prohibitive.
  • In accordance with an exemplary embodiment of the present invention, the combination of the YLML, the YOM and the layer system makes it possible to provide users with the ability to add content from many different sources to the virtual layer. It will also enable users to use specific functionalities of web pages, applications and services without having to load the entirety of these web pages, applications, services and the like, according to an example of the present invention. In accordance with an exemplary embodiment of the present invention, the users create new web sites with YLML and YOM structure as used in the layer system.
  • With reference now to FIG. 1, a diagram is provided which depicts a high level view of the basic components used to make a virtual layer and how they interact. The display of the client's computer 114 will show a combination of information coming from the client's Web Browser 110 and the client side software portion of the invention i.e. Client Software 112, according to an example of the present invention. The Web Browser 110 may be Firefox, Internet Explorer, Netscape Navigator and the like browsers that would enable the users to perform internet browsing. The content being displayed on the web browser comes from third-party web servers 102 from all over the world (World Wide Web). According to an exemplary embodiment of the present invention, once a web page is loaded into the client's web browser, the Client Software 112 sends the URL information from the web browser to the Layer Definition Server 106. According to an exemplary embodiment of the present invention, the Layer Definition Server 106 contains the YOM which contains all of the information, indexes and references needed for the content that will be posted to the Client Software 112. Accordingly, the server checks the YOM to see if there is any content that needs to be displayed on the virtual layer of the user's Client Software 112, based on the URL of the user's Web Browser 110. If the Layer Definition Server 106 decides that there is content to be placed on the user's Client Software 112, it then checks to see if authentication is needed. If the content, found by the Layer Definition Server 106 to be shown, does not require authentication then the a file containing the data needed to display or load the content is sent from the Layer Definition Server 106 to the Client Software 112, according to an exemplary embodiment of the present invention. The Client Software 112 will then either render the content itself or have the user's Web Browser 110 render the content. This content will either come from the invention's Content Server 104 or any other computer that is connected through a network or the Internet.
  • According to an exemplary embodiment of the present invention, if authentication is required to display the content listed in the Layer Definition Server 106 then the Layer Definition Server 106 will send an authentication request back to the Client Software 112. The user will type credentials into a message box in the Client Software 112 and the login information will be sent to the Authentication Server 108 for verification. If the credentials are correct, the Authentication Server 108 sends the authentication back to the Client Software 112 which then sends it back to the Layer Definition Server 106, according to an exemplary embodiment of the present invention. Once the Layer Definition Server 106 receives the authentication, it will send a file containing the data needed to display or load the content for the Client Software 112, according to an exemplary embodiment of the present invention.
  • In accordance with an exemplary embodiment of the present invention, many different tools and functionalities that work through the technology of the present invention are provided. These different tools will be extensions (Layer Apps) that users can choose to avail themselves the desired functionality. A menu for the separate layer apps as well as other functionalities available for each website will be accessible through a clickable icon in the bottom corner of the browser, according to an example of the present invention. When the icon is clicked, it will bring up the menu for the user to choose the desired tool or functionality. This Menu User Interface (UI) resembles existing menus such as the Start Menu for the Microsoft Windows OS, according to an example of the present invention.
  • According to an exemplary embodiment of the present invention, the users are enabled to place images, text, widgets, applications and like content onto the virtual layer such that they will appear to be within the web page itself. The content that has been placed on the virtual layer can be viewed by anyone running the software needed to display the virtual layer and its content. This will be possible when the web page that is being overlaid, with additional content from the user, is one that the user has the right and permission to edit, for instance, on a user's personalized social network page, personal home page, personal blog page and the like according to an example of the present invention. Information about the edits placed on the virtual layer are preferably stored on servers that will interact with client computers. When users running the software needed to view the virtual layer's content browse to a web page that has content placed on a designated virtual layer, the software will receive information from the servers where the edits or augmentations are stored and display the edits or augmentations that have been made to that specific web page. According to an example of the present invention, every user running the client software can access the content within the virtual layer simultaneously while viewing a given designated web page.
  • In accordance with an exemplary embodiment of the present invention, the system may provide restricted access to the content placed on the virtual layer. In this regard, the content placed on to the virtual layer may be viewed only by a predefined user who has placed the content on the virtual layer. This would enable the user to put widgets, applications, text, pictures and the like onto the virtual layer for their own personal use without allowing access to other parties. In this way, the virtual layer could be personalized for each user that might be on the same web site at the same time running the software. An example of this would be a user adding a stock ticker widget to the virtual layer superimposed over The Washington Post homepage on their computer. The stock ticker widget would appear only on the virtual layer of the specific user that placed the content on the virtual layer.
  • According to an exemplary embodiment of the present invention, users can place the content onto the virtual layer of every web site they view. This would provide the users with the ability to place content on the virtual layer that does not change as they navigate from one web site to another. In accordance with an example of the present invention, users can place a stock ticker widget onto the virtual layer of a web site and the stock ticker widget remains on the virtual layer as the user browses from one web site to another. Further, this functionality would have no effect or impact on any users running the software on any other computer.
  • Referring now to FIG. 2, there is a flowchart 200 illustrating a process for displaying content on a virtual layer once the client software is already running on the user's computer. According to an exemplary embodiment of the present invention, a user opens a web browser 202 in order to get connected to the World Wide Web. Opening the browser will trigger the client software to run as a Plug-In or Add-On in the web browser 204. Accordingly, the user will navigate to a URL 206 through the web browser. The client software will then send the URL information to the server side software of the invention 208. Now at step 210, the server scans its data (the YOM) to determine whether there are any extensions (Layer Apps) for the web page based on the URL, according to an exemplary embodiment of the present invention. If there are layer apps for the web page currently being viewed, the server aggregates the extension YLML 218 (see a detailed description of this process in FIG. 3). Accordingly, at step 220 the extension YLML is then sent to the client software and is rendered on the user's browser (see a detailed description of this process in FIG. 7). After rendering the extension content, the client software then renders the Menu UI in the bottom corner of the browser 212. The step of rendering the Menu UI is the step that the system would have gone directly to if there had not been any extensions for the current web page, according to an example of the present invention. After the extensions, if any, have been rendered and the Menu UI has been rendered, the client software waits for any changes to the system through user interaction by waiting for the user to trigger an event 214. An example of a user triggered event would be if the user clicked on the Menu UI 214. This would execute an event in the YLML at step 222 (see a detailed description of this process in FIG. 4). After the event has been executed in the YLML, it is sent back to the client to be rendered 220 and the process goes on indefinitely. If the answer is no when the software asks if the user has triggered an event 214, it will then ask if the page is unloading at step 216 i.e. whether the user browsed to a new web page. If the answer is no, then it goes back to asking if the user has triggered an event 214 and continues in the pattern until something else changes. If the answer to the question at 216 (“Is page unloading?”) is yes, then the system goes back up to the point in the process where the URL is loaded i.e. to step 206 and continues the cycle through the same process as before, in accordance with an exemplary embodiment of the present invention.
  • Referring to FIG. 3 is a flow chart 300 illustrating a process of aggregating the extension YLML. First, at step 302 the server builds the extension list for the URL currently being viewed (see a detailed description of this process in FIG. 5). Next, at step 304 the server loads the pre-rendered YLML (see a detailed description of this process in FIG. 6). The server then returns the YLML to the client software with all of the extensions on the list for the current URL at step 306, in accordance with an exemplary embodiment of the present invention. Finally, at step 308 the client software executes the initialization routines in the YLML (see a detailed description of this process in FIG. 4).
  • Referring to FIG. 4 is flowchart 400 illustrating a process of executing events and routines described in the YLML. According to an exemplary embodiment of the present invention, at step 402 the YLML to be rendered is received to the client software (“Client”) from the server. Next, at step 404 the Client parses the YLML and then looks to find the first node that is pending execution and sets the instruction pointer to that node. The instruction pointer provides reference to the client as to which functionality is to be executed next. The Client then executes the functionality that is referenced by the instruction pointer at step 404. The Client then checks the YLML to see if there is another node requiring execution at step 408. Accordingly, if there is no another node requiring execution, the event execution process is over until the Client receives new YLML data 412. If there is another node requiring execution, the instruction pointer is advanced to the next node requiring execution at step 410 and then the Client executes the necessary functionality i.e. the client executes the step 406 and continues the process, according to an exemplary embodiment of the present invention.
  • Referring to FIG. 5, the flowchart 500 illustrates a process of extension discovery. In accordance with an exemplary embodiment of the present invention, at step 502 the server receives the current URL information from the Client. The Server then searches the YOM to find any extensions that are associated with the URL and adds the extensions to a “found list” at step 504. Then the Server looks deeper to find additional extensions to be added. It searches for and adds to the found list, any extensions that are associated with the URL and file path at step 506, according to an example of the present invention. Now at step 508 the server further looks even deeper by searching for and adding to the found list any extensions that are associated with the URL, the file path and the query string. The Server then removes any extensions that have been disabled by the user at step 510 and sends the extension list on to the extension loading process at step 512.
  • Referring now to FIG. 6, a flowchart 600 is provided which illustrates a process of loading the extensions that have been associated with the current web page. According to an exemplary embodiment of the present invention, first at step 602 the list of extensions is received from the Extension Discovery process. The process continues through step 604 wherein the loop counter used to index the extensions on the list is set to zero. Next at step 606, the process starts to add the extensions indexed by the loop counter by copying the first one on the list from the YOM and putting it into the YLML that will be rendered (see a detailed description of this process in FIG. 8). Now at a step 608 the user data for the first extension on the list is copied from the YOM and put into the YLML that will be rendered (see a detailed description of this process in FIG. 8). Both the extension data and the user data will contain Peg mapping data to tell the Client where the extensions and the content belong on the virtual layer. Once these two pieces have been added to the YLML the loop counter is incremented at step 610. Further at step 612, the process checks to see if the loop counter is greater than or equal to the extension list count, according to an example of the present invention. If the answer is no, then there are more extensions to be loaded and the process goes back to the step 606 and copies the next extension from the YOM to the YLML to be rendered and continues this process until the loop counter is greater than or equal to the extension list count. When there are no new extensions on the list to be loaded, the process retrieves the Peg Data Block from the YOM at step 614. The Peg Data Block is based on the URL and it will provide the locations needed to properly place the content correctly on the virtual layer of the Client. Once the Peg Data Block is loaded onto the YLML, the process is finished and the YLML is sent to the Client to be rendered at step 616, according to an exemplary embodiment of the present invention.
  • Referring now to FIG. 7, a flowchart 700 is provided which illustrates a process of a client rendering the extensions on the virtual layer. According to an exemplary embodiment of the present invention, first step 702 is the Client receiving the renderable YLML from the server. The Client then finds the first block of data, content and executable nodes in the YLML to be rendered at step 704. The Client then finds the first component within the first block at step 706. Next, at step 708 the Client finds the Peg Data that corresponds with the first component to be rendered. Then the Client renders the component onto the virtual layer at step 710. The Client then goes back to the YLML at step 712 to find the next component in the block to be rendered. If another component is found within the block, the Client finds the corresponding Peg Data for the component at step 708 and renders the new component at step 710. This cycle continues until there are no more components to be rendered within the first block in the YLML, according to an example of the present invention. When a new component cannot be found, the Client looks in the YLML for the next block of data, content and executable nodes to be rendered at step 714. If a new block is found, the Client finds the first component to be rendered at step 706 and continues through the process the same as before until there are no new blocks to be rendered, according to an exemplary embodiment of the present invention. Once the Client cannot find a new block to be rendered, the rendering process is finished at step 716 until the Client receives new YLML with new or additional blocks to be rendered.
  • According to an exemplary embodiment of the present invention, the users are provided with the ability to add content to a virtual layer having restricted access. In accordance with an exemplary embodiment of the present invention, one way that permission may be granted is the establishment of a relationship between the poster of the content and the viewer of the content within a proprietary social graph. Another way that permission can be granted may be through the establishment of a relationship between the poster of the content and the viewer of the content within a social graph outside the system of the invention, but the system outside of the invention has access to the system of the present invention. An example of this would be two people that have a connection through the social graph of an existing social network site or an email address contacts list. Preferably, this relationship would not be established by default or simply by the existence of a connection within a social graph but would need to be opted into by both the content poster and the content viewer.
  • In accordance with an exemplary embodiment of the present invention, another way that permission could be granted would be through the use of a shared key or password technique. In this situation, a poster could add or change content within the virtual layer over a web site and then create a shared key or password that would enable any viewer running the software to view content on the virtual layer.
  • According to an exemplary embodiment of the present invention, another way that permission can be granted is through the establishment of a relationship between the poster of the content and the viewer of the content by embedding the permission needed to view the poster's content into a hyperlink. These hyperlinks could be placed in an email, instant message, onto a web site that the poster has the ability and permission to edit or anywhere else that a hyperlink can be placed.
  • In accordance with an exemplary embodiment of the present invention, the users may be provided with an ability to save shared keys or passwords that provide access to content on the virtual layer within the system. This technique would prevent the need for a viewer to type in the shared key or password each time they view a page. An example of this would be a viewer being able to see daily updated comments or editorials on the virtual layers over web pages without having to remember and re-enter the shared key or password every day.
  • According to an exemplary embodiment of the present invention, users may set a password or a shared key to expire between one and thirty days. The user could renew the password or shared key for an additional one to thirty days, for example, at any point before it has expired. The user can renew the password or shared key as many times as desired, in accordance with an exemplary embodiment of the present invention.
  • According to an exemplary embodiment of the present invention, the users may create a social graph within the system that can be used to tie users together or connect users in different ways. One example of this would be a friends list that existed within the invention's software system. This will allow users to have pre-set lists where the content placed on the virtual layer by specific people can be viewed simply by the association between the poster and the viewer on the social graph.
  • Referring now to FIG. 8, a flowchart 800 is provided which illustrates a process of security methods adapted that keep users from seeing content that they do not want to or is not intended for them to see. The flow chart 800 also describes the methods designed to keep users from editing or adding content that they do not have permission or rights to write on to the virtual layer. The process begins at step 802 wherein the system receives a user request to read or write a node within the YOM. It is important to remember that the process begins with a specific request. According to an exemplary embodiment of the present invention, the request may be either for a user to read something specific or write (add/edit) something specific. It will not be a request to grant the user full read and write access to the entirety of node in question. After the request has been received, at step 804 the process checks to see if the node that the user is looking for access to has a security requirement. If the answer is no, then the read or write access is granted at step 812 and the security check for that specific node is finished at step 816. If the node for which read/write access is being requested does have a security requirement, the requirement is loaded at step 806. Then the process checks the user's credentials at step 808 to see if the user is the owner of the security requirement. If the user is the security requirement owner, then read or write access to the YOM node is granted at step 812 and the security check for that specific node is finished at step 816, according to an example of the present invention. If the user is not the owner of the security requirement, the process checks at step 812 to see if the user is a member of a group that has rights to read or write the node in question. If the user is a member of a group with the right to read and write then the request to read and write the node is granted at step 812 and the security check for that specific node is finished at step 816. If the user is not a member of a group that provides him authority to read or write the node in question, the process generates an error at step 814 and the security check for that specific node is finished at step 816.
  • In accordance with an exemplary embodiment of the present invention, the users can collect desired content from one web page and put it onto the virtual layer over another web page. This would enable the users with an ability to create “MashUps”. The ability to use content from other web pages will provide users with many more customization choices.
  • Further in accordance with an exemplary embodiment of the present invention, the system and the method may allow users to drag the content present on the virtual layer onto the desktop of the client computing system. This would involve a “tear off” function that will place the content being removed from the virtual layer onto a separate application window.
  • According to an exemplary embodiment of the present invention, the system and the method may enable users to conglomerate the content onto the invention's servers, create and use new applications that pull content from multiple web sites and compile the multi-source data into one application. In this way, users could use a single application to view email and receive instant messages from multiple sources. Further, users could simultaneously be able to view and interact with multiple social network web sites and the like.
  • In accordance with an exemplary embodiment of the present invention, the users can post the content that is tied to a specific object on the underlying web page on the virtual layer. The content posted onto the virtual layer may appear as though it is actually attached to the underlying web page i.e. when the user scrolls down on the web page, the content on the virtual layer will scroll as well. This placement method will involve “Pegs” that show the location of where different objects within the underlying web page are placed and attaching the content on the virtual layer to the same “pegged” location. Because the “Pegs” will be attached to existing objects within a web page, if a user has placed content on the virtual layer that is associated with an underlying object that can be moved within the web site itself, as in some personal home pages where the placement of objects can be changed by the user, the content on the virtual layer will move with it. Users will also be able to place content on the virtual layer that is placed in relation to the browser window so that it does not scroll when the users scrolls up or down on the underlying web page, in accordance with an exemplary embodiment of the present invention.
  • Referring now to FIG. 9, a flowchart 900 is provided which illustrates a process of posting or editing the content within the virtual layer. First the user enters the edit mode through one of the tools brought up by the Menu UI at step 902, in accordance with an exemplary embodiment of the present invention. The Client at step 904 checks the user's security information to verify what edits the user has rights to and then enables available edits based on user's rights at step 906. Next at step 908 the user can make the desired edits by adding, removing or moving components on to the virtual layer. The user then selects the “save” option at step 910 and in responsive to the step 910 the Client sends the amended YLML to the Server in order to update the YOM at step 912. Before the YOM is updated, the Server again checks the user's rights to verify that the user still has the authority to save the changes that have been made at step 914, according to an example of the present invention. If the security settings have changed since edit rights were granted and the user is trying to save edits to a node that no longer has right to access, the Client will generate an error message at step 918 and the current editing process ends finally at step 920. If the user's security settings have not changed and they are still authorized to edit the nodes, the YOM is updated with the user's edits at step 916 and the current editing process ends at step 920.
  • Referring now to FIG. 10, a diagram 1000 is provided which depicts a web page without the addition of anything on the virtual layer 1002 and a web page with the addition of content added to the virtual layer 1012. The pre existing objects 1004 in the web page are depicted in the FIG. 1000. The components 1006 i.e. text, images and the like that make up the content on a web page are pieced together to create the web page as a whole, according to an example of the present invention. Additional content (“objects”) 1010 can be added to the virtual layer over an existing webpage to change the appearance and functionality of the webpage provided the user is running the invention's client software i.e. client software developed in accordance with an exemplary embodiment of the present invention. The object 1010 on the virtual layer of the browser window that is running the client software 1008 illustrates that the appearance of the web page can be edited to contain additional images or content.
  • According to an exemplary embodiment of the present invention, the system and the methods described above may enable users to log into their account from any computer so that the modifications they have made to the virtual layer over web sites and the tools that they have added to their accounts for use are available from any computer.
  • In accordance with an exemplary embodiment of the present invention, additional tools and functionalities may be added. The additional tools or functionalities may include, but are not limited to, the following: a switch that can enable users to appear to turn off edits that have been made to MySpace.com pages and the like; tools to quickly and easily add images, widgets, and links to a social networking page and the like; tools for bloggers or editorialists that would enable them to post comments or editorials directly onto a web page, such as an article from another publication that they were discussing, these tools could also be used by teachers or professors that could have students view articles with teacher's notes or highlights added.
  • According to an exemplary embodiment of the present invention, additional tools may also include a “sniper” tool that places a last second bid on an online auction site that would actually be integrated into the auction site; a video grabber tool that will download and save streaming video from web sites such as YouTube.com; and a hyperlink integrator that would overlay existing text with text that was hyperlinked and tied to a different web site. An example of this tool would be overlaying the title of a book within an article with hyperlinked text that when clicked on would take the user to an online merchant where the book could be purchased. This may involve a search aggregator tool that would be integrated with existing search engines, but will augment the return results by adding the return results of other search engines or queries. An example of this would be a tool that was integrated with Google such that when a search was done, the content returned would be not only the Google search results, but also any information on the terms searched from Wikipedia.org, Dictionary.com and the like.
  • In accordance with an exemplary embodiment of the present invention, the additional tools and functionalities further may include a communication aggregation tool that will allow users to communicate through whatever means they choose from one application. This application will enable users to use different instant message accounts, different email accounts, different social network accounts, text messaging to telephones and the like. The additional tools may further include a virtual pet that can roam around on the browser window is also provided. The virtual pet will create the appearance of depth on the browser window by its z-order changing so that it walks around in front of some images, objects and text while walking behind others, according to an example of the present invention. The tools may further include:
      • a tool that would keep track of a user's credentials and hook into the API of sites so that the user is automatically logged into sites they visit without having to log in manually each time they visit;
      • a virtual gift tool that will enable users to send content such as images or applications to other users;
      • an alert tool that will alert a user when an update of a web site has been made or when a new article on a specific topic has been found based on specific terms or key words that the user has saved into the tool;
      • a tool that will be integrated into existing web sites that will enable businesses such as restaurants to have real time updates of waiting times for tables, or movie theaters to show real time information about how many seats are currently available for a specific movie showing;
      • a scheduling tool that a company can have integrated into their web site that employees can log into to see when they are scheduled to work;
      • a tool that will show “pop-ups” letting the user know when a new email has come into an online mail account, this tool will work like the new mail pop-ups currently work for Microsoft Outlook, but for online email accounts such as G-Mail, Yahoo Mail, Hotmail and the like;
      • a tool that will search the contents of a user's computer and use algorithms to detect what information the user is interested in and alert the user when there is new information or content on the World Wide Web that matches topics, people or key words that the algorithm has deemed important to the user;
      • a tool that integrates web sites such as travel sites with sites such as Craigslist.org or Yelp.com and the like to give travelers more information about the area they will be traveling to;
      • a tool that will enable users to highlight text on a web page and then click on integrated buttons to bring up search results from different sites such as Dictionary.com, Wikipedia.org, Google.com and the like.
  • In accordance with an exemplary embodiment of the present invention, the additional tools may further includes a tool that will enable users to search for specific words or text within a web page, a tool that will enable users to do “smart searches” where the user could search for quotes from specific people in an article and the like, a tool that will enable users a kind of picture in picture functionality where they can leave one window or application “on top” while they click on or interact with a window or application that is actually behind the top one and a tool that will take an existing web page and put a copy of it onto the virtual layer so that the components of the site can be rearranged and organized the way that the user wants them.
  • While the present invention has been described in conjunction with preferred embodiments thereof, many modifications and variations will be apparent to those of ordinary skill in the art. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the following claims.

Claims (14)

1. A method for configuring an editable virtual layer in an internet browsing environment, the method comprising:
transferring URL information to a server unit configured to store a plurality of layer extensions;
selecting a layer extension based on the transferred URL information; and
providing display data to arrange the display of the selected layer extension on a virtual layer superimposed over a selected web-page.
2. The method of claim 1, wherein the method further comprises: aggregating objects corresponding to the selected layer extension and the URL information using a layer markup language; wherein, the aggregation is executed through a layer definition server unit adaptable to the layer markup language including a plurality of built-in logical nodes.
3. The method of claim 1, wherein the method further comprises: aggregating objects corresponding to the selected layer extension and URL information using a layer markup language; wherein the layer markup language contains native executable logic tags.
4. The method of claim 1, wherein the display data includes Peg mapping data.
5. A system for configuring a user-editable layer for display, the system comprising:
a content server comprising an application object model to collect objects from a client computing system and a universal network server;
a processing element for comparing objects of the application object model and a web address;
a data element for providing display data for a user-editable layer responsive to the comparison of the processing element, wherein the display data may be used to create a superimposed image to be displayed over a selected web page.
6. The system of claim 5, wherein the user-editable layer is generated using a layer markup language included in a layer definition server.
7. The system of claim 6 wherein the system further includes:
a plug-in unit coupled to the layer definition server and an authentication server, wherein the system is configured to: authenticate user credential information; transfer web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication; and render the transferred web content on the client computing system.
8. The system of claim 7, wherein the authentication server is coupled to the layer definition, and wherein the system is further configured to: verify a need for authenticating a user; transfer web content pertaining to at least one user-editable layer to the plug-in unit from the layer definition server; and render the transferred web content.
9. The system of claim 8, wherein authentication is granted based on the establishment of a relationship between the poster of the content and the viewer of the content within a proprietary social graph.
10. The system of claim 6, wherein the layer markup language comprises built-in logical nodes.
11. A method for configuring an editable virtual layer in an internet browsing environment having at least one client computer, the method comprising:
storing virtual layer data paired with URL information;
selecting virtual layer data for display based on selected URL information; and
aggregating objects corresponding to the virtual layer data and corresponding to the selected URL information.
12. The method of claim 11, wherein the step of aggregating objects is executed through a layer definition server unit adaptable to a layer markup language including a plurality of built-in logical nodes.
13. The method of claim 12, wherein the step of aggregating objects comprises:
rendering a menu user interface at a predetermined location relative to a displayed web-page;
executing an event in the layer markup language following a user triggered signal through a client computing system.
14. One or more computer-readable storage media having computer-executable instructions for performing a method, wherein the method comprises
configuring a content server comprising an application object model for collecting objects from a client computing system;
enabling a comparison between objects of the application object model and a web address; and
displaying web content on the user-editable layer responsive to a match generated following the comparison, wherein the display is comprised of a superimposed form of the web content on the user-editable layer adaptable to visual environment of the loaded web page, the user-editable layer generated using a layer markup language included in a layer definition server;
authenticating user credential information;
transferring the web content pertaining to the user-editable layer to the plug-in unit responsive to the authentication;
and rendering the transferred web content on the client computing system.
US12/455,797 2009-06-08 2009-06-08 System, method and apparatus for creating and using a virtual layer within a web browsing environment Abandoned US20100313252A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/455,797 US20100313252A1 (en) 2009-06-08 2009-06-08 System, method and apparatus for creating and using a virtual layer within a web browsing environment
US12/960,340 US9201672B1 (en) 2009-06-08 2010-12-03 Method and system for aggregation of search results
US15/058,495 US20160180436A1 (en) 2009-06-08 2016-03-02 Method and system for identifying and displaying shopping deals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/455,797 US20100313252A1 (en) 2009-06-08 2009-06-08 System, method and apparatus for creating and using a virtual layer within a web browsing environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/960,340 Continuation-In-Part US9201672B1 (en) 2009-06-08 2010-12-03 Method and system for aggregation of search results

Publications (1)

Publication Number Publication Date
US20100313252A1 true US20100313252A1 (en) 2010-12-09

Family

ID=43301719

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/455,797 Abandoned US20100313252A1 (en) 2009-06-08 2009-06-08 System, method and apparatus for creating and using a virtual layer within a web browsing environment
US12/960,340 Expired - Fee Related US9201672B1 (en) 2009-06-08 2010-12-03 Method and system for aggregation of search results
US15/058,495 Abandoned US20160180436A1 (en) 2009-06-08 2016-03-02 Method and system for identifying and displaying shopping deals

Family Applications After (2)

Application Number Title Priority Date Filing Date
US12/960,340 Expired - Fee Related US9201672B1 (en) 2009-06-08 2010-12-03 Method and system for aggregation of search results
US15/058,495 Abandoned US20160180436A1 (en) 2009-06-08 2016-03-02 Method and system for identifying and displaying shopping deals

Country Status (1)

Country Link
US (3) US20100313252A1 (en)

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131647A1 (en) * 2010-11-19 2012-05-24 Lan Gang Tiger System and Methods for Facilitating Secure Communications on a Website
US20120239639A1 (en) * 2011-03-14 2012-09-20 Slangwho, Inc. Search Engine
WO2013085807A1 (en) * 2011-12-06 2013-06-13 Gregory Dorso Systems and methods for fast authentication with a mobile device
US20130291077A1 (en) * 2012-04-26 2013-10-31 Mitsubishi Electric Corporation Image processing device and image processing method
US20130332816A1 (en) * 2012-06-08 2013-12-12 International Business Machines Corporation Page pegging
US8886651B1 (en) 2011-12-22 2014-11-11 Reputation.Com, Inc. Thematic clustering
US20140337525A1 (en) * 2013-05-13 2014-11-13 Appsense Limited Apparatus, systems, and methods for providing policy in network-based applications
US20140337495A1 (en) * 2013-05-13 2014-11-13 Appsense Limited Web event framework
US8918312B1 (en) 2012-06-29 2014-12-23 Reputation.Com, Inc. Assigning sentiment to themes
US8925099B1 (en) 2013-03-14 2014-12-30 Reputation.Com, Inc. Privacy scoring
US9201672B1 (en) 2009-06-08 2015-12-01 Revizer Technologies Ltd Method and system for aggregation of search results
US9213972B2 (en) 2011-08-30 2015-12-15 Gregory DORSO Systems and methods for fast mobile payment
US9342490B1 (en) * 2012-11-20 2016-05-17 Amazon Technologies, Inc. Browser-based notification overlays
US9356901B1 (en) 2010-12-07 2016-05-31 Google Inc. Determining message prominence
US9361651B2 (en) 2012-10-04 2016-06-07 International Business Machines Corporation Displaying quantitative trending of pegged data from cache
US9456021B2 (en) 2014-01-21 2016-09-27 International Business Machines Corporation Loading pegged page objects based on predefined preferences
US9485285B1 (en) 2010-02-08 2016-11-01 Google Inc. Assisting the authoring of posts to an asymmetric social network
US20170004123A1 (en) * 2015-06-30 2017-01-05 International Business Machines Corporation Interactive gui review tool system and method
US9639869B1 (en) 2012-03-05 2017-05-02 Reputation.Com, Inc. Stimulating reviews at a point of sale
US9729352B1 (en) * 2010-02-08 2017-08-08 Google Inc. Assisting participation in a social network
US9785309B2 (en) * 2014-05-08 2017-10-10 Socialtopias, Llc Method and apparatus for providing a layered webpage
US9900367B2 (en) 2013-05-13 2018-02-20 Appsense Us Llc Context transfer from web page to application
US9912720B2 (en) 2013-05-13 2018-03-06 Appsense Us Llc Context aware browser policy
US9930096B2 (en) 2010-02-08 2018-03-27 Google Llc Recommending posts to non-subscribing users
US10180966B1 (en) 2012-12-21 2019-01-15 Reputation.Com, Inc. Reputation report with score
US10185715B1 (en) 2012-12-21 2019-01-22 Reputation.Com, Inc. Reputation report with recommendation
US10423707B2 (en) * 2010-09-08 2019-09-24 Imdb.Com, Inc. Techniques for displaying third party content
US10606929B2 (en) * 2011-01-07 2020-03-31 Facebook, Inc. Template selection for mapping a third-party web page to an object in a social networking system
US10636041B1 (en) 2012-03-05 2020-04-28 Reputation.Com, Inc. Enterprise reputation evaluation
US10791375B2 (en) 2012-04-13 2020-09-29 Ebay Inc. Method and system to provide video-based search results
US10866708B2 (en) 2018-12-10 2020-12-15 Square, Inc. Using combined ecommerce and brick-and-mortar data to produce intelligent recommendations for web page operation
US11169694B2 (en) 2014-08-05 2021-11-09 Square, Inc. Interactive layer for editing a rendering displayed via a user interface
US11436292B2 (en) 2018-08-23 2022-09-06 Newsplug, Inc. Geographic location based feed
US11609963B2 (en) * 2018-10-24 2023-03-21 Citrix Systems, Inc. Dynamically change user interfaces for web applications and associated methods
US11657221B2 (en) * 2018-04-27 2023-05-23 Fujifilm Business Innovation Corp. Display editing apparatus, server apparatus, display editing system, and non-transitory computer readable medium storing program
US11763067B2 (en) 2014-10-08 2023-09-19 Block, Inc. User interface for editing web content
US11770437B1 (en) * 2021-08-30 2023-09-26 Amazon Technologies, Inc. Techniques for integrating server-side and client-side rendered content
US20230353525A1 (en) * 2022-04-27 2023-11-02 Salesforce, Inc. Notification timing in a group-based communication system

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010141835A1 (en) 2009-06-04 2010-12-09 Joshua Feuerstein Method and system for electronic advertising
US9639853B2 (en) * 2012-06-11 2017-05-02 Retailmenot, Inc. Devices, methods, and computer-readable media for redemption header for merchant offers
US9727891B2 (en) * 2012-10-22 2017-08-08 Marc Alan Mezzacca System and method of automated delivery of relevance-checked benefit-conveying codes during online transaction
US9922327B2 (en) 2012-11-01 2018-03-20 Ebates Inc. System, method, and computer program for providing a multi-merchant electronic shopping cart for a shopping service
US20170186027A1 (en) 2012-11-08 2017-06-29 Honey Science Corporation Cross-site online shopping assistant
US20140324486A1 (en) * 2013-04-24 2014-10-30 Hipmunk, Inc. Travel option presentation
US10387903B2 (en) * 2013-11-08 2019-08-20 Retailmenot, Inc. Providing single-use offers
US20150134372A1 (en) * 2013-11-13 2015-05-14 Amadeus S.A.S. Integration of online self-booking tool and third party system search results
AU2014350615B2 (en) * 2013-11-13 2020-01-30 Amadeus S.A.S. Integration of online self-booking tool and third party system search results
US10503742B2 (en) * 2015-10-27 2019-12-10 Blackberry Limited Electronic device and method of searching data records
US20180018304A1 (en) * 2016-07-14 2018-01-18 Intent Media, Inc. Graphical user interface and system for viewing landing page content
JP6951433B2 (en) 2016-10-13 2021-10-20 楽天グループ株式会社 Wishlist user interface in web browser to notify users of price changes
US10740781B2 (en) 2017-10-31 2020-08-11 Ebates Performance Marketing, Inc. System, method, and computer program for providing notification of a cashback reward from a shopping portal using online screen and email analysis
US10853434B2 (en) 2019-03-11 2020-12-01 Vladimir Prelovac User interface for presenting search results
US11087348B2 (en) * 2019-04-17 2021-08-10 Capital One Services, Llc Methods and systems for testing and applying codes to electronic shopping carts
US11568468B2 (en) 2019-08-08 2023-01-31 Rakuten Group, Inc. System, method, and computer program for providing similar product recommendations for non-merchant publishers based on publisher preferences
US10839453B1 (en) 2019-11-26 2020-11-17 Capital One Services, Llc Systems and methods for identifying location-based information associated with a product on a web page
US11354655B2 (en) * 2020-04-29 2022-06-07 Capital One Services, Llc Enhancing merchant databases using crowdsourced browser data
US11409829B2 (en) 2020-12-21 2022-08-09 Capital One Services, Llc Methods and systems for redirecting a user from a third party website to a provider website

Citations (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5310349A (en) * 1992-04-30 1994-05-10 Jostens Learning Corporation Instructional management system
US5826025A (en) * 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
US6230171B1 (en) * 1998-08-29 2001-05-08 International Business Machines Corporation Markup system for shared HTML documents
US6240360B1 (en) * 1995-08-16 2001-05-29 Sean Phelan Computer system for indentifying local resources
US6297819B1 (en) * 1998-11-16 2001-10-02 Essential Surfing Gear, Inc. Parallel web sites
US20020010757A1 (en) * 1999-12-03 2002-01-24 Joel Granik Method and apparatus for replacement of on-line advertisements
US6360205B1 (en) * 1998-10-30 2002-03-19 Trip.Com, Inc. Obtaining and utilizing commercial information
US20020057299A1 (en) * 1999-07-15 2002-05-16 Dobronsky Oren System and method for the dynamic improvement of internet browser navigability
US20030014406A1 (en) * 2001-06-07 2003-01-16 Urbanpixel Inc. Intelligent browser windows in a multi-browser environment
US20030028451A1 (en) * 2001-08-03 2003-02-06 Ananian John Allen Personalized interactive digital catalog profiling
US20040060008A1 (en) * 2002-01-18 2004-03-25 John Marshall Displaying statistical data for a web page by dynamically modifying the document object model in the HTML rendering engine
US20040111673A1 (en) * 2002-12-09 2004-06-10 Corel Corporation System and method for controlling user interface features of a web application
US20040125130A1 (en) * 2001-02-26 2004-07-01 Andrea Flamini Techniques for embedding custom user interface controls inside internet content
US20040143796A1 (en) * 2000-03-07 2004-07-22 Microsoft Corporation System and method for annotating web-based document
US20040168121A1 (en) * 2002-06-20 2004-08-26 Bellsouth Intellectual Property Corporation System and method for providing substitute content in place of blocked content
US20040199603A1 (en) * 2001-07-09 2004-10-07 Sivan Tafla Method and system for allowing cross-communication between first and second areas of a primary web page
US20040201615A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Eliminating extraneous displayable data from documents and e-mail received from the world wide web and like networks
US20050197893A1 (en) * 2004-02-24 2005-09-08 Michael Landau Coupon, price-comparison, and product-review information toolbar for use with a network browser or system/application interface
US20060080592A1 (en) * 2004-04-20 2006-04-13 Alves De Moura Francisca Rodri System for management of interactions between users and software applications in a web environment
US7051040B2 (en) * 2002-07-23 2006-05-23 Lightsurf Technologies, Inc. Imaging system providing dynamic viewport layering
US20060122917A1 (en) * 2000-08-14 2006-06-08 Urbanpixel Inc Real-time collaborative commerce in a multiple browser environment
US20060149618A1 (en) * 2003-02-19 2006-07-06 Michael Balin System for providing private offers to customers of web sites
US20060155758A1 (en) * 2002-11-22 2006-07-13 Truls Arnegaard Implementing a network infrastructure in a seismic acquisition system
US7096426B1 (en) * 1999-05-07 2006-08-22 Catherine Lin-Hendel Clustered presentation of objects with group and individual identity in, and virtual layered composition of, electronically recorded, computer presented media
US20060265476A1 (en) * 1999-10-21 2006-11-23 Sean Barger Automated media delivery system
US20060293959A1 (en) * 2005-06-16 2006-12-28 Zixxo Inc. Method and system for adding coupon information to network-based content
US20070078705A1 (en) * 2005-09-30 2007-04-05 Timothy Abels Virtualizing portals for electronic commerce
US20070130090A1 (en) * 2005-11-15 2007-06-07 Staib William E System for On-Line Merchant Price Setting
US7271815B2 (en) * 2004-10-21 2007-09-18 International Business Machines Corporation System, method and program to generate a blinking image
US20080052160A1 (en) * 1999-06-30 2008-02-28 Luigi Forlai Method and apparatus for generating a sale offer to selected individuals over electronic network systems
US20080120626A1 (en) * 2006-11-17 2008-05-22 Peter Graffagnino Methods and apparatuses for providing a hardware accelerated web engine
US20080134018A1 (en) * 1999-04-26 2008-06-05 Mainstream Scientific, Llc Component for Coordinating the Accessing and Rendering of an Application Media Package
US20080154731A1 (en) * 2003-06-16 2008-06-26 Mesaros Gregory J Dynamic discount card tied to price curves & group discounts
US20080184158A1 (en) * 2007-01-30 2008-07-31 Orale International Corp Web browser window management
US20080201304A1 (en) * 2007-02-16 2008-08-21 Yahoo! Inc. Federated searches implemented across multiple search engines
US20080208690A1 (en) * 2007-02-27 2008-08-28 Nhn Corporation Advertisement system using mash-up map and method thereof
US20080255967A1 (en) * 2007-04-16 2008-10-16 Ebay Inc System and method for comparison shopping
US20080294678A1 (en) * 2007-02-13 2008-11-27 Sean Gorman Method and system for integrating a social network and data repository to enable map creation
US20080313215A1 (en) * 2007-06-13 2008-12-18 R-Web, Inc. System and method for the generation and storage of contextually anchored links and for navigation within information systems based on such links
US20080319918A1 (en) * 1999-06-30 2008-12-25 Kyklos Entertainment S.R.I. Methods and systems for generating product offers over electronic network systems
US7529744B1 (en) * 2005-06-30 2009-05-05 Symantec Corporation Search interface server and storage management
US20090144264A1 (en) * 2007-12-04 2009-06-04 Vik Singh Third-party information overlay on search results
US20090254803A1 (en) * 2006-11-30 2009-10-08 Duncan Bayne Programming methods for improving browser-based electronic forms
US20090265607A1 (en) * 2008-04-17 2009-10-22 Razoss Ltd. Method, system and computer readable product for management, personalization and sharing of web content
US20090300528A1 (en) * 2006-09-29 2009-12-03 Stambaugh Thomas M Browser event tracking for distributed web-based processing, spatial organization and display of information
US20100169837A1 (en) * 2008-12-29 2010-07-01 Nortel Networks Limited Providing Web Content in the Context of a Virtual Environment
US20100223126A1 (en) * 2009-03-02 2010-09-02 Tung Kevin W Advertising system and method
US20110071911A1 (en) * 2009-03-02 2011-03-24 Tung Kevin W Advertising system and method
US7945846B2 (en) * 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US20110173071A1 (en) * 2010-01-06 2011-07-14 Meyer Scott B Managing and monitoring digital advertising
US20110202401A1 (en) * 2010-02-17 2011-08-18 Ebay Inc. Methods and systems for multi-merchant couponing
US20110238533A1 (en) * 2010-03-24 2011-09-29 Forward Internet Group Ltd Data processing
US20120109732A1 (en) * 2010-10-29 2012-05-03 Yahoo! Inc. Consumer group buying through online ads
US8176431B1 (en) * 2007-07-30 2012-05-08 Sprint Communications Company L.P. Overlay menus for web interaction

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3441306B2 (en) 1995-09-12 2003-09-02 株式会社東芝 Client device, message transmission method, server device, page processing method, and relay server device
US5848397A (en) 1996-04-19 1998-12-08 Juno Online Services, L.P. Method and apparatus for scheduling the presentation of messages to computer users
US5995756A (en) 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US5903728A (en) * 1997-05-05 1999-05-11 Microsoft Corporation Plug-in control including an independent plug-in process
EP1182599A1 (en) 2000-07-26 2002-02-27 Transmedia Network, Inc. System and method for providing consumer rewards
US7478089B2 (en) 2003-10-29 2009-01-13 Kontera Technologies, Inc. System and method for real-time web page context analysis for the real-time insertion of textual markup objects and dynamic content
US7716199B2 (en) * 2005-08-10 2010-05-11 Google Inc. Aggregating context data for programmable search engines
US20040019653A1 (en) 2002-07-26 2004-01-29 Philippe Debaty Context-aware client system
US7069497B1 (en) 2002-09-10 2006-06-27 Oracle International Corp. System and method for applying a partial page change
US7493614B2 (en) * 2003-03-31 2009-02-17 Microsoft Corporation System architecture and related methods for dynamically adding software components to extend functionality of system processes
US20050080675A1 (en) 2003-10-09 2005-04-14 Long Range Systems, Inc. System and method for automated dynamic wait listing
US7584435B2 (en) * 2004-03-03 2009-09-01 Omniture, Inc. Web usage overlays for third-party web plug-in content
CN101023419B (en) 2004-05-14 2010-06-16 模比莱普斯有限公司 Method of providing a web page with inserted content
US20060026059A1 (en) 2004-07-30 2006-02-02 Grosz Aryk E Advertising method for digitally rented movies
US7831319B2 (en) 2005-01-07 2010-11-09 Gm Global Technology Operations, Inc. Sensor based anticipatory lighting of controls
US20080005064A1 (en) 2005-06-28 2008-01-03 Yahoo! Inc. Apparatus and method for content annotation and conditional annotation retrieval in a search context
US9569556B2 (en) * 2005-08-19 2017-02-14 Google Inc. Software architecture for displaying information content from plug-in modules in a user interface
US8989718B2 (en) 2005-09-14 2015-03-24 Millennial Media, Inc. Idle screen advertising
US7698685B2 (en) * 2005-10-12 2010-04-13 Microsoft Corporation Discovery, qualification, and activation of software add-in components
US7895604B2 (en) 2005-11-17 2011-02-22 Opera Software Asa Method and device for event communication between documents
US20070146812A1 (en) 2005-12-02 2007-06-28 Lawton Scott S Reader editable advertising
US8196205B2 (en) 2006-01-23 2012-06-05 University Of Washington Through Its Center For Commercialization Detection of spyware threats within virtual machine
US8156178B2 (en) 2006-06-23 2012-04-10 Rohit Chandra Method and system for enhancing a home page
US8745163B2 (en) 2006-08-08 2014-06-03 Wayport, Inc. Real-time, customized embedding of specific content into local webserver pages
US7805406B2 (en) 2006-10-27 2010-09-28 Xystar Technologies, Inc. Cross-population of virtual communities
US8140506B2 (en) 2006-11-30 2012-03-20 Red Hat, Inc. File sharing based on social network
US8583592B2 (en) * 2007-03-30 2013-11-12 Innography, Inc. System and methods of searching data sources
AU2008286192B2 (en) * 2007-08-06 2014-04-10 Mls Technologies Pty Ltd Method and/or system for searching network content
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
US20090235149A1 (en) 2008-03-17 2009-09-17 Robert Frohwein Method and Apparatus to Operate Different Widgets From a Single Widget Controller
US8341529B1 (en) 2008-03-28 2012-12-25 Amazon Technologies, Inc. Dynamically modifying displayed information
US8291475B2 (en) 2008-04-30 2012-10-16 Microsoft Corporation Secure cross-domain communication for web mashups
US8103743B2 (en) 2008-06-18 2012-01-24 Disney Enterprises, Inc. Method and system for enabling client-side initiated delivery of dynamic secondary content
US20100094755A1 (en) 2008-10-09 2010-04-15 Nelnet Business Solutions, Inc. Providing payment data tokens for online transactions utilizing hosted inline frames
US8321401B2 (en) 2008-10-17 2012-11-27 Echostar Advanced Technologies L.L.C. User interface with available multimedia content from multiple multimedia websites
US8788949B2 (en) 2008-10-28 2014-07-22 Google Inc. Provisioning instant communications for a community of users
US8706590B2 (en) 2009-01-26 2014-04-22 Bank Of America Corporation Providing value exchange in connection with financial institution recommendations and offers
JP5735480B2 (en) 2009-03-20 2015-06-17 アド−バンテージ ネットワークス,インコーポレイテッド Method and system for searching, selecting and displaying content
US9459936B2 (en) 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US20100313252A1 (en) 2009-06-08 2010-12-09 Erie Trouw System, method and apparatus for creating and using a virtual layer within a web browsing environment
US8396813B2 (en) 2009-09-22 2013-03-12 Xerox Corporation Knowledge-based method for using social networking site content in variable data applications
US8832099B2 (en) 2010-03-09 2014-09-09 Yahoo! Inc. User specific feed recommendations
US8914539B2 (en) 2010-03-12 2014-12-16 Salesforce.Com, Inc. Service cloud console
US20110307354A1 (en) 2010-06-09 2011-12-15 Bilgehan Erman Method and apparatus for recommending applications to mobile users

Patent Citations (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5310349A (en) * 1992-04-30 1994-05-10 Jostens Learning Corporation Instructional management system
US6240360B1 (en) * 1995-08-16 2001-05-29 Sean Phelan Computer system for indentifying local resources
US5826025A (en) * 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
US6230171B1 (en) * 1998-08-29 2001-05-08 International Business Machines Corporation Markup system for shared HTML documents
US6360205B1 (en) * 1998-10-30 2002-03-19 Trip.Com, Inc. Obtaining and utilizing commercial information
US6297819B1 (en) * 1998-11-16 2001-10-02 Essential Surfing Gear, Inc. Parallel web sites
US20080134018A1 (en) * 1999-04-26 2008-06-05 Mainstream Scientific, Llc Component for Coordinating the Accessing and Rendering of an Application Media Package
US7096426B1 (en) * 1999-05-07 2006-08-22 Catherine Lin-Hendel Clustered presentation of objects with group and individual identity in, and virtual layered composition of, electronically recorded, computer presented media
US20080319918A1 (en) * 1999-06-30 2008-12-25 Kyklos Entertainment S.R.I. Methods and systems for generating product offers over electronic network systems
US20080052160A1 (en) * 1999-06-30 2008-02-28 Luigi Forlai Method and apparatus for generating a sale offer to selected individuals over electronic network systems
US20020057299A1 (en) * 1999-07-15 2002-05-16 Dobronsky Oren System and method for the dynamic improvement of internet browser navigability
US20060265476A1 (en) * 1999-10-21 2006-11-23 Sean Barger Automated media delivery system
US20020010757A1 (en) * 1999-12-03 2002-01-24 Joel Granik Method and apparatus for replacement of on-line advertisements
US20040143796A1 (en) * 2000-03-07 2004-07-22 Microsoft Corporation System and method for annotating web-based document
US20060122917A1 (en) * 2000-08-14 2006-06-08 Urbanpixel Inc Real-time collaborative commerce in a multiple browser environment
US20040125130A1 (en) * 2001-02-26 2004-07-01 Andrea Flamini Techniques for embedding custom user interface controls inside internet content
US20030014406A1 (en) * 2001-06-07 2003-01-16 Urbanpixel Inc. Intelligent browser windows in a multi-browser environment
US20040199603A1 (en) * 2001-07-09 2004-10-07 Sivan Tafla Method and system for allowing cross-communication between first and second areas of a primary web page
US20030028451A1 (en) * 2001-08-03 2003-02-06 Ananian John Allen Personalized interactive digital catalog profiling
US20040060008A1 (en) * 2002-01-18 2004-03-25 John Marshall Displaying statistical data for a web page by dynamically modifying the document object model in the HTML rendering engine
US20040168121A1 (en) * 2002-06-20 2004-08-26 Bellsouth Intellectual Property Corporation System and method for providing substitute content in place of blocked content
US7051040B2 (en) * 2002-07-23 2006-05-23 Lightsurf Technologies, Inc. Imaging system providing dynamic viewport layering
US7945846B2 (en) * 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US20060155758A1 (en) * 2002-11-22 2006-07-13 Truls Arnegaard Implementing a network infrastructure in a seismic acquisition system
US20040111673A1 (en) * 2002-12-09 2004-06-10 Corel Corporation System and method for controlling user interface features of a web application
US20060149618A1 (en) * 2003-02-19 2006-07-06 Michael Balin System for providing private offers to customers of web sites
US20040201615A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Eliminating extraneous displayable data from documents and e-mail received from the world wide web and like networks
US20080154731A1 (en) * 2003-06-16 2008-06-26 Mesaros Gregory J Dynamic discount card tied to price curves & group discounts
US20050197893A1 (en) * 2004-02-24 2005-09-08 Michael Landau Coupon, price-comparison, and product-review information toolbar for use with a network browser or system/application interface
US20060080592A1 (en) * 2004-04-20 2006-04-13 Alves De Moura Francisca Rodri System for management of interactions between users and software applications in a web environment
US7271815B2 (en) * 2004-10-21 2007-09-18 International Business Machines Corporation System, method and program to generate a blinking image
US20060293959A1 (en) * 2005-06-16 2006-12-28 Zixxo Inc. Method and system for adding coupon information to network-based content
US7529744B1 (en) * 2005-06-30 2009-05-05 Symantec Corporation Search interface server and storage management
US20070078705A1 (en) * 2005-09-30 2007-04-05 Timothy Abels Virtualizing portals for electronic commerce
US20070130090A1 (en) * 2005-11-15 2007-06-07 Staib William E System for On-Line Merchant Price Setting
US20090300528A1 (en) * 2006-09-29 2009-12-03 Stambaugh Thomas M Browser event tracking for distributed web-based processing, spatial organization and display of information
US20080120626A1 (en) * 2006-11-17 2008-05-22 Peter Graffagnino Methods and apparatuses for providing a hardware accelerated web engine
US8234392B2 (en) * 2006-11-17 2012-07-31 Apple Inc. Methods and apparatuses for providing a hardware accelerated web engine
US20090254803A1 (en) * 2006-11-30 2009-10-08 Duncan Bayne Programming methods for improving browser-based electronic forms
US20080184158A1 (en) * 2007-01-30 2008-07-31 Orale International Corp Web browser window management
US20080294678A1 (en) * 2007-02-13 2008-11-27 Sean Gorman Method and system for integrating a social network and data repository to enable map creation
US20080201304A1 (en) * 2007-02-16 2008-08-21 Yahoo! Inc. Federated searches implemented across multiple search engines
US20080208690A1 (en) * 2007-02-27 2008-08-28 Nhn Corporation Advertisement system using mash-up map and method thereof
US20080255967A1 (en) * 2007-04-16 2008-10-16 Ebay Inc System and method for comparison shopping
US20080313215A1 (en) * 2007-06-13 2008-12-18 R-Web, Inc. System and method for the generation and storage of contextually anchored links and for navigation within information systems based on such links
US8176431B1 (en) * 2007-07-30 2012-05-08 Sprint Communications Company L.P. Overlay menus for web interaction
US20090144264A1 (en) * 2007-12-04 2009-06-04 Vik Singh Third-party information overlay on search results
US20090265607A1 (en) * 2008-04-17 2009-10-22 Razoss Ltd. Method, system and computer readable product for management, personalization and sharing of web content
US20100169837A1 (en) * 2008-12-29 2010-07-01 Nortel Networks Limited Providing Web Content in the Context of a Virtual Environment
US20100223126A1 (en) * 2009-03-02 2010-09-02 Tung Kevin W Advertising system and method
US20110071911A1 (en) * 2009-03-02 2011-03-24 Tung Kevin W Advertising system and method
US20110173071A1 (en) * 2010-01-06 2011-07-14 Meyer Scott B Managing and monitoring digital advertising
US20110202401A1 (en) * 2010-02-17 2011-08-18 Ebay Inc. Methods and systems for multi-merchant couponing
US20110238533A1 (en) * 2010-03-24 2011-09-29 Forward Internet Group Ltd Data processing
US20120109732A1 (en) * 2010-10-29 2012-05-03 Yahoo! Inc. Consumer group buying through online ads

Cited By (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201672B1 (en) 2009-06-08 2015-12-01 Revizer Technologies Ltd Method and system for aggregation of search results
US9485285B1 (en) 2010-02-08 2016-11-01 Google Inc. Assisting the authoring of posts to an asymmetric social network
US9930096B2 (en) 2010-02-08 2018-03-27 Google Llc Recommending posts to non-subscribing users
US9729352B1 (en) * 2010-02-08 2017-08-08 Google Inc. Assisting participation in a social network
US10511652B2 (en) 2010-02-08 2019-12-17 Google Llc Recommending posts to non-subscribing users
US11394669B2 (en) 2010-02-08 2022-07-19 Google Llc Assisting participation in a social network
US10423707B2 (en) * 2010-09-08 2019-09-24 Imdb.Com, Inc. Techniques for displaying third party content
US8874897B2 (en) * 2010-11-19 2014-10-28 Reputation.Com, Inc. System and methods for facilitating secure communications on a website
US8826002B2 (en) 2010-11-19 2014-09-02 Reputation.Com, Inc. System and methods for facilitating secure communications on a website
US8453218B2 (en) * 2010-11-19 2013-05-28 Reputation.com System and methods for facilitating secure communications on a website
US20120131647A1 (en) * 2010-11-19 2012-05-24 Lan Gang Tiger System and Methods for Facilitating Secure Communications on a Website
US9356901B1 (en) 2010-12-07 2016-05-31 Google Inc. Determining message prominence
US10606929B2 (en) * 2011-01-07 2020-03-31 Facebook, Inc. Template selection for mapping a third-party web page to an object in a social networking system
US11507630B2 (en) 2011-03-14 2022-11-22 Newsplug, Inc. System and method for transmitting submissions associated with web content
US9977800B2 (en) 2011-03-14 2018-05-22 Newsplug, Inc. Systems and methods for enabling a user to operate on displayed web content via a web browser plug-in
US10180952B2 (en) 2011-03-14 2019-01-15 Newsplug, Inc. Search engine
US20120239639A1 (en) * 2011-03-14 2012-09-20 Slangwho, Inc. Search Engine
US11947602B2 (en) 2011-03-14 2024-04-02 Search And Share Technologies Llc System and method for transmitting submissions associated with web content
US11106744B2 (en) 2011-03-14 2021-08-31 Newsplug, Inc. Search engine
US9058391B2 (en) 2011-03-14 2015-06-16 Slangwho, Inc. System and method for transmitting a feed related to a first user to a second user
US11113343B2 (en) 2011-03-14 2021-09-07 Newsplug, Inc. Systems and methods for enabling a user to operate on displayed web content via a web browser plug-in
US10387391B2 (en) 2011-03-14 2019-08-20 Newsplug, Inc. System and method for transmitting submissions associated with web content
US11620346B2 (en) 2011-03-14 2023-04-04 Search And Share Technologies Llc Systems and methods for enabling a user to operate on displayed web content via a web browser plug-in
US9338215B2 (en) * 2011-03-14 2016-05-10 Slangwho, Inc. Search engine
US9213972B2 (en) 2011-08-30 2015-12-15 Gregory DORSO Systems and methods for fast mobile payment
US8826399B2 (en) 2011-12-06 2014-09-02 Gregory DORSO Systems and methods for fast authentication with a mobile device
WO2013085807A1 (en) * 2011-12-06 2013-06-13 Gregory Dorso Systems and methods for fast authentication with a mobile device
US8886651B1 (en) 2011-12-22 2014-11-11 Reputation.Com, Inc. Thematic clustering
US10853355B1 (en) 2012-03-05 2020-12-01 Reputation.Com, Inc. Reviewer recommendation
US10474979B1 (en) 2012-03-05 2019-11-12 Reputation.Com, Inc. Industry review benchmarking
US9639869B1 (en) 2012-03-05 2017-05-02 Reputation.Com, Inc. Stimulating reviews at a point of sale
US9697490B1 (en) 2012-03-05 2017-07-04 Reputation.Com, Inc. Industry review benchmarking
US10636041B1 (en) 2012-03-05 2020-04-28 Reputation.Com, Inc. Enterprise reputation evaluation
US10997638B1 (en) 2012-03-05 2021-05-04 Reputation.Com, Inc. Industry review benchmarking
US10791375B2 (en) 2012-04-13 2020-09-29 Ebay Inc. Method and system to provide video-based search results
US20130291077A1 (en) * 2012-04-26 2013-10-31 Mitsubishi Electric Corporation Image processing device and image processing method
US9246909B2 (en) * 2012-04-26 2016-01-26 Mitsubishi Electric Corporation Image authentication and retrieval processing device and method
US9563325B2 (en) * 2012-06-08 2017-02-07 International Business Machines Corporation Selective update of a page having a pegged area
US20130332816A1 (en) * 2012-06-08 2013-12-12 International Business Machines Corporation Page pegging
US8918312B1 (en) 2012-06-29 2014-12-23 Reputation.Com, Inc. Assigning sentiment to themes
US11093984B1 (en) 2012-06-29 2021-08-17 Reputation.Com, Inc. Determining themes
US9361651B2 (en) 2012-10-04 2016-06-07 International Business Machines Corporation Displaying quantitative trending of pegged data from cache
US9342490B1 (en) * 2012-11-20 2016-05-17 Amazon Technologies, Inc. Browser-based notification overlays
US10180966B1 (en) 2012-12-21 2019-01-15 Reputation.Com, Inc. Reputation report with score
US10185715B1 (en) 2012-12-21 2019-01-22 Reputation.Com, Inc. Reputation report with recommendation
US8925099B1 (en) 2013-03-14 2014-12-30 Reputation.Com, Inc. Privacy scoring
US20140337495A1 (en) * 2013-05-13 2014-11-13 Appsense Limited Web event framework
US10291615B2 (en) * 2013-05-13 2019-05-14 Ivanti Us Llc Web event framework
US9912720B2 (en) 2013-05-13 2018-03-06 Appsense Us Llc Context aware browser policy
US10764352B2 (en) 2013-05-13 2020-09-01 Ivanti Us Llc Context aware browser policy
US9167052B2 (en) * 2013-05-13 2015-10-20 Appsense Limited Apparatus, systems, and methods for providing policy in network-based applications
US9900367B2 (en) 2013-05-13 2018-02-20 Appsense Us Llc Context transfer from web page to application
US20140337525A1 (en) * 2013-05-13 2014-11-13 Appsense Limited Apparatus, systems, and methods for providing policy in network-based applications
US9456021B2 (en) 2014-01-21 2016-09-27 International Business Machines Corporation Loading pegged page objects based on predefined preferences
US10397302B2 (en) 2014-01-21 2019-08-27 International Business Machines Corporation Loading pegged page objects based on predefined preferences
US9785309B2 (en) * 2014-05-08 2017-10-10 Socialtopias, Llc Method and apparatus for providing a layered webpage
US11169694B2 (en) 2014-08-05 2021-11-09 Square, Inc. Interactive layer for editing a rendering displayed via a user interface
US11763067B2 (en) 2014-10-08 2023-09-19 Block, Inc. User interface for editing web content
US20170004123A1 (en) * 2015-06-30 2017-01-05 International Business Machines Corporation Interactive gui review tool system and method
US11657221B2 (en) * 2018-04-27 2023-05-23 Fujifilm Business Innovation Corp. Display editing apparatus, server apparatus, display editing system, and non-transitory computer readable medium storing program
US11436292B2 (en) 2018-08-23 2022-09-06 Newsplug, Inc. Geographic location based feed
US11609963B2 (en) * 2018-10-24 2023-03-21 Citrix Systems, Inc. Dynamically change user interfaces for web applications and associated methods
US10866708B2 (en) 2018-12-10 2020-12-15 Square, Inc. Using combined ecommerce and brick-and-mortar data to produce intelligent recommendations for web page operation
US11409948B2 (en) 2018-12-10 2022-08-09 Block, Inc. Centralized brand asset management
US11770437B1 (en) * 2021-08-30 2023-09-26 Amazon Technologies, Inc. Techniques for integrating server-side and client-side rendered content
US20230353525A1 (en) * 2022-04-27 2023-11-02 Salesforce, Inc. Notification timing in a group-based communication system

Also Published As

Publication number Publication date
US20160180436A1 (en) 2016-06-23
US9201672B1 (en) 2015-12-01

Similar Documents

Publication Publication Date Title
US20100313252A1 (en) System, method and apparatus for creating and using a virtual layer within a web browsing environment
US20220100947A1 (en) Systems and methods for sharing user generated slide objects over a network
Anupam et al. Automating Web navigation with the WebVCR
US7840648B1 (en) Web-page authoring tool for automatic enrollment in advertising program
US8095875B2 (en) Method and apparatus for consolidating network information
KR101953303B1 (en) Identifying matching applications based on browsing activity
AU2010201642B2 (en) Remote module incorporation into a container document
US9183316B2 (en) Providing action links to share web content
KR101477763B1 (en) Message catalogs for remote modules
Ennals et al. Intel mash maker: join the web
US8832056B2 (en) Content insertion elements to combine search results
US20140245141A1 (en) Contextual user assistance for cloud services
US10943063B1 (en) Apparatus and method to automate website user interface navigation
US20070136337A1 (en) Module specification for a module to be incorporated into a container document
US20090276455A1 (en) Sharing information about a document across a private compuer network
US8533586B1 (en) Annotation overlay collection, storage, and display system and method
WO2007070402A2 (en) Proxy server collection of data for module incorporation into a container document
WO2007130547A2 (en) Remote module syndication system and method
US20150317042A1 (en) System and Methods for Loading an Application and its Modules in a Client Device
US20080189604A1 (en) Derivative blog-editing environment
Hupp et al. Smart bookmarks: automatic retroactive macro recording on the web
US8849692B1 (en) Online advertising program enrollment program
Patino Better Reviews
Shaari et al. Achieving “One-Web” through customization and prioritization
KR20090072772A (en) Method, system, terminal and computer-readable recording medium for providing icon information based on text

Legal Events

Date Code Title Description
AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:YONTOO TECHNOLOGY, INC.;REEL/FRAME:025927/0576

Effective date: 20110309

AS Assignment

Owner name: YONTOO TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TROUW, ARIE;NOWELL, ASHLEY S.;REEL/FRAME:026380/0740

Effective date: 20101029

AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:YONTOO LLC;REEL/FRAME:034786/0568

Effective date: 20141201

AS Assignment

Owner name: YONTOO TECHNOLOGY, INC., CALIFORNIA

Free format text: RELEASE;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION;REEL/FRAME:035443/0735

Effective date: 20150408

AS Assignment

Owner name: YONTOO LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YONTOO TECHNOLOGY, INC.;REEL/FRAME:035671/0371

Effective date: 20130715

Owner name: REVIZER TECHNOLOGIES LTD, ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YONTOO LLC;REEL/FRAME:035671/0550

Effective date: 20150505

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION