"A method and system for tracking accesses of websites by mobile communication units"
Introduction
The present invention relates to a method and system for tracking accesses of websites by mobile communication units (MCUs) in a system comprising a plurality of MCUs, a mobile service provider (MSP) and a mobile content server (MCS) having a system memory, wherein website access requests are made by an MCU to the MCS via the MSP, and web pages corresponding to the website access requests are sent back from the MCS to the MCU via the MSP.
By understanding the actions of users on a website, it is possible to learn user navigation behaviour and site performances based on that user behaviour. Typical items of interest are determining what web pages, content, information and services users are most interested in or the least interested in. Additionally, it is possible to discover the performance of the website as different numbers of users access the site over different periods of time.
Being able to track and report on user and. site behaviour provides valuable information to the Internet Service Provider (ISP) and to the organisation which serves the web pages on its website. From the reports generated, service providers may decide to modify, revise, and upgrade the content and services on their web pages or indeed change the look and navigational structure of their websites.
Reports may provide evidence that additional hardware needs to be added to the system in order to match the demand of increasing number of page views generated by users. Reports may highlight web pages which are so infrequently visited that they may be removed from the site or placed in a more accessible location within the site. Reports may provide information about the most popular time of the day when there are many users accessing certain pages in a website. With such information, a service provider may add additional promotional or campaign pages that target certain behaviour patterns of most interest to it.
Generally, tracking and reporting of user and site behaviour has been done on fixed line machines, i.e. computers that have a fixed line connection to the Internet. Typical methods used to track user behaviour have been those incorporated in the use of cookies which are small programs that record information about users when that user accesses a website. The cookies are sent by the server to the user's browser (client) where it will reside and send back information about the user contained on the user's own PC. Additionally, log files are files which also are used to record user actions on a website and can be filtered to provide reports on user activity.
However, these known methods of tracking accesses to websites have been found to be heretofore unsuitable for use with mobile communication units. MCUs inherently do not have the processing capability available to fixed line machines and the amount of data that may be sent to and received by a mobile communication unit is significantly lower than that of fixed line machines. Storage of cookies on a mobile device would further load the processing capability of the MCU slowing the system down further. Similarly, log files increase the demands on the processing requirements of the system and have been found to be unsuitable for use with mobile communication units. Therefore, the tracking of mobile communication unit's accesses to websites was heretofore not possible with the known methods.
It is an object of the present invention to provide a method and a system for the tracking of mobile communication units accesses to websites. Another object of the present invention is to provide a simple and efficient way of tracking these accesses and for reporting user actions on websites to the mobile content server managers to allow them plan and design their websites in a more user friendly manner.
Statements of Invention
According to the invention, there is provided a system for tracking accesses of a website by a mobile communication unit (MCU) in a network comprising a plurality of mobile communication units (MCUs), a mobile service provider (MSP) and a
mobile content server (MCS) having a system memory, the MCUs making website access requests to an MCS via an MSP and a web page associated with the website access request are sent back from the MCS to the MCU via the MSP, characterised in that the system further comprises a monitoring server and in which website access requests are redirected to the monitoring server;
the monitoring server having means to check the website access request for the presence of a unique session identifier, and in the absence of a unique session identifier means to generate a unique session identifier for the website access request;
the monitoring server having retrieval means to retrieve a web page associated with a website access request and monitoring memory for storage of the web page and the unique session identifier;
a transmitter for transmitting the requested web page to the MCU; and
means for subsequently retrieving the unique session identifier from the monitoring memory for further analysis.
By having such a system, it would be possible to track the website access requests made by each mobile communication unit accessing the website of a mobile content server. By redirecting the access requests through the monitoring server and ensuring that each request has a unique session identifier, the monitoring server may keep track of each request made by the MCU. Requests that already have a unique session identifier may be related to other requests bearing the same unique identifier and stored as sessions for the generation of reports on the use of the website by that particular user. The monitoring server may then track the use of the website by a number of users and generate reports based on that data for onward transmission to the mobile content server. This is seen as a particularly efficient system for the tracking of mobile access requests made by MCUs.
In another embodiment of the invention, the monitoring server is further provided with means to search a retrieved web page for the presence of a URL link in the page and means to replace the URL link with a modified URL link containing a redirect address and the unique session identifier. This is seen as a particularly 5 efficient system for the implementation of the invention. The system will allow the URL to be replaced by a modified URL which will allow simple and easy tracking of the session made by a mobile communication unit.
In another embodiment of the invention, the monitoring server is further provided 10. with a request handler for managing a website access request received by the monitoring server. A request handler is seen as particularly beneficial as it may manage the mobile access request as it comes into the monitoring server.
In another embodiment of the invention, the means to generate a unique session 15 identifier comprises a session manager. This is seen as particularly efficient as by having a dedicated session manager, a close control may be kept over the session identifiers whilst also providing a system that may be upgraded simply.
In another embodiment of the invention, the retrieval means to retrieve a web page 20 is provided by a proxy server. Again, by separating out a proxy server from the remainder of the system, it will be possible to upgrade the proxy server in due course if traffic should alter and the requirements on the proxy server change.
In another embodiment of the invention, the proxy retrieves a web page from the 25 mobile content server. By retrieving a web page from the mobile content server, the proxy provides a safe, efficient and fast way of downloading a page directly from the mobile content server.
In another embodiment of the invention, before retrieving the web page from the 30 mobile content server the proxy server searches through memory to see if the requested web page is already stored therein, and in the case of the web page being already stored in memory the web page is retrieved from memory. By searching through the monitoring memory, the proxy will ensure that if the pages
have already been downloaded from the MCS, that page can be used rather than requiring a time consuming download of the page from the MCS again. This is particularly beneficial for the system as it saves significant processing time for both the MCS and the monitoring server.
In another embodiment of the invention, the monitoring memory further comprises a cache memory for storage of web page data. A cache memory is seen as particularly suitable for the storage of web page data. This can be performed in a known manner of storage of website pages.
In another embodiment of the invention, the monitoring memory further comprises a session database for storage of the unique session identifiers. Again, by having a dedicated session database, the storage of the session identifiers may be secure as well as being easily upgraded in due course, should it be required to do so.
In another embodiment of the invention, there is provided a logger for logging data relating to a website access request. The logger is useful to temporarily store the data relating to all the website access requests. This conveniently holds all the data until it is decided to process the data in due course.
In another embodiment of the invention, the data relating to a website access request logged by the logger comprises the unique session identifier and web page data relating to the website access request. By having the unique session identifier and the web page data relating to the website access request, it will be possible to tag this website page data with other website page data by matching unique session identifiers. Then, the system will be able to monitor individual sessions.
In another embodiment of the invention, data containing the same unique session identifier as other logged data is stored together as session data. By storing data together have the same unique session identifier as other logged data, it is possible to carry out a preliminary filter of the data before analysis of the data has to take place. This system further speeds up the processing time It takes to generate reports.
In another embodiment of the invention, the logger stores data relating to the MSP. By having data relating to the MSP, various protocols and the like may be followed according to the MSP's requirements.
In another embodiment of the invention, there is provided a log processor for gathering data stored in the monitoring server and generating a website access report based on that data. By having the log processor, reports may be generated by the monitoring server that may be then transmitted onto the mobile contents server for data analysis by their managers to plan website development and to enhance their sites further. The data used by the log processor to generate the reports may of course include the data stored by the logger.
In another embodiment of the invention, the log processor generates website access reports on individual user information. It may be beneficial to allow the system to generate reports on individual user information so that the system may show how a typical user of the site navigates it's way through the site and whether or not certain pages are visited more often than others by individual users. This will enable the website content server managers to tailor that site for individual's needs.
In another embodiment of the invention, the log processor has means to provide statistical analysis of website access request. By having statistical analysis, a full and thorough report may be generated by the system which will allow greater analysis to be carried out by the mobile content server managers.
In another embodiment of the invention, the monitoring server has means to transmit the website access reports to the mobile content server. In this way, the system may then send the generated reports to the mobile content server at predetermined intervals if it so requires. These, of course, may be hourly, weekly or even monthly. This may be specified by the mobile content server which is to actually receive the reports.
In another embodiment of the invention, the unique session identifier comprises two parts, a user ID and a specific session ID. This seems particularly beneficial to the system as it will enable the system to track unique visitors to a site, as well as visitors who have previously visited the site. A full analysis of the revisiting visitor may be undertaken as it can determine how many times they visited the sites, how many pages they visit each time they visit the site. All of this information will be of great benefit for the generation of reports and the further updating and maintenance of the site by the MCS.
In another embodiment of the invention the unique session identifier comprises a session specific ID and a user ID, the session specific ID further comprising a timestamp, a site code and a server code. By having a timestamp component this part of the session specific ID will be simple to generate and maintain. The site code will enable the monitoring server to further distinguish the unique session identifier and will facilitate extraction of the unique session identifier from the URL. The server code will facilitate in the co-ordination of unique session identifiers in a multi-monitoring server system.
In another embodiment of the invention, monitoring server ascertains whether the session is current by checking the session specific ID. By knowing the session specific ID, the system can ascertain whether or not the session is current and therefore a full analysis of the actual session, as well as the number of sessions by a particular user, may be ascertained. This will also be particularly beneficial when generating reports.
In another embodiment of the invention, on ascertaining that the session is not current, a new specific session ID is allocated to that unique session identifier to replace the old specific session identifier. By having a system that can perform this function and generating a new specific session ID and unique session identifier, the number of times that a particular user accesses a website and the individual sessions they have, may be tracked in a more complete and efficient manner.
In another embodiment of the invention, the mobile content server (MCS) further comprises a redirect table containing a plurality of redirect addresses each associated with a website access request, and on reception of a website access request the MCS looks up the redirect table and redirects the website access request according to the redirect address. A redirect table is a simple and efficient way of ensuring that the mobile access requests are redirected to the appropriate monitoring server. Furthermore, the table is simple to maintain and requires a minimum of maintenance by the mobile content servers.
In another embodiment of the invention, the monitoring server is embodied in a software program. It must be understood that the design of the monitoring server, cache memory and request handler as well as the session manager, may be implemented in software operating on hardware memory. This design may be stored on a computer readable medium such as a magnetic disk, CD ROM, DVD or other such recordable medium. Indeed, the design of the system may be stored on a carrier signal such as an optical carrier or a radio carrier wave. Indeed, when this is travelling along a cable, the cable is seen as the actual carrier.
In one embodiment of the invention there is provided a method of tracking accesses of a website by a Mobile Communications Unit (MCUs) in a system comprising a plurality of MCUs, a Mobile Service Provider (MSP) and a Mobile Content Server (MCS) having a system memory, wherein website access requests are made by an MCU to the MCS via the MSP, and web pages corresponding to the website access requests are sent back from the MCS to the MCU via the MSP, characterised in that the method comprises the steps of:-
(a) redirecting a website access request to a monitoring server;
(b) the monitoring server checking the website access request for the presence of a unique session identifier, and in the absence of a unique session identifier in the website access request the monitoring server generating a unique session identifier for the website access request;
(c) the monitoring server retrieving a web page associated with the website access request;
(d) storing both the unique session identifier and the web page in a monitoring memory;
(e) transmitting the requested web page to the MCU; and
(f) subsequently retrieving the unique session identifier from the monitoring memory for further analysis.
By using this method, it is possible to track the website access requests made by each mobile communication unit accessing the website of a mobile content server. By redirecting the access requests through the monitoring server and ensuring that each request has a unique session identifier, the monitoring server may keep track of each request made by the MCU. Requests that already have a unique session identifier may be related to other requests bearing the same unique identifier for the generation of reports on the use of the website by that particular user. The monitoring server may then track the use of the website by a number of users and generate reports based on that data for onward transmission to the mobile content server. This is seen as a particularly efficient way of tracking the mobile access requests made by MCUs.
In one embodiment of the invention, prior to transmitting the requested web page to the MCU, the web page is searched for the presence of any URL links in the page and each URL link in the page is replaced by a modified URL link containing a redirect address and the unique session identifier. This is seen as a particularly efficient way of implementing the invention. Each subsequent request made from the unit by selecting a link on the sent page will be sent directly to the monitoring server via the MSP instead of the Mobile Content Server. This further speeds up the method of handling the request. Furthermore, by placing the Unique Session identifier in the URL link, each request can be easily tagged with another request
having the same unique session identifier and searching through a page is not necessary. This is a particularly simple and efficient way of tracking the mobile communication unit's accesses.
In another embodiment of the invention, the monitoring server retrieves the web page associated with the website access request from the mobile content server. By allowing the monitoring server download the page directly from the MCS, the MCS may obtain the page without further unnecessary transfers of data between the MCS and the monitoring server via the MSP. Furthermore, the monitoring server can control all adaptations to the web page content at its end if so desired.
In a further embodiment, before retrieving the web page from the mobile content server, the monitoring server searches through the monitoring memory to see if the web page is already stored in the monitoring memory and if so the monitoring server retrieves the web page from the monitoring memory. By checking through the monitoring memory, the monitoring server may have the page already in monitoring memory. This will obviate the need for time consuming download of web pages from the MCS, thereby speeding up the process further and freeing up some of the processing time of the MCS.
In one embodiment of the invention, the monitoring server sends the request to a session manager, and the method further comprises the session manager generating and policing unique session identifiers. By allocating a session manager with the task of generating and policing unique session identifiers, the processing requirements of the monitoring server may be divided up allowing for a further simplified method.
In still another embodiment of the invention, the monitoring server sends the request to a proxy, the proxy controlling the retrieval and storage of web pages. Again, by sending the request to a proxy, the proxy will control the retrieval and storage of the web pages for the monitoring server, thereby further speeding up the method and allowing for simple implementation of the method. This further spreads
- li ¬
the processing requirements that must be carried out by each of the components in the method.
In one embodiment of the invention, the monitoring server passes the website access request to a request handier, the request handler overseeing the method of answering the website access request. By using a request handler, responsibility of overseeing the entire method steps carried out in the monitoring server may be given to the request handler. This can then ensure that the session manager and proxy are called at the appropriate times for smooth execution of the method.
In a further embodiment of the invention, there is provided a method in which when generating the unique session identifier, the unique session identifier is generated in two parts, a session specific ID part and a user ID part. By providing a two-part session ID, better tracking of the website access request may be achieved. It will be faster to group accesses of a particular individual user ID if necessary. The session specific ID can be used for each individual session to track the uses and accesses by that user in a particular session. This may be used to compare data against previous access sessions by that user and to generate a usage pattern of that user. By having a session specific identifier, the session specific ID of the unique session identifier may be checked to see whether this is a current session. This check may be carried out when the website access request is being checked for the presence of a unique identifier. By checking whether the session is current, the monitoring server can ascertain whether the same user is accessing a number of sites in sequence or whether he is visiting the pages as part of another session at a later time. It will also allow the monitoring server to see whether or not an individual has visited the site previously and to compare their previous sessions with current sessions and generate reports thereon. This is seen as a particularly useful aspect of the invention.
In another embodiment of the invention the specific session ID is generated comprising three components, a timestamp, a site code and a server code. This will further facilitate in the extraction of the unique session identifier from a URL
and will assist in the provision of simple reliable identifiers in a system having multiple monitoring servers.
In a further embodiment of the invention, if the session specific ID of the unique session identifier does not relate to a current session a new session specific ID is allocated to that unique session identifier forming a new unique session identifier for that website access request. This will allow the monitoring server to identify previous session identifiers and update these identifiers so that identification and monitoring of a new session may begin. In this way, multiple sessions by a single user may be recorded by the method.
In one embodiment of the invention, the session manager determines the time elapsed since the session specific ID was created and the elapsed time is used to determine whether the session is current. This is seen as particularly efficient and simple to implement. There may be a session elapsed time threshold of one hour, after which it is determined that a new session begins. This will assist in monitoring of the sessions.
In another embodiment of the invention, the session manager generates a time stamp for use as the session specific identifier. By using a time stamp, it will be simple to carry out the calculation of how much time has elapsed since the session identifier was last used and therefore whether or not the session is current. It will also be a useful identifier as it is simple to generate and can be as precise as required by the system.
In a further embodiment of the invention, the initial step of the redirection of a website access request to the monitoring server further comprises the steps of:
(a) the MCS receiving a website access request from a MCU via the MSP;
(b) the MCS looking up a re-direct settings table having redirect addresses associated with website access requests stored therein; and
(c) the MCS retrieving the appropriate redirect address from the redirect setting table and re-routing the request to the monitoring server according to the redirect address.
According to this method, the MCS will be able to receive a request in the normal manner and use a redirect table to find the appropriate address of the monitoring server to send the request on to. Therefore, an initial request made by an MCU will go to the MCS in the normal manner before the MCS redirects the request to the monitoring server.
In one embodiment of the invention, data relating to a website access request is sent to a logger to log the data. By logging the data in a logger, an efficient track of all the website access requests may be stored in the one place for subsequent retrieval and manipulation.
In one embodiment of the invention, the data logged comprises the unique session identifier and web page data relating to the website access request. This will enable the logger to have data relating to the unique session ID and the website access request on hand for further analysis. These will facilitate report generation when so required.
In another embodiment of the invention, data containing the same unique session identifier as other logged data is stored together as session data. By using this method, all session data will be conveniently bundled for report generation when necessary and valuable time will not have to be spent in going through all the data to group the data once all the collection of data has been completed.
In one embodiment of the invention, data relating to the MSP is stored by the logger. This will enable the logger to have data pertaining to the MSP such as
protocols and the like that must be used when sending data and how data must be processed into reports before transmission to the MCS managers.
In another embodiment of the invention, the monitoring server generates website access reports based on data stored in the monitoring server. Having retrieved all the data, the monitoring server uses that data for generation of reports on the session data created by the mobile communications units. This will allow the mobile content server managers to plan their resources carefully and efficiently. By data stored in the monitoring server this can also be data stored in the logger.
In a further embodiment of the invention, the website access reports comprise individual user information. By having individual user information, the reports can show individual trends in the accessing of websites and whether a particular type of user accesses various pages and the frequency of the individual user's visits.
In a further embodiment of the invention, the monitoring server performs statistical analysis on the website access request for inclusion into the website access reports. Statistical analysis is particularly useful for use by the MCS to plan their websites and to ascertain the type of pages that are attracting the most visitors and at what time they are visiting. It can allow them make policy decisions such as what processing resources must be made available at certain times. This may also be of some benefit to mobile service providers.
In another embodiment of the invention, the website access reports are transmitted by the monitoring server to the mobile content server. This reports may then be analysed by the monitoring server at appropriate times for the planning and strategy of the site. These reports may be generated and sent at times and intervals appropriate to the traffic on the websites, for instance, hourly, daily or weekly, if required.
In one embodiment there is provided a method for a Mobile Content Server to control the output of data in a system for tracking accesses of websites by mobile
communication units, the system comprising a plurality of MCUs, an MCS and a monitoring server, the method comprising the steps of:
(a) receiving a website access request from an MCU;
(b) accessing a redirect settings table and obtaining a redirect address for that website access request;
(c ) redirecting the website access request according to the redirect address; and
(d) sending the web page associated with that website access request to the redirect address for further processing on request.
In another embodiment there is provided a method for tracking accesses of websites in a system having at least one Mobile Communication Unit and a Monitoring Server, the method comprising:
(a) receiving a redirected website access request from an MCU at the monitoring server;
(b) checking the website access request for the presence of a unique session identifier and in the absence of a unique session identifier generating a unique session identifier for that website access request;
(c ) retrieving a web page associated with the webiste access request;
(d) sending the web page to the MCU; and
(e) storing the unique session identifier for further analysis.
In a further still embodiment there is provided a method in which the method includes the step of rewriting any URL links in the retrieved web page to include a redirect address and the unique session identifier.
In a further still embodiment of the invention there is provided a method of tracking accesses of a website by a mobile communications unit in a system comprising a plurality of MCUs and a monitoring server, the method comprising:
(a) receiving a website access request from an MCU;
(b) checking the website access request for the presence of a unique session identifier and in the absence of a unique session identifier, generating a unique session identifier for the website access request;
(c ) retrieving the web page associated with the website access request;
(d) rewriting any URL links contained within the web page to include redirect address and the unique session identifier;
(e) sending the retrieved web page with rewritten URL Links to the MCU; and
(f) storing the unique session identifier along with data relating to the website access request for further analysis.
In one embodiment there is provided a method of tracking accesses of a website comprising:
(a) receiving a redirected website access request in a monitoring server;
(b) checking the website access request for the presence of a unique session identifier and in the absence of a unique session identifier,
generating a unique session identifier for the website access request;
(c) retrieving a web page associated with the website access request;
(d) storing the unique session identifier for further analysis;
(e) sending the web page associated with the website access request to the requesting entity.
In another embodiment there is provided a method in which before sending the web page associated with the website access request to the requesting entity, any URL links in the page are rewritten to include a redirect address and the unique session identifier.
Detailed Description of the Invention
The invention will now be more clearly understood from the following description of some embodiments thereof, given by way of example only, with reference to the accompanying drawings, in which:-
Fig. 1 is a block diagram of the system according to the invention;
Fig. 2 is a more detailed block diagram of the system according to the invention, showing the individual component parts of the monitoring server in more detail;
Fig. 3 is a block diagram of the system showing the transfer of data according to the method;
Fig. 4 is a representation of a unique session identifier according to the invention; and
Fig. 5 is a flowchart outlining the method of tracking accesses to websites according to the invention.
Referring now to the drawings, and initially to Figs. 1 to 3 thereof, there is shown a system for the tracking of accesses of a website by a mobile communications unit, the system indicated generally by the reference numeral 1. The system comprises a plurality of mobile communications units (MCUs) 2, a mobile service provider (MSP) 3 and a mobile content server (MCS) 4, the MCUs 2 transmitting website access requests to the MCS 4 via the MSP 3. A monitoring server 5 is additionally provided and website access requests are redirected to the monitoring server 5 via the MSP 3.
Referring now specifically to Fig. 2, the monitoring server further comprises a web server 6 , in this case an Apache web server and request handler 7. The request handler 7 controls the handling of each request received by the monitoring server. A session manager 8 having access to memory 9 generates and polices unique session identifiers for website access requests redirected to the monitoring server 5. A proxy 10 retrieves web pages associated with a website access request from the mobile content server 4 when called upon to do so by the request handler 7. The proxy 10 stores the retrieved web pages in cache memory 11 for simple web page retrieval, should the page be requested again in another website access request. Before the proxy 10 retrieves a web page from the mobile content server 4, it will first call on the cache manager 12 to check if the requested page is already stored in cache memory 11 and if so, it will obtain the page from cache memory 11.
A URL rewriter 13 is provided to search through the retrieved web pages for URL links. On finding a link, the URL rewriter rewrites the link with a redirect URL that contains a redirect address and a marker is placed in the position where the unique session identifier, associated with the web access request, is to be positioned. The web page is then returned to the request handler 7 which inserts the unique session identifier in the redirect address. The web page is then ready to be sent to the MCU that generated the request.
Finally, a logger 14 is provided for logging data relating to web access requests and the user actions on a website, including unique session identifiers and data relating to the web pages visited. A log processor 15, at predetermined intervals will review the data stored in memory 9 and cache memory 11 according to the data logged in logger 14 and generate mobile website access reports including statistical analysis of the web access requests. These reports are then sent to the mobile content server 4, as desired, for review by a mobile content server manager (not shown).
Referring now to Fig. 3 of the drawings, the transfer and manipulation of the data may be more clearly shown. A mobile communication unit 2 makes a website access request to an MCS 4 via the MSP 3 to see a web page for the first time. In this case, the web page requested is:-
www.example.eom/i
The website access request is received by the mobile content server 4 having a system memory 20 having a plurality of web pages stored thereon. The MCS 4 identifies the request as a website access request from a mobile communications unit 2 and accesses a redirect setting table 21 stored in system memory 20. The redirect setting table 21 has a redirect address for each web page stored on the system memory 20. The website access request is then redirected via the MSP 3 to the address corresponding to the web page requested in the redirect setting table 21, in this case:-
blue.example.com
This is the address of the monitoring server 5. On receiving the website access request, the monitoring server allocates a unique session identifier to that website access request and retrieves the web page relating to the request from the MCS 4. The web page is checked in the monitoring server 5 for the presence of any URL links or anchors in the page. These URL links and anchors are modified in the
monitoring server 5 by giving them redirect addresses and unique session identifiers. In the example shown, the URL link, 22:-
<A HREF http: //www.example.com/i/page1.html">
is converted to the modified URL link 23:-
<A HREF = http://blue.example.eom/a? SN=123456.01234567 & PG=http:///www.example.com/i/page1.html>.
This modified URL contains the redirect address 24, http://blue.example.com so that if this link is used by the MCU 2 user, it will be redirected straight to the monitoring server 5. In addition to the redirect address, the original URL link address, 25, & PG=http://www.example.com/i/page1.html is also included so that the monitoring server knows the address of the requested page so that it may obtain it from the MCS 4 or from its own cache memory if it happens to be stored there already. Finally, the modified URL is given a unique session identifier, 26, a?SN=123456.01234567 so that this request may be connected with other requests having the same unique session identifier for subsequent report generation. The session identifier preferably contains only alphanumeric characters. The converted page with modified URLs is then sent to the MCU 2 via the MSP 3. Further, website access requests made by the MCU by using a modified URL link will redirect the request directly to the monitoring server.
Fig. 4 of the drawings shows a more detailed view of one type of unique session identifier. The unique session identifier 26 further comprises a user ID 27 and a session specific ID 28, the session specific ID further comprising a site code 28a, a server code 28b and a timestamp 28c. Site code 28a is a two-letter alphanumeric code which helps to distinguish unique session identifiers generated by this instance of the system from those generated by other instances and to facilitate the extraction of unique session identifiers from modified URLs by the monitoring
server. In this case instance means this site, as opposed to other sites which theoretically may be within the same system of sites.
The server code 28b is a single alphanumeric code of 6 bits, which indicates which server at the site generated the session ID. In a distributed set up this is used to co-ordinate between multiple monitoring servers allowing the multiple monitoring, servers to each independently generate unique session identifiers without having to refer to a single synchronised sequence. Website access requests are redirected to the original monitoring server that generated the unique session identifier to keep all website access requests of a particular session controlled in the one server.
Referring now to Fig. 5 of the drawings, there is shown a flowchart of the method of the invention. In step 40, a MCU 2 makes a website access request to view a particular web page. If, at step 41 , the MCU does not already have a redirect address, for instance if it is the first time that the particular website is to be visited by the MCU, the request is sent onwards to the MCS via the MSP in step 42. Then, in step 43, the MCS accesses the redirect settings table and finds the appropriate redirect address from the table and in step 44, the mobile access request is redirected to the monitoring server 5. If, however, at step 41 , the MCU request has a redirect address, the method proceeds directly to step 44 and the request is redirected to the monitoring server.
The monitoring server 5 then invokes the request handler 7, in step 45, which takes over the control of the method in the monitoring server. The request handler 7 checks the incoming request for the presence of a current unique session identifier, in step 46, and if there is no unique session identifier present or the unique session identifier is not from a current session, the request handler 7 invokes the session manager 8, in step 47. A request would not have a unique session identifier if this was the first time the MCU had requested access to the site. The request may have a unique session identifier that is not part of a current session if the user of the MCU bookmarked the URL link from a previous visit and is revisiting the site at a later time or date. A current session has a timeout of five minutes after which it is
no longer current. The request handler may check that a unique identifier is current by checking the session specific identifier part of the unique session identifier which may be a time stamp and determining whether a certain time has elapsed since the specific session identifier was originally created. When the session manager is invoked, in step 47, it creates a unique session identifier for the request if the request has not previously had a unique session identifier. If the request has had a unique session identifier previously, then the session manager creates a new specific session identifier part of the unique session identifier whilst keeping the user ID part to create a new unique session identifier. In this way, tracking of repeat users may be achieved. Once the session manager has been invoked and the unique session identifier created, the unique session ID is stored in step 48.
If, at step 46, the unique session identifier is found to be current or the new unique session identifier has been stored in step 48, the method proceeds to step 49 in which the mobile access request is sent to the proxy. In step 50, the proxy checks the cache memory to see if the web page associated with the mobile access request is stored in cache memory and if the page is not already in cache memory, the proxy retrieves the page from the MCS in step 51. The retrieved page has, in step 52, its URL links rewritten and, if appropriate, its anchors rewritten to insert a redirect address, as already described above. A marker is also placed in the modified URL or anchor to indicate the position where a unique session identifier is to be placed. Once the retrieved pages URL links and the anchors have been rewritten, the page is then stored in cache memory in step 53. In step 54, the modified page is sent to the request handler. Similarly, if the page was already present in cache memory in step 50, it is sent directly to the request handler in step 54, without having to retrieve the page from the MCS.
Once the request handler has retrieved a page, the URL links and anchors, if appropriate, contained within the page, are updated in step 55 by inserting the unique session identifier associated with that request in the URL links and anchors where indicated by the markers located in the URL links and anchors.
In step 56, the logger logs request data relating to the website access request, in this case, data relating to the unique session identifier and data relating to the web page requested. In step 57, the modified web page is sent to the MCU 2, from which the request generated, via the MSP 3. At selected time intervals, the step 58 is performed of generating a mobile access report. The frequency of report generation is largely dictated by the amount of traffic for the website. This may be hourly or daily, if necessary. In the case of the report, including statistical analysis, the report may be recalculated each time a website access request is satisfied. In the present example, it has been found to be sufficient to generate reports at five minute intervals. It need not necessarily be five minutes, it could be dynamically changed to any desired time interval depending on the clients requirements. Finally, in step 59, the website report is sent to the MCS where a manager or website developer may analyse the data obtained.
There are several different types of reports that may be sent to the MCS from the monitoring server. These can be tailored to suit the individual MCS managers needs. Examples of different types of reports can be seen in Tables 1 to 3 below. Table 1 is a site summary report of a particular website. There are columns for daily, weekly and monthly analysis so traffic patterns may be deduced and the data may be used for future planning on a per day, per week or per month basis. The report shows the total page views of the site, how many new and return visitors accessed the site as well as how many mobile accesses were made by a particular type of mobile phone. The table could also have the top five phone types that accessed a particular site and from what MSP the most accesses came from.
Table 1
Table 2 above reports the number of new visitors, return visitors and total visitors on each day of a particular month. Alternatively the table could contain the number of visitors for a particular hour in a day or other such time period. The new visitors are the first time visitors to the site. If they return the same day they are not counted as new visitors again. Return visitors may be counted only once in any one given day even if they revisit the site several times. It may of course be necessary to count them each time they return, which may be specified by the MCS manager. In this way the number of unique users whether they are a new visitor or a return visitor may be counted only once in any time frame. Table 3 below shows the number of sessions lasting a given time period. Other data such as the number of sessions in a particular time period, the average duration of a session, the longest session, the number of sessions lasting a predetermined duration, pages not visited, pages most often visited and the like can be shown in the reports. The reports can also show which pages most often act as entry points by MCU users and the pages most often used as exit points.
Table 3
What must be understood is that the type of reports generated by the monitoring server to be sent to the MCS are limitless in scope and may change from customer to customer based on their individual requirements.
It is envisaged that it need not necessarily be the URL links or anchors of a page that are modified in order to facilitate the tracking of accesses to websites by mobile communication units but this has been found to be particularly efficient way of carrying out the invention. Alternatively, there could have been provided an additional identifier with each request that identifies the user sending the request. The provision of a monitoring server takes this responsibility away from the mobile content server.
It is envisaged that one monitoring server could be used to manager a number of different mobile content servers serviced by a number of different mobile service providers. At present, the method is carrier out for the l-mode network but could easily be adapted for J-Sky (registered Trademark) or EZ Web (registered Trademark), or any other such MSP by simply adapting the data transfer protocols. The system architecture allows for a modular architecture that may be easily expanded as additional processing requirements are put on the system. Furthermore, the nature of the system allows for location of the monitoring server either on site or remote from the both the MSP and MCS.
The monitoring server may be used to track sessions on a number of different websites if required and is not limited to monitoring a single webite. It may be used also to track several websites contained on a single MCS. The data to be sent to the monitoring server could be split up into distinct components such as image content and textual content. In this way the image content may be sent directly to the MCU from the MCS instead of the monitoring server being sent the image content and having to process the image content in the proxy. This can help to further speed up the process. It has been found to date though that it is not necessary to divide up the page content and both image content and textual content are passed through the proxy.
Due to the modular nature of the system the proxy server is preferably in the same location as the Mobile Content Server of the client. This will facilitate data transfer and content up dates that may be required. Furthermore, should the Mobile Content Sever wish to block access to the site by users it may do so at the one location. The entire system could run from a Mobile Content Server site if they wished to carry out their own monitoring without having reports generated and sent to them by a third party. In this way the monitoring server may in fact be part of the Mobile Content Server.
In the system described, the MCS can still control management of their website content themselves without requiring additional expertise in the management of the tracking system as described. The MCS can obtain a variety of different information such as the number of first time visitors, the number of return visitors and the number of times they visited, the duration of the average session, the duration of individual user sessions, the pages most visited, whether a page is constantly bypassed, as well as a wealth of other information. There is furthermore no need for the MCS to change their public URL and there is no need for additional script or tags to be placed in the page content.
Another way of causing unique identifiers to be used would be to write special scripts into the original web page. However, this is not particularly preferred as it places a burden on the MCS manager to write each of the special scripts themselves into the web page.
Additionally, the URL rewriter may be responsible for obtaining unique session identifiers from the session manager and writing those unique session identifiers into the modified URLs to be sent to the MCU. The URL rewriter may be implemented in Perl (Registered Trade Mark) run under mod-perl as part of the Apache web server process. The URL rewriter may be integrated with the proxy to improve efficiency.
The system performance is dependant on the hardware provided, on a server-class x 86 machine, the system should be able to handle in the region of one Million hits a day. Additional monitoring servers may be provided to spread the processing requirements further should this be necessary. The system can run on a UNIX based system and PostgreSQL (Registered TradeMark) may be used to store data. In the embodiment described an Apache web server was used, however commercial UNIZ or MS servers could also be used.
What must also be understood is that the monitoring server may be implemented largely in software. Therefore, the invention also extends to computer programs, particularly the computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code or code intermediate, source and object code. The program may be stored on a carrier such as any known computer readable medium such as a floppy disk, ROM, CD ROM or DVD. The carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or other means. When the program is embodied on a signal which may be conveyed directly by a cable or other device, the carrier may be constituted by such a cable or other device means.
In the specification the terms "comprise, comprises, comprised and comprising" or any variation thereof and the terms "include, includes, included and including" or any variation thereof are considered to be totally interchangeable and they should all be afforded the widest possible interpretation.
The invention is not limited to the embodiments hereinbefore described but may be varied in detail within the scope of the claim.