The present invention relates to the field of computer network applications and in particular to an apparatus and a method for providing page navigation in a multirole-enabled network application, e.g., Software as a Service (SaaS) application.
User experience of a website is of great importance to Independent Software Vendors (ISVs) who have been seeking a method to improve user experience. Efficient page navigation is one of important factors in improving user experience and enhancing user satisfaction.
In a traditional network application, a software provider typically investigates the demand of a specific customer to know a service flow of the customer and therefore can design well a page flow based upon predefined knowledge to accommodate user experience.
In contrast to this, SaaS is a pattern in which software is provided over the Internet so that a customer will not purchase any software but instead lease Web-based software from the ISV. Since a software service provided through SaaS is not oriented to any specific customer, and usage patterns of different customers leasing the software (also referred to “tenant” in the context of SaaS) tend to vary, user access behaviors of the different tenants also will differ from one another. Thus, a unified predefined page flow will burden some users.
For example,
As can be apparent, how to recognize an access behavior pattern of a user and to provide hereby a more smooth page flow becomes a crucial issue for the ISV.
In the prior art, a technical solution has been proposed for mining an access behavior pattern of a user to recognize the access pattern of the user. However, pattern mining in the existing technical solution is performed separately for respective users, and it may take a long period of time to accumulate access data of the respective users in order to acquire their access patterns; and for a new user, his or her access pattern is unavailable, and consequently no personalized page navigation can be provided. Moreover, a large number of resources are required to calculate and store the access patterns of the respective users.
Therefore, there is a need in the art to address the aforementioned problem.
Summary of the invention will be given below to provide basic understanding of some aspects of the invention. However, it shall be appreciated that this summary is neither exhaustively descriptive of the invention nor intended to define essential or important parts or the scope of the invention, but is merely for the purpose of presenting some concepts in a simplified form and hereby acts as a preamble of detailed description which will be discussed later.
In view of the above circumstances in the prior art, preferred embodiments of the present invention provide an apparatus, method and computer program for providing page navigation in a multirole-enabled network application. e.g., a SaaS application, etc., which can address one or more of the technical problems in the prior art.
To this end, viewed from a first aspect, the present invention provides an apparatus for providing page navigation in a multirole-enabled network application, which comprises: a virtual role creator adapted to create a virtual role for each user in the multirole-enabled network application based upon an atomic role set configured for the user; an access pattern generator adapted to generate a virtual-role-based access pattern by recording page access requests of the user and by performing pattern mining for the recorded page access requests according to the virtual role of the user; and a page navigation provider adapted to provide page navigation by utilizing the access pattern corresponding to the virtual role of the user when the user accesses the multirole-enabled network application.
Viewed from a second aspect, the present invention provides a method for providing page navigation in a multirole-enabled network application, which comprises: a virtual role creating step of creating a virtual role for each user in the multirole-enabled network application based upon an atomic role set configured for the user; an access pattern generating step of generating a virtual-role-based access pattern by recording page access requests of the user and by performing pattern mining for the recorded page access requests according to the virtual role of the user; and a page navigation providing step of providing page navigation by utilizing the access pattern corresponding to the virtual role of the user when the user accesses the multirole-enabled network application.
Viewed from a third aspect, the present invention provides a computer program stored on a computer readable medium and loadable into the internal memory of a digital computer, comprising software code portions, when said program is run on a computer, for performing the steps of the invention.
Moreover, an embodiment of the invention further provides a computer program product for performing the foregoing method for providing page navigation in a multirole-enabled network application.
Moreover, an embodiment of the invention further provides a computer readable medium on which there are recorded computer program codes for performing the foregoing method for providing page navigation in a multirole-enabled network application.
Advantageously, in the technical solution of the invention as compared with the existing user-based technical solution, since pattern mining is performed for access data of one or more users according to the virtual role and the virtual role typically corresponds to a group of users, the access data of the users can be accumulated rapidly for pattern mining, and since the number of virtual roles is much smaller than the number of users, resources required for calculation and storage of access patterns can be conserved. Moreover, when the role of a user is changed, accurate personalized page navigation can be provided for the user by utilizing an access pattern, if any, corresponding to the new role of the user. Also, for a new user, accurate personalized page navigation can be provided for the user by utilizing an access pattern, if any, corresponding to the role of the new user.
The present invention will now be described, by way of example only, with reference to preferred embodiments, as illustrated in the following figures:
Exemplary preferred embodiments of the present invention will be described in conjunction with the accompanying drawings hereinafter. For the sake of clarity and conciseness, not all the features of actual implementations are described in the specification. However, it is to be appreciated that, during developing any of such actual implementations, numerous implementation-specific decisions must be made to achieve the developer's specific goals.
Here, it shall further be noted that only device structures and/or processing steps closely relevant to solutions of the invention will be illustrated in the drawings while omitting other details less relevant to the invention so as not to obscure the invention due to those unnecessary details.
The virtual role creator 220 may create a virtual role for each user in the multirole-enabled network application 210 based upon a predefined atomic role set configured for the user. The structure of the virtual role creator 220 according to a particular preferred embodiment of the present Invention will be described below in further details with reference to
In the case that the multirole-enabled network application 210 is a SaaS application, a user belongs to a tenant of the SaaS application, and an atomic role set of the user is configured for the user with respect to the tenant of the SaaS application. Due to the similarity of user access behaviors of respective tenants in the same tenant group, the virtual role creator 220 may preferably further create the virtual role based upon the tenant group to which the tenant belongs, Thus, when anew tenant is on boarding (that is being created), a user of the tenant can be provided with accurate personalized page navigation by utilizing an access pattern, if any, of a tenant group to which the tenant belongs.
The access pattern generator 230 may generate a virtual-role-based access pattern by recording page access requests of the user and by performing pattern mining for the recorded page access requests according to the virtual role of the user. Here, the access pattern may comprise a page path pattern and/or a page jump context parameter. The structure of the access pattern generator 230 according to a particular preferred embodiment of the present invention will be described below in further details with reference to
The page navigator 240 may provide page navigation by utilizing the access pattern corresponding to the virtual role of the user when the user accesses the multirole-enabled network application 210. The structure of the page navigator 240 according to a particular preferred embodiment of the present invention will be described below in further details with reference to
Optionally, the page navigation providing apparatus 200 may further comprise the pattern context configurator 250 Which may assist an administrator in configuring the page jump context parameter in the access pattern. Here, the page jump context parameter may be generated automatically by the access pattern generator 230 during pattern mining and modified by the administrator through the pattern context configurator 250 or may be totally configured manually by the pattern context configurator 250.
Optionally, the page navigation providing apparatus 200 may further comprise the metadata repository 260 which may store atomic role configuration information of users, virtual roles created by the virtual role creator 220, page access requests recorded and access patterns generated by the access pattern generator 230, etc.
Particular embodiments of the respective components of the webpage navigation providing apparatus 200 will be described below in details taking a SaaS application as an example. However, those skilled in the art shall appreciate that the invention will not be limited to SaaS application but may be applicable to any multirole-enabled network application.
For example, when a tenant of the SaaS application is on boarding, the tenant group identifying unit 410 may identify a tenant group to which the current tenant belongs, for example, according to tenant configuration information stored in the metadata repository 260. Specifically, the tenant configuration information may be stored in the metadata repository 260 in the form of a table including fields of “Tenant ID”, “Tenant group ID”, etc., for example, and the tenant group identifying unit 410 may retrieve information in the relevant field of “Tenant group ID” from the table according to the identification (ID) of the current tenant so as to identify the tenant group to which the current tenant belongs.
The atomic role set identifying unit 420 may identify a predefined atomic role set configured for each user of the tenant, for example, according to user configuration information stored in the metadata repository 260. Specifically, the user configuration information may be stored, in the metadata repository 260 in the form of a table including fields of “User ID”, “Configuration Information of Atomic Role Set”, etc., for example, and the atomic role set identifying unit 420 may retrieve information in the relevant field of “Configuration Information of Atomic Role Set” from the table according to the ID of the current user so as to identify the predefined atomic role set configured for the user.
The virtual role finding unit 430 may query virtual role map table in the metadata repository 260 with the identified tenant group and the identified atomic role set, to find out whether there is a virtual role in match with the identified tenant group and the identified atomic role set.
If there is no virtual role in match, then the virtual role creation unit 440 may create a virtual role based upon the identified tenant group and the identified atomic role set, and store it in the virtual role map table of the metadata repository 260, for example.
For example, when a user of a tenant accesses a SaaS application, the request capturing unit 510 may capture a page access request of the user.
The request recording unit 520 may record the page access request of the user in a request log table of the metadata repository 260, for example.
The virtual role identifying unit 530 may identify a tenant group to which the current tenant belongs and the atomic role set of the user from the captured page access request and identify a virtual role of the user according to the identified tenant group and atomic role set. Specifically, the virtual role identifying unit 530 may identify the tenant group to which the current tenant belongs according to the tenant configuration information stored in the metadata repository 260, for example, and identify the atomic role set configured for the user according to the user configuration information stored in the metadata repository 260, for example. Then, the virtual role identifying unit 530 may query the virtual role map table in the metadata repository 260, for example, with the identified tenant group and atomic role set, so as to determine the virtual role of the user.
The access pattern generation unit 540 may generate a virtual-role-based access pattern by performing pattern mining for the recorded page access requests according to the virtual role of the user and store it in a virtual role access pattern map table of the metadata repository 260, for example, in association with the virtual role. Here, a process of pattern mining for the page access requests may be performed based upon any existing or future available technology. A specific pattern mining algorithm has been disclosed in the article “Efficient data mining for path traversal patterns”, by Ming-Syan Chen, et al, in IEEE TRANSACTIONS KNOWLEDGE AND DATA ENGINEERING, Vol. 10, No. 2, March/April 1998, for example.
When a user of a tenant accesses a SaaS application, for example, the identifying unit 810 may capture a page access request of the user to identify there from the virtual role and the current access path of the user. Here, a process of identifying the virtual role of the user is similar to that of the virtual role identifying unit 520 in
The access pattern matching unit 820 may query the virtual role access pattern map table in the metadata repository 260, for example, based upon the identified virtual role and current access path of the user, to match a corresponding access pattern, so as to extract one or more recommended pages and relevant page jump context information.
For example, as illustrated in
The navigation page generation unit 830 may generate a navigation page including link(s) to the above one or more recommended pages and the relevant page jump context information. For example, as illustrated in
As illustrated in
The apparatus for providing page navigation in a multirole-enabled network application according to the embodiment of the invention has been described above in details with reference to the drawings. A method for providing page navigation in a multirole-enabled network application according to an embodiment of the invention will be described below with reference to the drawings.
Firstly, in the step S1110, a virtual role is created for each user in the multirole-enabled network application based upon a predefined atomic role set configured for the user.
Next, in the step S1120, a virtual-role-based access pattern is generated by recording page access requests of the user and by performing pattern mining for the recorded page access requests according to the virtual role of the user. Here, the access pattern may comprise a page path pattern and/or a page jump context parameter.
Finally, in the step S1130, page navigation is provided by utilizing the access pattern corresponding to the virtual role of the user when the user accesses the multirole-enabled network application.
As illustrated in
Next in the step S1220, for each user of the tenant, the predefined atomic role set configured for the user is identified from user configuration information stored in the metadata repository 260, for example.
Next in the step 1230, a virtual role map table in the metadata repository 260, for example, is queried with the identified tenant group and the identified predefined atomic role set, so as to finding out whether there is a virtual role in match with the identified tenant group and the identified predefined atomic role set.
Finally in the step S1240, if there is no virtual role in match then a virtual role is created based upon the identified tenant group and the identified predefined atomic role set and stored in the virtual role map table in the metadata repository 260, for example.
As illustrated in
Next in the step S1320, the page access request of the user is recorded.
Next in the step S1330, the tenant group to which the current tenant belongs and the atomic role set of the user are identified from the captured page access request, and the virtual role of the user is identified from the identified tenant group and atomic role set.
Finally in the step S1340, a virtual-role-based access pattern is generated by performing pattern mining for the recorded page access requests according to the virtual role and stored in the virtual role access pattern map table in the metadata repository 260, for example, in association with the virtual role.
As illustrated in
Next in the step S1420, a virtual role access pattern map table in the metadata repository 260, for example, is queried based upon the identified virtual role and current access path of the user, to match a corresponding access pattern, so as to extract one or more recommended pages and the relevant page jump context information.
Finally in the step S1430, a navigation page is generated including links to the recommended page(s) and the relevant page jump context information.
According to the technical solution of a preferred embodiment of the present invention, pattern mining is performed for access data of one or more users according to virtual role, so the access data of the users can be accumulated rapidly for pattern mining, and resources required for calculation and storage of access patterns can be conserved. Moreover, when the role of a user is changed, the user can be provided with accurate personalized page navigation by utilizing an access pattern, if any, corresponding to the new role of the user. Also, for a new user, the user can be provided with accurate personalized. page navigation by utilizing an access pattern, if any, corresponding to the role of the new user.
The above apparatus and method may be implemented by hardware. Such hardware may be a single processing device or a plurality of processing devices. Such processing device may be a microprocessor, a microcontroller, a digital processor, a microcomputer, a part of a central processing unit, a state machine, a logic circuit and/or any device capable of manipulating a signal.
Also, it should be noted that, the above apparatus and method may be implemented by either software or firmware. In the case where the above apparatus and method are implemented by software or firmware, a program that constitutes the software is installed, from a storage medium or a network, into a computer having a dedicated hardware configuration, e.g., a general purpose personal computer 1500 as illustrated in
In
The CPU 1501, the ROM 1502 and the RAM 1503 are connected to one another via a bus 1504. An input/output interface 1505 is also connected to the bus 1504.
The following components are connected to input/output interface 1505: An input section 1506 including a keyboard, a mouse, or the like; An output section 1507 including a display such as a cathode ray tube (CRT), a liquid crystal display (LCD), or the like, and a loudspeaker or the like; the storage section 1508 including a hard disk or the like; and a communication section 1509 including a network interface card such as a LAN card, a modem, or the like. The communication section 1509 performs a communication process via the network such as the internet.
A drive 1510 is also connected to the input/output interface 1505 as required. A removable medium 1511, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is mounted on the drive 1510 as required, so that a computer program read there from is installed into the storage section 1508 as required.
In the case where the above-described series of processes are implemented by the software, the program that constitutes the software is installed from the network such as the internet or the storage medium such as the removable medium 1511.
One skilled in the art should note that, this storage medium is not limit to the removable medium 1511 having the program stored therein as illustrated in
Obviously, in the apparatus and method of the present invention, respective components or steps can be decomposed and/or recombined. These decomposition and/or recombination should be regarded as equivalent solutions. Further, the step in which the above-described series of processes are performed may naturally be performed chronologically in order of description but needed not be performed chronologically. Some steps may be performed in parallel or independently of one another.
Although the embodiments of the present invention have been described in detail with reference to the accompanying drawings, it should be appreciated that, these embodiments are only used to illustrate the present invention but not to limit the present invention. Various modifications and changes can be made by those skilled in the art without departing from the scope of the present invention. Therefore, the scope of the present invention is only defined by the appended claims and the equivalents thereof.
For the avoidance of doubt, the term “comprising”, as used herein throughout the description and claims is not to be construed as meaning “consisting only of”.
Number | Date | Country | Kind |
---|---|---|---|
2009 1 0207778 | Oct 2009 | CN | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2010/066030 | 10/25/2010 | WO | 00 | 4/25/2012 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2011/051208 | 5/5/2011 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
20030045958 | Brandt et al. | Mar 2003 | A1 |
20060004763 | Horvitz et al. | Jan 2006 | A1 |
20070206584 | Fulling et al. | Sep 2007 | A1 |
20080281617 | Conrad et al. | Nov 2008 | A1 |
20080320081 | Shriver-Blake et al. | Dec 2008 | A1 |
20090037355 | Brave et al. | Feb 2009 | A1 |
20100082515 | Relyea et al. | Apr 2010 | A1 |
20130007636 | Boss et al. | Jan 2013 | A1 |
Number | Date | Country |
---|---|---|
WO2011051208 | May 2011 | WO |
Entry |
---|
“Statement in accordance with the Notice from the European Patent Office dated Oct. 1, 2007 concerning business methods (OJ EPO Nov. 2007, 592-593)”, XP002456414, Nov. 1, 2007, 1 page. |
Mietzner, Ralph et al., “Generation of BPEL Customization Processes for SaaS Applications from Variability Descriptors”, 2008 IEEE International Conference on Services Computing, Honolulu, Hawaii, Jul. 7-11, 2008, pp. 359-366. |
Muller, Jurgen et al., “Customizing Enterprise Software as a Service Applications: Back-End Extension in a Multi-tenancy Environment”, Enterprise Information Systems, Lecture Notes in Business Information Processing, vol. 24, I, Italy, 2009, pp. 66-77. |
Sugiyama, Kazunari et al., “Adaptive Web Search Based on User Profile Constructed without Any Effort from Users”, World Wide Web Conference, 2004 (WWW2004), New York, New York, May 17-22, 2004, pp. 675-684. |
Sun, Wei et al., “Software as a Service: Configuration and Customization Perspectives”, 2008 IEEE Congress on Services Part II, Beijing, China, Sep. 23-26, 2008, pp. 18-25. |
Chen, Ming-Syan et al., “Efficient Data Mining for Path Traversal Patterns”, IEEE Transactions on Knowledge and Data Engineering, vol. 10, No. 2, Mar.-Apr. 1998, pp. 209-221. |
Number | Date | Country | |
---|---|---|---|
20120209997 A1 | Aug 2012 | US |