Abstract:
A collaborative Business Intelligence (BI) system comprising pages based on said BI system data, comprising a collaboration platform having means for selecting most relevant users and most relevant pages and means for enabling collaboration between users,

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates generally to electronic business technology and business processes, and more particularly, to a collaborative business intelligence system and method. 
       BACKGROUND 
       [0002]    The major purpose of Business Intelligence (BI) systems is decision support. Users can gain insights into what is actually driving their business. They can measure effectiveness, maximize the ROI (return on investment) and thus maintain competitive advantage. BI systems are key components to an organization&#39;s business intelligence infrastructure. OLAP Servers make it easy to get summarized information. OLAP Servers aggregate data at build time and store these aggregations. Aggregations can use a number of different built-in OLAP statistics to aggregate data. Statistics are stored with OLAP cubes and do not require additional computation when accessed by queries. 
         [0003]    The short response times of OLAP data sources enable workers to navigate through data following their own train of thought. OLAP clients support the standard OLAP navigations such as:
       Drilling up and down hierarchies.   Expanding and collapsing levels within hierarchies.   Slicing and dicing through data.   Drilling beyond the cube data into the underlying detailed data.       
 
         [0008]    It is possible to begin exploring the data by getting a high-level overview on corporate operations. Based on this view, OLAP technology enables fast and consistent drill down access into the details that describe the accumulated business metrics in order to pinpoint key elements and to view business activities from a number of different perspectives. 
         [0009]    OLAP allows users to be able to analyze data across any dimension, at different levels of aggregation, with equal functionality and ease. 
         [0010]    One of the most important purposes of networking, i.e. information sharing is missing in today&#39;s BI systems. Users communicate with the system, but not with each other. Another disadvantage of prevailing BI systems is the lack of ability to provide a user with the most relevant data, based not only on his/her previous operations, but also on other users&#39; operations. 
         [0011]    Thus there is need for a collaborative BI system to enable users to share viewed data and discuss what they see. 
         [0012]    There is also need for a sophisticated relevancy mechanism to provide the users with the most relevant reports. 
       SUMMARY 
       [0013]    According to a first aspect of the present invention there is provided a collaborative Business Intelligence (BI) system comprising pages based on the BI system data, comprising: a system server comprising at least one processing unit, at least one BI related content storage communicating with the at least one processing unit, a collaboration platform communicating with the at least one processing unit, a network interface communicating with the at least one processing unit and a plurality of client computers communicating with the system server over a network, wherein the collaboration platform comprises means for selecting most relevant users and most relevant pages and means for enabling collaboration between users. The system may additionally comprise user interface means configured to display the selected most relevant users and the selected most relevant pages, select at least one of the displayed most relevant pages, display the selected page, select at least one of the displayed most relevant users and initiate a collaboration session with at least one of the displayed most relevant users. 
         [0014]    The means for selecting most relevant users and most relevant pages may comprise a page-tags repository, each the page-tags comprising at least keywords, a user-tags repository, each the user-tags comprising at least user&#39;s fields of interests, a process-content database configured to store at least one of: discussions pertaining to pages, comments entered in the context of the discussions and action items entered in the context of the discussions, an audit information database configured to store information pertaining to each user and each page, comprising at least one of: opening a page, drilling-down, slicing and contributing to a discussion, a cube semantics module, a relevancy search engine communicating with the page-tags repository, the user-tags repository, the process-content database, the audit information database and the cube semantics module and a ranking module communicating with the relevancy search engine. 
         [0015]    The relevancy search engine may be configured to select relevant users for a user, based on at least one of: users having user-tags similar to the user&#39;s user-tag, users viewing pages with page-tags similar to the page-tag of a currently displayed page, users viewing pages similar to the currently displayed page and deduction from the semantics of an OLAP cube. 
         [0016]    The relevancy search engine may be configured to select relevant pages for a user based on at least one of: a relevancy ranking between the user&#39;s user-tag and page-tags, a relevancy ranking between the page-tag of a currently displayed page and page-tags of other pages, a relevancy ranking between the user&#39;s user-tag and page-tags of pages currently viewed by other users having similar user-tags, a relevancy ranking between the user&#39;s user-tag and at least one item in the process-content database and deduction from the semantics of an OLAP cube. 
         [0017]    The ranking module may be configured to receive results from the relevancy search engine, comprising a list of pages, and rank them according to at least one of: tag matching, popularity of usage, OLAP cube semantics and ranking by users. 
         [0018]    The ranking module may be configured to receive results from the relevancy search engine, comprising a list of users, and rank them according to at least one of: tag matching, OLAP cube semantics and ranking by users. 
         [0019]    The system may be configured to modify a displayed page content according to the user&#39;s user-tag. 
         [0020]    The system may be configured to display a list of comments pertaining to a displayed page. 
         [0021]    The comments may comprise a coordinate-level definition, indicating the hierarchy levels of the page in which the comment should appear. 
         [0022]    The system may be configured to receive a selection of a comment from the comment-list, and to modify the displayed page based on the selected comment&#39;s coordinate-level definition. 
         [0023]    The user interface means for initiating a collaboration session may comprise means for dragging a relevant one or more users&#39; links over a page item to be discussed and for entering discussion thread content to be viewed by the relevant one or more users. 
         [0024]    The discussion thread content may comprise a link to a page item in a modified but not saved page. 
         [0025]    The discussion thread content may comprise text. 
         [0026]    The system may be configured to modify the displayed page based on the link in the discussion thread content. 
         [0027]    The system may be configured to modify a displayed page content according to an OLAP cube&#39;s semantics. 
         [0028]    The system may be configured to modify a next displayed page content by a currently displayed page-tag. 
         [0029]    The audit information database may be configured to store information pertaining to each user and each page, comprising at least one of: opening a page, drilling-down, slicing and contributing to a discussion. 
         [0030]    The BI related content storage may comprise structured and unstructured data. 
         [0031]    The structured data may comprise at least one of an OLAP cube and a relational database. 
         [0032]    The unstructured data may comprise at least one of documents, e-mail folders and HTML pages. 
         [0033]    According to a second aspect of the present invention there is provided a method of enabling collaboration between users of a Business Intelligence (BI) system comprising pages based on the BI system data, comprising displaying a page, selecting the most relevant users for the displayed page, displaying the selected most relevant users and initiating a collaboration session with at least one of the displayed most relevant users. 
         [0034]    Selecting the most relevant users may comprise providing a page-tags repository, each the page-tags comprising at least keywords, providing a user-tags repository, each the user-tags comprising at least user&#39;s fields of interests, providing a process-content database comprising at least one of: discussions pertaining to pages, comments entered in the context of the discussions and action items entered in the context of the discussions, providing an audit information database comprising information pertaining to each user and each page, comprising at least one of: opening a page, drilling-down, slicing and contributing to a discussion, providing a cube semantics module, using at least one of the page-tags, the user-tags, the process-content database, the audit information and the cube semantics to select the most relevant users for a user and ranking the selected most relevant users. 
         [0035]    The most relevant users may comprise at least one of: users having user-tags similar to the user&#39;s user-tag, users viewing pages with page-tags similar to the page-tag of a currently displayed page, users viewing pages similar to the currently displayed page and deduction from the semantics of an OLAP cube. 
         [0036]    Ranking may comprise receiving the selected most relevant users and ranking them according to at least one of: tag matching, OLAP cube semantics and ranking by users. 
         [0037]    Displaying a page may comprise modifying the page content according to the user&#39;s user-tag. 
         [0038]    Displaying a page may comprise displaying a list of comments pertaining to the displayed page. 
         [0039]    The comments may comprise a coordinate-level definition, indicating the hierarchy levels of the page in which the comment should appear. 
         [0040]    The method may additionally comprise selecting a comment from the comment-list, whereby the displayed page is modified based on the selected comment&#39;s coordinate-level definition. 
         [0041]    Initiating a collaboration session may comprise dragging the most relevant one or more users&#39; links over a page item to be discussed and entering discussion thread content to be viewed by the most relevant users. 
         [0042]    The discussion thread content may comprise a link to a page item in a modified but not saved report. 
         [0043]    The discussion thread content may comprise text. 
         [0044]    The method may comprise modifying the displayed page based on the link in the discussion thread content. 
         [0045]    The method may comprise modifying the displayed page according to OLAP cube semantics. 
         [0046]    According to a third aspect of the present invention there is provided a method of providing the most relevant content to a user of a Business Intelligence (BI) system comprising pages based on the BI system data, comprising: providing a page-tags repository, each the page-tags comprising at least keywords, providing a user-tags repository, each the user-tags comprising at least user&#39;s fields of interests, providing a process-content database comprising at least one of: discussions pertaining to pages, comments entered in the context of the discussions and action items entered in the context of the discussions, providing an audit information database comprising information pertaining to each user and each page, comprising at least one of: opening a page, drilling-down, slicing and contributing to a discussion, providing a cube semantics module, using at least one of the page-tags, the user-tags, the process-content database, the audit information and the cube semantics to select the most relevant pages for a user and ranking the selected most relevant pages. 
         [0047]    Providing the most relevant content may comprise selecting relevant pages for a user based on at least one of: a relevancy ranking between the user&#39;s user-tag and page-tags, a relevancy ranking between the page-tag of a currently displayed page and page-tags of other pages, a relevancy ranking between the user&#39;s user-tag and page-tags of pages currently viewed by other users having similar user-tags, a relevancy ranking between the user&#39;s user-tag and at least one item in the process-content database and deduction from the semantics of an OLAP. 
         [0048]    Ranking may comprise receiving the selected most relevant pages and ranking them according to at least one of: tag matching, popularity of usage, OLAP cube semantics and ranking by users. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0049]    For a better understanding of the invention and to show how the same may be carried into effect, reference will now be made, purely by way of example, to the accompanying drawings. 
           [0050]    With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice. In the accompanying drawings: 
           [0051]      FIG. 1  is a schematic block diagram of the system components according to the present invention; 
           [0052]      FIG. 2  is a schematic block diagram of the collaboration platform of  FIG. 1 ; 
           [0053]      FIG. 3  is a schematic block diagram of the BI related content storage of  FIG. 1 ; 
           [0054]      FIG. 4  is a schematic home-page user interface; 
           [0055]      FIGS. 5A through 5C  show an exemplary graphical user interface for initiating a discussion 
           [0056]      FIG. 6  is a flowchart describing the initiation of a new discussion; and 
           [0057]      FIG. 7  is a flowchart describing participation in a discussion. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0058]    Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is applicable to other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting. 
         [0059]    In the following detailed description, numerous specific details are set forth regarding the system and method and the environment in which the system and method may operate, etc., in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without such specific details. In other instances, well-known components, structures and techniques have not been shown in detail to avoid unnecessarily obscuring the subject matter of the present invention. Moreover, various examples are provided to explain the operation of the present invention. It should be understood that these examples are exemplary. It is contemplated that there are other methods and systems that are within the scope of the present invention. 
         [0060]    The method of the present invention, as incorporated in a computer program, may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs) electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions, and capable of being coupled to a computer system bus. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the inventions as described herein. The subject-matter of the present invention can be implemented on one or more computer program products, i.e. one or more computer programs tangibly embodied in a non-transitory media, e.g. in a machine storage device, for execution by, or to control the operation of, data processing apparatus, e.g. a programmable processor, a computer or multiple computers. 
         [0061]    At least some of the subject matter described herein may be implemented in a computing system that includes a back-end component (e.g. a data server), a middleware component (e.g. an application server) or a front-end component (e.g. a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware and front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g. a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g. the Internet. 
         [0062]    The system may include clients and servers. A client and a server are generally remote from each other in a logical sense and typically interact through a communication network. The relationship of client and server may arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other. 
         [0063]    The present invention provides a system and methods for enhancing the usage of Business Intelligence (BI) systems by providing three main components:
       A ranking module;   A relevancy module;   A collaboration platform.       
 
         [0067]    The enhanced usage according to the present invention enables;
       Collaboration between users of the BI system for the purpose of discussing data items and/or mentoring new users to the system;   Providing the most relevant pages to a user;   Providing the most relevant users for collaboration purposes to a user viewing a page;   Automatically modifying content of pages viewed by a user according to the user&#39;s preferences (explicit or implicit) and/or according to deduction from the OLAP cube semantics.       
 
         [0072]      FIG. 1  is a schematic block diagram of the system components according to the present invention. 
         [0073]    The system  100  comprises a BI server  105 , communicating over the internet  110  with a plurality of client computers ( 115 ,  120 ). 
         [0074]    BI server  105  comprises one or more central processors  125  communicating bi-directionally with the network interface  130 . 
         [0075]    BI server  105  additionally comprises one or more BI related content storages  135  and a collaboration platform  145 , as will be explained in details below. 
         [0076]      FIG. 2  is a schematic block diagram of the collaboration platform  145  of  FIG. 1 . 
         [0077]    Collaboration platform  145  comprises a relevancy search engine  220 , user-tags  200 , page-tags  210 , auditing information  215  and a process-content database  230  including at least discussions  250  pertaining to page items, comments  240  entered in the context of said discussions and action items  260  entered in the context of said discussions, to search for the most relevant pages and/or users, as will be explained in details below. Relevancy search engine  220  communicates the search results to the ranking module  270 . 
         [0078]      FIG. 3  is a schematic block diagram of the BI related content storage  135  of  FIG. 1 . Storage  135  may store any, some or all of the following organization&#39;s data types:
       Structured data, such as an OLAP cube  300  and/or relational databases  310  and applications (e.g. ERP);   Unstructured data, such as documents (Word, Excel)  320  and/or e-mail folders  340 ;   Web-related content  330 , such as HTML pages.       
 
         [0082]    The various components of the collaboration platform  145  will now be explained in detail:
       User-tags ( 200 )—A user-tag is an entity indicating the user&#39;s fields of interest such as a product name and/or a geographic area relevant to the user. The user-tag may be created and/or modified manually by the user, e.g. by being provided with a special form for indicating his fields of interest. Alternatively, in systems comprising an OLAP cube, the user-tag may be created automatically by the system from metadata deduced from the cube&#39;s semantics, e.g. if the user is in charge of the sales of mountain bicycles in Washington state, both the product mountain bicycles and the area Washington state may be automatically added to his user-tag.   Page-taps ( 210 )—A page, in the context of the present invention, comprises one or more BI entities displayed simultaneously to the user. The page entities may comprise, for example, OLAP cube views, relational database tables, documents (Word, XL), HTML pages (e.g. a news portals, Google, Twitter, Bing, Facebook, etc.) pertaining to the organization&#39;s activities. A page may comprise any combination of these entities.    A page-tag is an entity indicating the page&#39;s content, e.g. keywords. The page-tag may be created and/or modified manually by the creator of the page, e.g. by being provided with a special form for indicating keywords of the page. Alternatively, in systems comprising an OLAP cube, the page-tag may be created automatically by the system from metadata deduced from the cube&#39;s semantics such as, for example, the members the page is currently sliced on, or the list of geographical areas analyzed by the page.   Process-content database ( 230 )—The process-content database stores various components pertaining to pages viewed by users of the system. The components may be, but are not limited to:
           Comments ( 240 ) entered by one or more user regarding all or part of a page content. If the BI system comprises a multi-dimensional database, a comment may include a coordinate cell definition, or coordinate member definition indicating the cell\member the comment is attached to.   Discussions ( 250 ) conducted between at least two users regarding selected items of a page, as will be explained in details below;   Action items ( 260 ) pertaining to selected page items, entered by one or more participants in the course of a discussion.   
           The process-content database components comprise links to the relevant pages and page items.   Auditing Information ( 215 )—The auditing information module stores information pertaining to each user and each page, such as opening a page, drill-down, slice, contributing to a discussion etc.   Relevancy Search Engine ( 220 )—The relevancy search engine uses user-tags  200 , page-tags  210 , auditing information  215 , process-content database  230  and cube semantics  218  to search for the most relevant pages and/or users to be displayed. The auditing information can be filtered between dates, e.g. all operations from last month   Ranking Module ( 270 )—The ranking module receives results from the relevancy search engine, comprising a list of pages or a list of users, and ranks them in a descending order according to their relevancy number. The relevancy number is calculated from any or a weighted combination of:
           Tag matching;   Popularity and usage (from auditing);   Deduction from page BI content—cube semantics that is relevant to the user;   “Liked” or ranked by users.   
           The weights may be automatically modified according to usage.       
 
         [0098]    The collaboration platform  145  described above enables the system to present the user, upon entering the BI application, with various entities which may facilitate his selection of the next action to be performed, as exemplified in  FIG. 4 . 
         [0099]    The exemplary entities shown in  FIG. 4  are:
       My recent pages—the most recent pages viewed by User1;   My relevant pages—the most relevant pages for User1 as selected by the collaboration platform, according to at least one of the following:
           a relevancy ranking between User1&#39;s user-tag and page-tags of pages currently viewed by other users having similar user-tags;   a relevancy ranking between User1&#39;s user-tag and at least one item in the process-content database, e.g. another user has initiated a discussion and has invited User1 to participate in the discussion;   based on an OLAP cube semantics.   dates range   
           My recent discussions—the most recent discussions in which User1 is participating, either as initiator or as an invited party;   My recent subscriptions—the most recent pages viewed by users to which User1 has requested to subscribe (follow);   Other—Various other relevant entities such as, for example:   Direct events:
           messages directed at User1 from other users subscribed to him;   messages directed at User1 from other users without subscription;   content saved by another user which is relevant to User1 according to the OLAP cube semantics, etc.   
           Indirect events:
           User1 name is entered as part of a discussion   words translated by the system into meaningful terms that are of interest to User1 were entered as part of a discussion not shared by User1.   
               
 
         [0116]    Discussion can be either: 
         [0117]    1. Shared only between the selected group of users 
         [0118]    2. Shared only by the selected group, but other users may join the discussion if they are notified of its existence. They will be notified by the above mechanism. 
         [0119]    When the user selects one of the entities he is presented, for example, with a display of page thumbnails or discussion thumbnails from which he may select the page or discussion to view. 
         [0120]    A collaboration scenario according to the present invention will now be described. 
         [0121]    Usage Scenario—Collaboration 
         [0122]      FIGS. 5A through 5C  show an exemplary graphical user interface for initiating a discussion according to the present invention. 
         [0123]      FIGS. 6 and 7  are flowcharts describing the collaboration process according to the present invention. 
         [0124]    In  FIG. 6 , a new discussion is initiated as follows: 
         [0125]    In step  600 , User1 opens his BI application homepage and selects “My relevant Pages”, whereby the system presents him with the most relevant pages to be viewed, ranked in descending order of relevancy. The most relevant pages for User1 are selected by the relevancy search engine  220  according to at least one of the following:
       a relevancy ranking between User1&#39;s user-tag and page-tags of pages currently viewed by other users having similar user-tags;   a relevancy ranking between User1&#39;s user-tag and at least one item in the process-content database, e.g. another user has initiated a discussion and has invited User1 to participate in the discussion;   popularity and usage (from audit);   based on OLAP cube semantics.       
 
         [0130]    In step  610 , User1 selects a page from the recommended pages list to be displayed. 
         [0131]    In step  620 , the selected page is displayed, as depicted in  FIG. 5A , along with additional user links, such as, for example:
       The most relevant users for the displayed page, ranked in descending order of relevancy by the relevancy search engine  220  and the ranking module  270 . The most relevant users for a page displayed to User1 are selected by the relevancy search engine  220  according to at least one of the following:
           Users who have viewed the current page   users having similar user-tags;   users who have viewed similar pages to pages viewed by User1;   multi-dimensional database semantics:
               deduce users from current page data.   
               Users previously defined by User1 as “Friends” or to which the user has previously requested to “Subscribe” (follow).   
               
 
         [0139]    The user links may be displayed as lists or as thumbnail pictures or any combination therebetween. 
         [0140]    In one embodiment, if the displayed page comprises comments, User1 may select a comment from the page&#39;s comments-list, whereby the displayed page is modified based on the selected comment&#39;s coordinate-level definition. 
         [0141]    In another embodiment, the displayed page content may be modified by the system prior to displaying the page to User1. The modification may be done according to User1&#39;s fields of interest defined in his user-tag, either explicitly (as entered by User1) or implicitly (as deduced by the system) and/or according to deduction from the OLAP cube semantics. For example, if User1 is the sales manager for mountain bicycles in the area of Washington state, as deduced from the OLAP cube, or if User1 has defined Washington state as a field of interest in his user-tag, the system may project this information on pages viewed by User1 by, for example, overriding his request to display a page pertaining to the state of California and showing him instead the same page as pertaining to Washington state. 
         [0142]    In step  630 , if the displayed page is a table created from an OLAP cube, User1 may now change the slicing. For example, if the displayed page contained sales data for the entire year 2009, User1 may wish to see sales data for Q3 2009. 
         [0143]    In step  640 , if User1 wishes to discuss a certain item in the displayed page with another user (User2), he may select User2 from the user links provided, as depicted in  FIG. 5B . User1 drags User2&#39;s link over the item (Item1) he wishes to discuss, which may be, for example, a cell in a table, a pie-chart, a document, or an HTML page. 
         [0144]    In step  650 , a discussion pane is opened, showing all the existing discussions pertaining to the displayed page in which the user participates. 
         [0145]    In step  660  a new discussion is created in the discussion pane, as depicted in  FIG. 5C , comprising User1 link, User2 link and a hyperlink to Item1. When the hyperlink to Item1 is pressed, the displayed page may change in order to show the number referred to in the discussion—sometimes this will require changing in slicing, drill down etc. 
         [0146]    In step  670 , User1 writes a thread relating to Item1. The thread may comprise any free text observations, questions and/or action items. 
         [0147]    In step  680  Item1 is marked as an item participating in a discussion. 
         [0148]    In  FIG. 7 , a user (User2) participates in a discussion to which he has been invited. 
         [0149]    In step  700 , User2 opens his BI application homepage and selects “My Recent Discussions”, whereby the system presents him with the most recent discussions in which he is participating, either as an initiator or as an invited participant. The most recent discussions for User2 are selected by the relevancy search engine  220 . 
         [0150]    In step  710 , User2 finds the discussion created by User1 (in  FIG. 6 ) and presses the discussion link. 
         [0151]    In step  720 , the system displays to User2 the relevant page for the discussion and the discussion pane is opened, showing the text entered by User1. 
         [0152]    In step  730  User2 presses the link for the discussed item in the discussion pane. 
         [0153]    In step  740 , if user1 has changed the slicing as described above in conjunction with  FIG. 6 , the page displayed to User2 undergoes the same slicing. For example, If data displayed to User2 is now sliced on January 15 and the link refers to January 7, User2&#39;s data will change to the data associated with the link (January 7). Moreover, if User2&#39;s data is sliced on January, the values will change to reflect January value as of January 7. 
         [0154]    The discussed item (Item1) is highlighted. 
         [0155]    In step  750 , User2 enters a new thread pertaining to Item1 into the discussion pane. The thread may comprise any free text observations, questions, responses and/or action items. 
         [0156]    User2 may invite another User to participate in the discussion and/or select another item on the same page or on another page to start a new discussion. 
         [0157]    It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined by the appended claims and includes both combinations and sub-combinations of the various features described hereinabove as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description.