U.S. patent application number 13/445649 was filed with the patent office on 2013-04-25 for methods and systems for real-time web tracking and marketing.
This patent application is currently assigned to IBT - Internet Business Technologies. The applicant listed for this patent is Andre T. Parreira. Invention is credited to Andre T. Parreira.
Application Number | 20130104030 13/445649 |
Document ID | / |
Family ID | 47753134 |
Filed Date | 2013-04-25 |
United States Patent
Application |
20130104030 |
Kind Code |
A1 |
Parreira; Andre T. |
April 25, 2013 |
METHODS AND SYSTEMS FOR REAL-TIME WEB TRACKING AND MARKETING
Abstract
The present invention contemplates methods and systems for
tracking and interacting with on-line users in a given website. The
system allows an e-commerce merchant to track user actions and push
multimedia content to users in real-time. The system may send
promotional alerts based on the current user activity, order
history and preferences
Inventors: |
Parreira; Andre T.;
(Odivelas, PT) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Parreira; Andre T. |
Odivelas |
|
PT |
|
|
Assignee: |
IBT - Internet Business
Technologies
Odivelas
PT
|
Family ID: |
47753134 |
Appl. No.: |
13/445649 |
Filed: |
April 12, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61477577 |
Apr 20, 2011 |
|
|
|
61477575 |
Apr 20, 2011 |
|
|
|
61477579 |
Apr 20, 2011 |
|
|
|
Current U.S.
Class: |
715/234 |
Current CPC
Class: |
H04W 4/06 20130101; G06F
40/14 20200101; H04L 67/02 20130101 |
Class at
Publication: |
715/234 |
International
Class: |
G06F 17/22 20060101
G06F017/22 |
Claims
1. A method for real-time tracking and interacting with at least
one online user using a web browser running on a user device,
comprising: receiving, from the user device, a value or event on a
web page of the web browser; sending, to a customer service, the
value or event of the web page of the web browser; receiving, from
the customer service, a response; pushing the response to the user
device in real-time, by an Open Real-Time Connectivity (ORTC)
interface; and displaying the response on the web page in real-time
without the web browser refreshing the web page.
2. The method of claim 1, wherein the value or event is abstracted
from a Document Object Model (DOM) of the web page.
3. The method of claim 1, wherein the response comprises a change
of an element of a Document Object Model (DOM) of the web page.
4. The method of claim 1, wherein the response comprises a change
of a text, a numerical value, a timestamp, a Boolean value, a
currency value, a custom object, or a collection of custom objects
on the web page.
5. The method of claim 1, wherein the value or event comprises
status information about the web browser.
6. The method of claim 1, wherein the event is triggered by a value
change of an element of the web page.
7. The method of claim 1, wherein the response comprises a logic to
be executed by the web browser on the web page.
8. The method of claim 1, wherein the response comprises an input
request to the online user.
9. The method of claim 1, further comprising: generating a response
at the customer service automatically when the value or event of
the web page of the web browser conforms one or more logic
rules.
10. The method of claim 1, further comprising: generating a
response at the customer service by an operator,based on the value
or event of the web page of the web browser.
11. The method of claim 1, wherein the value or event is a network
location of the web page of the web browser represented by a
uniform resource locator (URL).
12. The method of claim 1, further comprising: receiving, at the
user device, the response in realytime.
13. The method of claim 1, further comprising: establishing a
multimedia communication session with the web browser running on
the user device, without refreshing the web page.
14. The method of claim 1, further comprising: receiving, from a
electronic commerce server, data of the online us
15. The method of claim 1, further comprising: receiving, from a
electronic commerce server, an order history of the online
user.
16. The method of claim 1, wherein the response is a sales
promotion message.
17. The method of claim 1, wherein the response is a help message
to improve a user experience for the online user.
18. The method of claim 1, wherein the response is a request to
establish a multimedia communication session with the online
user.
19. The method of claim 13, wherein the multimedia communication
session runs through an ORTC channel.
20. The method of claim 13, wherein the multimedia communication
session is a video chat session.
21. The method of claim 13, wherein the multimedia communication
session is an audio chat session.
22. The method of claim 13, wherein the multimedia communication
session is a text chat session.
23. The method of claim 13, wherein the multimedia communication
session is a remote desktop session.
24. The method of claim 1, wherein the ORTC interface is an
abstraction layer to the underlying real-time full-duplex web
communication platform.
25. The method of claim 24, wherein the underlying real-time
full-duplex web communication platform is an HTML5 WebSocket
platform.
26. The method of claim 24, wherein the abstraction layer enables
the user device to operate independent of a type of underlying
communication platform.
27. A system for real-time tracking and interacting with at least
one online user using a web browser running on a user device,
comprising: a server component for receiving, from the user device,
a value or event on a web page of the web browser; a client-side
component for sending, to a customer service, the value or event of
the web page of the web browser; an applications component for
generating and transmitting a response to the user device in
real-time, by an Open Real-Time Connectivity (ORTC) interface; and
the client-side component being further configured for displaying
the response on the web page in real-time without the web browser
refreshing the web page
28. The system of claim 27, wherein the response is transmitted via
a network path not including a web server hosting the web page.
29. The system of claim 27, wherein the applications component
comprises a dashboard component, a workplace component, a reporting
component and a backoffice component.
30. The system of claim 27, wherein the value or event is read from
a
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This patent application claims priority to U.S. Patent
Application No. 61/477,577, entitled METHODS, SYSTEMS AND PRODUCTS
IN REAL-TIME TRACKING AND MARKETING INTERACTION WITH WEB
APPLICATION USERS, filed Apr. 20, 2011, the entire contents of
which are incorporated herein its entirety.
[0002] This patent application is further related to the
technologies described in the following patents and applications,
all of which are incorporated herein in their entireties:
[0003] U.S. Provisional Patent Application No. 61/1,477,579,
entitled METHOD, SYSTEM AND PRODUCTS FOR STANDARDIZED ACCESS TO
REAL-TIME FULL-DUPLEX WEB COMMUNICATIONS PLATFORM, filed Apr. 20,
2011, and U.S. Patent Application No. 61/477,575, entitled METHOD,
SYSTEM AND PRODUCTS FOR STANDARDIZED xRTML-MARKUP LANGUAGE IN
REAL-TIME WEB CONTENT PUBLISHING, filed Apr. 20, 2011.
FIELD
[0004] The present invention relates to real-time tracking and
marketing for web application users, more specifically to a system
that allows a web merchant to track in real-time the status of
users in a web site and push multimedia content to their
browsers,
BACKGROUND
[0005] E-commerce has been a major form of commerce for years.
Online business has been growing stronger. In the US only, sales
have been increased 12.6% to $176.2 billion in 2010 and are
expected to reach nearly $280 billion in 2015. Companies in
E-commerce business face fierce competition. Discounts, vouchers,
group shopping and wish lists are common tools in E-commerce. Yet,
there is still the need to improve the customer online shopping
experience, to attract returning customers, and to better promote
the online sales.
[0006] Overall, the examples herein of some prior or related
systems and their associated limitations are intended to be
illustrative and not exclusive. Other limitations of existing or
prior systems will become apparent to those of skill in the art
upon reading the following Detailed Description.
SUMMARY OF THE DESCRIPTION
[0007] At least one embodiment of this invention pertains to a
method for real-time tracking and interaction with at least one
online user using a web browser running on a user device. The
method comprises: receiving, from the user device, a value or an
event of a current web page of the web browser; sending, to a
customer service, the value or event of the current web page of the
web browser; receiving.sub.; from the customer service, a response;
pushing the response to the user device in real-Lime, by an Open
Real-Time Connectivity (ORTC) interface; and displaying the
response on the current web page in real-time without the web
browser refreshing the web page.
[0008] Another embodiment of this invention pertains to a system
for real-time tracking and interacting with at least one online
user using a web browser running on a user device. The system
comprises a receiving module for receiving, from the user device, a
value or event on a current web page of the web browser; a sending
module for sending, to a customer service, the value or event of
the current web page of the web browser; a graphical user interface
for receiving.sub.; from the customer service, a response; a
transmission module for transmitting the response to the user
device in real-time, by an Open Real-Time Connectivity (ORTC)
interface; and a client-side component for displaying the response
on the current web page in real-time without the web browser
refreshing the web page.
[0009] The system allows providing help online and thousands of
miles away from the customers, without the need for any web page
refresh. A web merchant is able to send content to the end user's
browser without the need for web page refreshes. Built upon the
Open Real-Time Connectivity API (ORTC), the system allows real-time
interaction with end user's web browsers over standard web ports,
such as 80 or 443. Unlike other technologies such as AJAX, web
servers in this system are not taxed with repeated requests.
[0010] Other advantages and features will become apparent from the
following description and claims it should be understood that the
description and specific examples are intended for purposes of
illustration only and not intended to limit the scope of the
present disclosure.
BRIEF DESCRIPTION OF DRAWINGS
[0011] These and other objects, features and characteristics of the
present invention will become more apparent to those skilled in the
art from a study of the following detailed description in
conjunction with the appended claims and drawings, all of which
form a part of this specification. In the drawings:
[0012] FIG. 1 illustrates a real-time web tracking and marketing
system utilizing a real-time server to process data
communications
[0013] FIG. 2 illustrates information flows in an implementation of
the real-time web tracking and marketing system.
[0014] FIG. 3 illustrates a sample process of remotely reading
webpage content information in real-time.
[0015] FIG. 4 illustrates a sample process of pushing new logic
and/or content in real-time.
[0016] FIG. 5 illustrates a sample of tracking events of browser
window getting or losing focus.
[0017] FIG. 6 illustrates a sample workplace GUI used to push
content to a group of filtered visitors and to a specific unique
visitor.
[0018] FIG. 7 illustrates an example of handling push action by
displaying a control on a web browser.
[0019] FIG. 8 illustrates how a page title bar can have its content
customized upon receiving a push action.
[0020] FIG. 9 illustrates a sample text chat interaction in
real-time, on a real-time web tracking and marketing system
workplace GUI.
[0021] FIG. 10 illustrates a sample real-time web tracking and
marketing system backoffice GUI for configuring a selector.
[0022] FIG. 11 Illustrates a sample real-time web tracking and
marketing system backoffice GUI for Navigation Contexts
configuration.
[0023] FIG. 12 illustrates a sample real-time web tracking and
marketing system dashboard GUI, with visitors' information
displayed in real-time.
[0024] FIG. 13 illustrates a sample real-time web tracking and
marketing system workplace GUI, with an interface to push new
content in real-time to visitors in bulk or individually.
[0025] FIG. 14 illustrates a sample composition of conditions for
an automatic rules engine.
[0026] FIG. 15 illustrates a diagram of a sample environment for a
web server interacting with client devices through the
Internet;
[0027] FIG. 16 Illustrates a block diagram describing interactions
between components of a real-time marketing system;
[0028] FIG. 17 illustrates a sample process of user receiving help
through a real-time marketing system;
[0029] FIG. 18 illustrates a zoomed portion of a customer's web
browser receiving a promotion; and
[0030] FIG. 19 illustrates a customer's web browser displaying a
promotion web page.
[0031] The headings provided herein are for convenience only and do
not necessarily affect the scope or meaning of the claimed
invention.
[0032] In the drawings, the same reference numbers and any acronyms
identify elements or acts with the same or similar structure or
functionality for ease of understanding and convenience. To easily
identify the discussion of any particular element or act, the most
significant digit or digits in a reference number refer to the
Figure number in which that element is first introduced.
DETAILED DESCRIPTION OF THE INVENTION
[0033] Various examples of the invention will now be described. The
following description provides specific details for a thorough
understanding and enabling description of these examples. One
skilled in the relevant art will understand, however, that the
invention may be practiced without many of these details. Likewise,
one skilled in the relevant art will also understand that the
invention can include many other obvious features not described in
detail herein. Additionally, some well-known structures or
functions may not be shown or described in detail below, so as to
avoid unnecessarily obscuring the relevant description.
[0034] The terminology used below is to be interpreted in its
broadest reasonable manner, even though at is being used in
conjunction with a detailed description of certain specific
examples of the invention. Indeed, certain terms may even be
emphasized below; however, any terminology intended to be
interpreted in any restricted manner will be overtly and
specifically defined as such in this Detailed Description
section.
[0035] The Real-Time Web Tracking and Marketing system, also called
POWERMARKETING, tracks website users' activities in real-time and
executes real-time marketing actions. The POWERMARKETING system may
be based on an Open Real-Time Connectivity (ORTC) communications
system. The POWERMARKETING system includes a server component,
client-side component, and application components. A visitor of a
webpage tracked by POWERMARKETING system will be in direct contact
with the client-side component. An operator of an instance of the
POWERMARKETING system will be in contact with the application
components including dashboard, workplace, reporting and
backoffice. The server component routes, handles and dispatches all
POWERMARKETING messages originating from the client-side component
or applications components. The server component further guarantees
the usage of the ORTC system to maintain the persistent and
bi-directional communications in real-time. The server component
also processes any calculations, data persistence, data
aggregation, automatic rules parsing and actions triggering for the
POWERMARKETING system.
[0036] Web Server Independence
[0037] The POWERMARKETING system allows for the real-time tracking
of visitors to any HTML webpage. The webpage may or may not be
hosted on a webserver, as long as the user's device contains the
POWERMARKETING client-side component. A simple webpage on a user's
device, as long as the machine is connected to the Internet and the
POWERMARKETING and ORTC services are reachable, can act as a source
of POWERMARKETING information.
[0038] The real-time tracking can leverage Websockets, allowing a
different approach from the usual model used by webservers to
provide REQUEST/RESPONSE type of communications. Nevertheless,
given the current market of websites based on web servers and
compatible web browsers, POWERMARKETING can be used in conjunction
with those websites, without installation of third party web
browser extensions or plugins.
[0039] FIG. 1 illustrates a POWERMARKETING system utilizing a
real-time server based on ORTC to process the data communications
between a web browser instance and the POWERMARKETING services.
[0040] Not only POWERMARKETING system has its communications
handled by ORTC, allowing independence of the web server, but it
can also freely read from and write to the web browser's rendered
webpage Document Object Model (DOM). This means that the
POWERMARKETING system can not only remotely execute methods to
obtain information from a visitor's browser rendered page in
real-time, but can also execute methods to change any element on
the visitor's browser DOM, allowing its content to dynamically
reflect any changes wanted, without that content being rendered by
the web server in advance.
[0041] FIG. 2 illustrates information flows in an implementation of
the POWERMARKETING system. The web browser retrieves a web page
from a web server and renders the web page. The POWERMARKETING
server interacts with the web browser directly for reading and
pushing content dynamically in the web page.
[0042] FIG. 3 illustrates a sample process of remotely reading
webpage content information in real-time. The web browser transmits
specific values on the webpage to customer service in realtime and
keeps monitoring these values. If any of these values is changed,
the web browser will transmit and update the value to customer
service in realtime. FIG. 4 illustrates a sample process of pushing
new logic and/or content in real-time. The customer service
instructs the web browser to push new logic and/or content.
Accordingly, the web browser executes the new logic or display the
new content on the web page.
[0043] Tracking Content and Events, Pushing Content and Logic
[0044] Since the client-side component of POWERMARKETING system can
have direct access to the visitor's browser DOM, it can read all
elements on the rendered webpage, subscribe to the events on the
webpage, and route information to the POWERMARKETING system in
real-time. For example, FIG. 5 illustrates a sample of tracking
events of browser window getting or losing focus. As shown, when a
browser window gets or loses focus, an event is triggered and
routed to the POWERMARKETING system. The information is shown based
on those events, in real-time, to a POWERMARKETING operator,
through a POWERMARKETING application GUI. FIG. 5 shows a
POWERMARKETING dashboard widget displaying the amount of visitors
connected to a website, and the amount of visitors whose web
browser instance has the focus, indicating that the visitor is
paying attention to the webpage content.
[0045] On the other hand, the POWERMARKETING client-side component
can also modify the DOM elements, so that it can add client-side
logic to the webpage dynamically and in real-time. The client-side
logic may enhance the experience available to the webpage visitor,
promote products with additional images, sounds, videos, or contain
any other type of media that can be transmitted and rendered. Since
the web browser DOM can also be changed in real-time, events such
as a message content being displayed as a marquee on the page title
bar is also possible to track. For example, FIG. 6 illustrates a
sample workplace GUI used to push content to a group of filtered
visitors (above), or to a specific unique visitor (below). FIG. 6
shows a zoomed portion of the PMS GUI where the selection of the ad
to push is made. Upon the push button being pushed, the
POWERMARKETING system will send a notification to the selected user
that an exclusive promotion is available for the user. FIG. 7
illustrates an example of handling a real-time POWERMARKETING push
action, by displaying an advertisement "toast" control on the
bottom right hand corner of the web browser. FIG. 8 illustrates how
a page title bar can have its content customized upon receiving a
real-time POWERMARKETING push action.
[0046] Utilizing the system disclosed above, it is possible to
create interactive experiences between a POWERMARKETING application
operator, and a visitor of a POWERMARKETING enabled webpage, via
different forms of interactions such as text chats, video
conference, help in filling forms, helping the visitor to navigate
to another page through push of the navigation action and target
network location, or even a full co-browsing experience. For
example, FIG. 9 illustrates a sample text chat interaction in
real-time, on a POWERMARKETING workplace GUI. A POWERMARKETING
operator text-chats with the visitor in a text-chat control on the
right side of the web page.
[0047] Selectors
[0048] The POWERMARKETING Backoffice component allows the
configuration of expressions that, upon being received by the
POWERMARKETING client-side component in real-time, are executed
against the webpage and retrieve information from the rendered page
DOM. The component then sends the information back to the
POWERMARKETING Server components. These expressions are called
selectors, since they provide a way to remotely select which
specific elements' information to get from the webpage. Selectors
can then be associated to different data types, such as, but not
limited to: text, numeric values, date/time, Boolean, currency,
custom object, or collection of custom objects.
[0049] The return values of the selectors can be used to obtain the
underlying value of the selected DOM element or attribute, but may
also be used to retrieve different information about the selected
element or attribute, besides its associated value. For example, it
is possible to use a selector to retrieve the visibility status of
an element, in relation to the web browser's viewable area, i.e.
webpage area being currently rendered in the visible portion of the
web browser. This also applies to other attributes and metadata
such as color, font information, relative and absolute
position.
[0050] Selectors can be configured to check for changes to the
element or attribute which has its value being monitored at regular
time intervals. The check may be done on the visitor's web browser.
If the value of the element/attribute monitored by the selector
changes, such as in a result of an AJAX call by the website, an
event is triggered and the new value is sent to the POWERMARKETING
server. Thus a real-time perception of the monitored values on the
webpage is effectively maintained. FIG. 10 illustrates a sample
POWERMARKETING backoffice GUI for configuring a selector.
[0051] Website Sections
[0052] On webpages that are served by a web server, its network
location is usually defined by a Universal Resource Locator (URL),
which the web browser uses to make a request to the web server.
Based on that request, the web server renders an appropriate HTML
webpage. Since the POWERMARKETING system can change the DOM of the
rendered webpage remotely, dynamically and in real-time., the
rendered webpage may not reflect what was rendered by the
webserver. Thus the rendered webpage represents a different
"logical" location, referred to as section, of the website.
[0053] A section can be identified by matching section detection
rules to its URL, but that URL does not allow for the
identification of what the visitor has currently rendered on its
webpage. Therefore selectors can be created to determine which
section of the website the visitor is currently in. Using selector,
different content can be rendered for the same URL.
[0054] POWERMARKETING system allows the detection of one or more
different sections by reading its DOM elements and associated
attributes through, and applying filter rules as defined in the
POWERMARKETING backoffice component. This allows the tracking of
where on a website the visitor currently is, and what is currently
rendered and visible on his web browser.
[0055] Navigation Contexts
[0056] The association of specific selectors to obtain values and
metadata from a webpage with one or more specific sections, is
called Navigation Contexts. Navigation Contexts are configured in
the POWERMARKETING backoffice component, and allow the loading of
the necessary Selectors that must be executed in those Sections.
This allows the selectors configured for a specific section to be
loaded and executed only when that section is detected as having
been rendered on the visitor's web browser. FIG. 11 illustrates a
sample POWERMARKETING backoffice GUI for Navigation Contexts
configuration. As shown in FIG. 11, the GUI may include URL
filtering rules, areas identified by the context, selectors to be
applied remotely to the section's webpages and remote events to
detect.
[0057] The POWERMARKETING system can determine where the visitor is
located on a website, and what information is rendered on the page,
as well as the events triggered. It is possible to send from the
POWERMARKETING server, in real-time, the additional content to be
rendered and/or logic to be executed at a precise moment, on a
precise webpage, for a precise visitor. In addition, by collecting
additional information in real time, and detecting visitors web
browser behavior in real-time, a visitor profile can be assumed.
The visitor profile may be utilized to customize the content to
render and logic to be executed.
[0058] A POWERMARKETING system operator can update content and/or
logic remotely on a visitor's web browser instance of a webpage, or
on several visitors' web browser instances at the same time, using
the Push methods shown in FIGS. 6-8.
[0059] Real-Time Web Marketing
[0060] Through the use of pre-configured selectors, information can
be obtained from the instance of a visitor's web browser that is
visiting a monitored website. That information about specific
content or logic may be transmitted and displayed in real-time, on
one of the POWERMARKETING application GUIs, by Marketing or
Customer Service operators.
[0061] For example, FIG. 12 illustrates a sample POWERMARKETING
dashboard GUI, with visitors' information being received and
displayed in real-time. FIG. 13 illustrates a sample POWERMARKETING
workplace GUI, with visitors information being received and
displayed in real-time, as well as an interface to push new content
in real-time to visitors in bulk or individually. In one
embodiment, a product promotion is pushed to a specific user based
on the user order history. Through a POWERMARKETING GUI, a member
of the CS identifies a user and checks the user's order history.
The user has bought previously product X; the CS may decide to send
him an ad with a promotion for a new product complementary to
product X.
[0062] Push Input Requests and Receive Responses in Real-Time
(Powersurvey)
[0063] A specific utilization of a composition of the above methods
allows the push of an input request, i.g. pushing a survey form, to
visitors. Then the system receives the visitor feedback in
real-time in the POWERMARKETING Applications through ORTC.
[0064] Automatic Rules Engine for Real-Time Web Marketing
(Automagic)
[0065] Utilizing tracking methods previously disclosed, it is
possible to define Boolean conditions that reflect a visitor's
context on a specific webpage (e.g. the visitor has products in the
shopping cart over $100 USD and is on the checkout process page),
or a specific website context condition (e.g. visitors with browser
in focus on the website decreased below 10% of the amount of
visitors connected to the same website).
[0066] FIG. 14 illustrates a sample composition of conditions for
an automatic rules engine. These conditions are defined by sets of
rules which includes selector-obtained value, operator and value to
match.
[0067] Methods called actions that can be invoked as a consequence
of a trigger. Actions can include the remote update of content
and/or logic through the POWERMARKETING system, such as pushing an
advertisement or promotion banner, or triggering an event of
starting a text chat with a POWERMARKETING operator.
[0068] A trigger is a specific set of conditions that can be
associated to a set of actions to be executed when the conditions
for the trigger are met. Below shows a sample trigger "VIP Customer
Checkout":
TABLE-US-00001 Selector -> ShoppingCartTotal Operator ->
Greater Than Value -> 5000 AND Selector -> CurrentPage
Operator -> Equals Value -> Checkout AND Selector ->
TimeOnPage Operator -> Greater Than Value -> 100.
[0069] FIG. 15 and the following discussion provide a brief,
general description of a representative environment in which the
invention can be implemented. Although not required, aspects of the
invention may be described below in the general context of
computer-executable instructions, such as routines executed by a
general-purpose data processing device (e.g., a server computer or
a personal computer). Those skilled in the relevant art will
appreciate that the invention can be practiced with other
communications, data processing, or computer system configurations,
including: wireless devices, Internet appliances, hand-held devices
(including personal digital assistants (PDAs)), wearable computers,
all manner of cellular or mobile phones, multi-processor systems,
microprocessor-based or programmable consumer electronics, set-top
boxes, network PCs, mini-computers, mainframe computers, and the
like. Indeed, the terms "computer," "server," and the like are used
interchangeably herein, and may refer to any of the above devices
and systems.
[0070] While aspects of the invention, such as certain functions,
are described as being performed exclusively on a single device,
the invention can also be practiced in distributed environments
where functions or modules are shared among disparate processing
devices. The disparate processing devices are linked through a
communications network, such as a Local Area Network (LAN), Wide
Area Network (WAN), or the Internet. In a distributed computing
environment, program modules may be located in both local and
remote memory storage devices.
[0071] Aspects of the invention may be stored or distributed on
tangible computer-readable media, including magnetically or
optically readable computer discs, hard-wired or preprogrammed
chips (e.g., EEPROM semiconductor chips), nanotechnology memory,
biological memory, or other data storage media. Alternatively,
computer implemented instructions, data structures, screen
displays, and other data related to the invention may be
distributed over the Internet or over other networks (including
wireless networks), on a propagated signal on a propagation medium
(e.g., an electromagnetic wave(s), a sound wave, etc.) over a
period of time. In some implementations, the data may be provided
on any analog or digital network (packet switched, circuit
switched, or other scheme).
[0072] As shown in FIG. 15, a user may use a personal computing
device (e.g., a phone 102, a personal computer 104, etc.) to
communicate with a network. The term "phone," as used herein, may
be a cell phone, a personal digital assistant (PDA), a portable
email device (e.g., a Blackberry.RTM.), a portable media player
(e.g., an !Pod Touch.RTM.), or any other device having
communication capability to connect to the network. In one example,
the phone 102 connects using one or more cellular transceivers or
base station antennas 106 (in cellular implementations), access
points, terminal adapters, routers or moderns 108 (in IP-based
telecommunications implementations), or combinations of the
foregoing (in converged network embodiments).
[0073] In some instances, the network 110 is the Internet, allowing
the phone 102 (with, for example, WiFi capability) or the personal
computer 104 to access web content offered through various web
servers. In some instances, especially where the phone 102 is used
to access web content through the network 110 (e.g., when a 3G or
an LTE service of the phone 102 is used to connect to the network
110), the network 110 may be any type of cellular, IP-based or
converged telecommunications network, Including but not limited to
Global System for Mobile Communications (GSM), Time Division
Multiple Access (TDMA), Code Division Multiple Access (CDMA),
Orthogonal Frequency Division Multiple Access (OFDM), General
Packet Radio Service (CPRS), Enhanced Data GSM Environment (EDGE),
Advanced Mobile Phone System (AMPS), Worldwide Interoperability for
Microwave Access (WiMAX), Universal Mobile Telecommunications
System (UMTS), Evolution-Data Optimized (EVDO), Long Term Evolution
(LTE), Ultra Mobile Broadband (UMB), Voice over Internet Protocol
(VoIP), Unlicensed Mobile Access (UMA), etc.
[0074] In some instances, a user uses one of the personal computing
devices (e.g., the phone 102, the personal computer 104, etc.) to
connect to a web server 120 over the network 110. A web server, as
defined herein, refers to any computing device that hosts or
operates data pertaining to a website. In one example, the web
server 120 is a server that operates by an online clothing store
company. In such an example, the web server 120 has local or remote
access to a database comprising the online store's catalog of
products and pricing information. The web server 120 may also
include information, in the form of a database of scripts or
high-level languages, relevant to receiving user input and
responding with content pertinent to the user's input. For example,
if a user requests samples of a particular designer shirt, the web
server 120 includes capability to retrieve the relevant designer
information and products from the database and return the
information to the requesting client such that the information is
displayed on the user's personal computing device. The web server
120 also includes code relevant to hosting the web site and
managing all interactive actions related to the hosted web site. In
another example, the web server operates an interactive online
networking model, where several users may operate concurrently in
an interactive session.
[0075] As will be explained in more detail below, in one
embodiment, the techniques described herein introduce a layer of
abstraction to the underlying web communication platform (simply,
"communication platform"). Such an abstraction layer, introduced as
the Open Real-Time Connectivity (ORTC) layer, presents several
advantages. In such embodiments, the web site (and corresponding
web pages) corresponding to the dynamic session operated by the web
server 120 include interfaces (e.g., APIs) to a base ORTC layer.
Upon interfacing, through ORTC interfaces, with the ORTC layer, the
web pages are ORTC enabled and operate via the ORTC layer to
establish communication with the underlying communication platform.
There are several advantages in having such an abstraction layer.
One advantage is that the web server 120 may change the underlying
communication platform (e.g., when there are updates or newer and
advanced platforms) without having to change the web site
architecture (e.g., without changing code relevant to the operation
of the interactive session). Another advantage is that, in certain
implementations, information related to updates to interactive
sessions are broadcast and captured directly via the ORTC
interfaces associated with the web clients, without requiring any
update pushed out from the web server. Additionally, the web client
does not have to repeatedly request or look for updates from the
server. Instead, the web client automatically receives an update
message through the ORTC layer, thus conserving considerable
bandwidth resources that would have originally been spent on
continuously querying the web server 120.
[0076] The ORTC layer is developed to add a layer of abstraction to
real-time full-duplex web communications platforms by making
real-time web applications independent of the actual network
communication platform in use. However programmers still need to
interpret the server messages being sent over the network and
render the appropriate received content at the appropriate place in
the GUI on the end user's web browser.
[0077] In one embodiment, there is a system allowing real-time
interaction with end users of a given website through the Internet,
for the purpose of increasing sales and providing a better customer
experience. The system consists of a services platform, including a
consistent web GUI, called POWERMARKETING, allowing an e-commerce
merchant (hereby referred to as merchant) to track user actions and
push multimedia content to all or to a subset of users in
real-time. Within the present disclosure, real-time means that the
user receives the content without the need of refreshing the
current page or navigating to another page on the website. The
communication is initiated by the server, i.e. a request from the
merchant through the POWERMAKETING GUI. In contrast, in
non-real-time websites, the communication is usually initiated by
the end user, and the server can only send content to a user when
his web browser sends a request for it. This feature is achieved by
leveraging on the Open Real-Time Connectivity API through which
existing websites can be engineered to connect to a real-time
marketing server such as a POWERMARKETING server, thus becoming a
powerful real-time marketing tool.
[0078] FIG. 16 shows a block diagram describing interactions
between components of an e-commerce system. In one embodiment, the
web user browses the site by sending requests to the e-commerce
server (ECS). At the same time, the user's web browser sends the
current URL along with the user id to the POWERMARKETING Server
(PMS), which updates the PMS GUI used by the Customer Support Team
(CST) through an interface such as a web browser interlace. By
analyzing the user actions or upon reception of a PMS alert, the
CST members can push content to a specific user or groups of users
through the PMS GUI. Accordingly, the PMS will push the desired
content to the defined user's browsers. The content being pushed
can be any multimedia content or a request for establishing a
chat-video connection with the CST. The system provides a
completely bi-directional, i.e. full-duplex, connection with a
website user, enabling powerful direct interactions between the
customer support team and users over a common web browser and
internet connection without the need of installing any browser
plug-ins. The interactive communication between the POWERMARKETING
server and the web user may utilize various technologies. For
example, full-duplex web communication platforms (e.g., HTML5
Websocket) enable duplex communication between the clients and the
POWERMARKETING server, allowing the clients to transmit
instructions or messages and receive updates (e.g., refreshed pages
or information within pages upon receiving new information).
[0079] FIG. 17 shows a scenario which a user receives a help
proposition from the merchant because he is stalled at the payment
process of the e-commerce workflow for more than a time period,
e.g. 5 minutes. In one embodiment, the web user X has a shopping
cart ready to be paid and navigates through the website's checkout
process until he reaches the payment page (step 1A). While he was
navigating the website, his location, i.e. the web page URL, was
being sent (step 1B) to the POWERMARKETING Server (PMS). When after
5 minutes there's still no payment received from user X, according
to a pre-defined rule, PMS alerts one of the Merchant Customer
Support members (CS) identifying the user and his current location
(step 2). If needed the CS may request more information about the
user by relaying a request to the e-commerce server through the PMS
GUI (the e-commerce server needs the appropriate PMS plug-in in
order to be able to respond to the PMS requests). Understanding
that probably the user is facing certain difficulty during the
payment process, the CS sends a help proposition to the user
through the PMS GUI (step 3). The PMS will send an invitation
message to the user web browser indicating that a CS member would
like to assist the user via a video session (step 4). If the user
accepts the CS invitation, a video session is established between
the user and the selected CS member (step 5), enabling him to
understand the user difficulty and providing the answer. With this
information, the user can then finish the payment and a new order
is placed at the e-commerce server (step 6).
[0080] FIG. 18 shows a zoomed portion of the user's web browser
where he is invited to see the exclusive promotion. If the user
decides to learn more about the promotion, the user can click the
"Click here" link, and then the promotion is displayed in the
user's web browser as FIG. 19 depicts.
[0081] In another embodiment, a website allows groups of friends to
make their online purchases together. The friends can browse
through the website together. Given the appropriate permission by
his friend, another user can take over the other user's browser,
tour them through sections or products, talk about what they're
seeing, discuss about what products they are buying, exchange
experiences on given items, or simply provide their opinion. User
can enter a group-shopping session with a couple of friends and ask
them for help on getting the right merchandize. One of the Customer
Support Members may notice that a group of users is browsing
through an area; the Customer Support Member may push a banner for
a given product to highlight the recommendation to the group of
users. The Customer Support Member may offer the group a discount
in real-time, for the article that the group of users are watching
at that moment. The Customer Support Member may also offer help and
joins the video-chat session to better guide the potential
customers.
[0082] With the real-time marketing system such as POWERMARKETING,
online support is not a one-way process. Customer support members
don't have to stand-by and merely react to help based on the
requests. With the real-time marketing system, customer support
members can be proactive. They can initiate interaction with their
users. They can provide a customer support service that customers
appreciate and remember. The real-time marketing system, such as
POWERMARKETING, offers online businesses an unprecedented level of
information, interaction and opportunity that will help boost
sales.
[0083] Unless the context clearly requires otherwise, throughout
the description and the claims, the words "comprise," "comprising,"
and the like are to be construed in an inclusive sense(i.e., to
say, in the sense of "including, but not limited to"), as opposed
to an exclusive or exhaustive sense. As used herein, the terms
"connected," "coupled," or any variant thereof means any connection
or coupling, either direct or indirect, between two or more
elements. Such a coupling or connection between the elements can be
physical, logical, or a combination thereof. Additionally, the
words "herein," "above," "below," and words of similar import, when
used in this application, refer to this application as a whole and
not to any particular portions of this application. Where the
context permits, words in the above Detailed Description using the
singular or plural number may also include the plural or singular
number respectively. The word "or," in reference to a list of two
or more items, covers all of the following interpretations of the
word: any of the items in the list, all of the items in the list,
and any combination of the items in the list.
[0084] The above Detailed Description of examples of the invention
is not intended to be exhaustive or to limit the invention to the
precise form disclosed above. While specific examples for the
invention are described above for illustrative purposes, various
equivalent modifications are possible within the scope of the
invention, as those skilled in the relevant art will recognize.
While processes or blocks are presented in a given order in this
application, alternative implementations may perform routines
having steps performed in a different order, or employ systems
having blocks in a different order. Some processes or blocks may be
deleted, moved, added, subdivided, combined, and/or modified to
provide alternative or sub-combinations. Also, while processes or
blocks are at times shown as being performed in series, these
processes or blocks may instead be performed or Implemented in
parallel, or may be performed at different times. Further any
specific numbers noted herein are only examples. It is understood
that alternative implementations may employ differing values or
ranges.
[0085] The various illustrations and teachings provided herein can
also be applied to systems other than the system described above.
The elements and acts of the various examples described above can
be combined to provide further implementations of the
invention.
[0086] Any patents and applications and other references noted
above, including any that may be listed in accompanying filing
papers, are incorporated herein by reference. Aspects of the
invention can be modified, if necessary, to employ the systems,
functions, and concepts included in such references to provide
further implementations of the invention.
[0087] These and other changes can be made to the invention in
light of the above Detailed Description. While the above
description describes certain examples of the invention, and
describes the best mode contemplated, no matter how detailed the
above appears in text, the invention can be practiced in many ways.
Details of the system may vary considerably in its specific
implementation, while still being encompassed by the invention
disclosed herein, As noted above, particular terminology used when
describing certain features or aspects of the invention should not
be taken to imply that the terminology is being redefined herein to
be restricted to any specific characteristics, features, or aspects
of the invention with which that terminology is associated. In
general, the terms used in the following claims should not be
construed to limit the invention to the specific examples disclosed
in the specification, unless the above Detailed Description section
explicitly defines such terms. Accordingly, the actual scope of the
invention encompasses not only the disclosed examples, but also all
equivalent ways of practicing or implementing the invention under
the claims.
[0088] While certain aspects of the invention are presented below
in certain claim forms, the applicant contemplates the various
aspects of the invention in any number of claim forms. For example,
while only one aspect of the invention is recited as a
means-plus-function claim under 35 U.S.C. .sctn.112, sixth
paragraph, other aspects may likewise be embodied as a
means-plus-function claim, or in other forms, such as being
embodied in a computer-readable medium. (Any claims intended to be
treated under 35 U.S.C. .sctn.112, 6 will begin with the words
"means for.") Accordingly, the applicant reserves the right to add
additional claims after filing the application to pursue such
additional claim forms for other aspects of the invention,
* * * * *