Title of Invention

A METHOD OF CHANNELIZING DATA WITHIN A SYSTEM, A SYSTEM AND AN APPARATUS FOR PUBLISHING DATA

Abstract A system and method for presenting data from a plurality of sources to a user. The system includes a plurality of information sources, a user interface, content storage and a server connected to the user interface and the content storage. The user interface selects data from one or more of the plurality of information sources to be indentifed as published content and issues content requests to access data identified as published content. The content storage stores published content and the server manages the content requests received from the user interface. The server includes a repository and a content directory, wherein the repository manages a virtual directory structure associated with published content, wherein the content directory maintains a content directory structure pointing to all published content stored in the content storage and wherein the content directory structure is referenced by the virtual directory structure in the repository.
Full Text

SYSTEM AND METHOD OF PRESENTING CHANNELIZED DATA

The present invention is related to computer software, and more system and method in presenting data from a variety of sources in a unif orm manner..
Background Information
The amount and sources of information has exploded in recent years. Currently, commercial organizaions have many different tools for managing that information. The organization may use a word processing application to create and edit documents, a spreadsheet program to perform calculations, one or more database tools or accessing marketing, employes and other facts, internet tools for accessing the inter net and intranet tools for accessing internal company information published to an internal web site. Each tool perfonns in a different way; it can take a long time to master the tools needed for one's job. In addition, the learing curve required to obtain rudimentary knowledge in (he use of a
particular tool can discourage the user from using a tool which may provide information
....
relevant to his or her job.
The introduc t on of the Internet and Intranet have made the problem worse; there has been a dramatic incj e ase in the amount of data available to the average worker. With that has come the increased garden of how to find relevant information in this delage of unstructured content. There is necommon way to navigate, search, organize, receive, istribute and collaborate on infor T ation that is fundamental to the decision making process. Organizations, then fore, often make decisions uninformed by facts which ire documented within the organization, but unknown or unavailable to the decision-maker As business process reengineering and customer relsonship management continue to grow, this challenge will intensify.
What is needed is a method of presenting data taken from a variet sources in a uniform manner. A: the same time, what is needed is an interface for accessing such data which is intuitive are user-friendly.
Summary of athe Invention:
According to one aspect of the present invention, a system and metod is described for presenting data from a plurality of sources to a user. The system inclucdes a plurality of information sources, a user interface, content storage and a server connected to the user

interface and the content storage. The user interface selects data from one or more of the plurality of information sources to be identified as published content and issues content requests to access data identified as published content. The content storage stores published content and the server manages the content requests received from the user interface. The server includes a repository and a content directory, wherein the repository manages a virtual directory structure associated with published content, wherein the content directory maintains a content directory structure pointing to all published content stored in the content storage and wherein the content c irectory structure is referenced by the virtual directory structure in the repository.


others skilled in them. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrica or magnetic signals capable of being stored, transfered, combined, compared, and other vise manipulated. It has proven convenient at times, principally for


keys stored in reposatory 22. In such an embodiment, repository 22 is organized as a hierarchy of folders Objects can be organized by user or subject and can be published or deleted from repository 22. In addition, the folder structure allows the user to navigate the


Monday night the agent geherates a detailed analysis of sales figures basesd on data stored within the data warehouse. As long as the report is stored such that it replaces the old report, any access to the report will always access the latest version of the report.


structure is accessec through object ke> stored in the repository's virtual directory structure.
Documents may be linked to other documents. In one embodiment hypertext links within a document point to other documents within repository 22.
In one embodiment, server engine 26 includes a scheduler which monitors and schedules processing of messengers. In one such embodiment, server engine 26 also schedules and manages generation, on a regular basis, for all public, workgroup and personal newspages. For instance, server engine 26 may be configured to generate newspages daily, weekly, or on some other periodic basis.


In one embodiment, storage device 16 is a combination of local and remote storage. In one such embodirr ent, content to be published to repository 22 is left in is original location. Directory 24 then points to a pointer in local storage used to access the content in its remote location. In one such embodiment, content may be stored within a different organization's web site. In that case, the pointer may be an HTTP references to the information stored or that website. At the same time, other content in that channel may be stored internally, or at another location within the organization. In these cases, in one embodiment, the ponter takes the form of a server location and index number. Users accessing content within that channel would not have to be aware of wher; that content is


task table for execuion when the inaccessible server once again becomes accessible.
In another e r bodiment, when master server 40 receives a service request that says delete content, it sen In one embodiment, Remote Method Invocation (or RMI) is used to communicate back and forth between servers 40 and 42. If RMI should go down, such tat the server is not available, and there something scheduled that the server is supposed to do, master server 40 schedules tasks for tat disabled server 42 to perform when it comes on lire. In one embodiment, a content directory 24 exists on each of the servers 42. * If a user logged into one of the servers 42 tries to delete a published document, that server 42 contaces master server 40. Master server 40 looks in repository 22 and determines where the "published document currently is stored. If the document is stored in an unavailable or inaccessible server 42 (e.g., one having problems with RMI connectivity), server 40 queues up a service request to actually delete that content when disabled server 42 comes back up. When comiectivity is


Agent - provides administrator access to messenger functionality while
maintaining the repository information regarding messenger creation, deletion and properties
Profile - provides administrator access to profile information while maintaining
the user group and world group table structure
Search - provides the support functionality for object searching. The caller
specifies the type of object to search and the class will search repository 22 and return those objects that match the object type. Can be used for documents, messengers, channels, etc.
User - provides the support functionality for all user objects; provides for
addition and deletion of user objects.
«



published document.
To retrieve a 1 st of categories under which a document may be published, the URL
call is:
http://[sep/er]/servleryiACS/Api/categories?UN=[adminusemame]&PW=[almin password]
The content server returns a text-delimited list that looks like this:


OWNERKEY is the owner object key that this document will be putlished under. GROUPKEY is the group object key that this document will be published under. PERMS is a nine character permission string for the document.

EXPIRES is an integer that is an epoch date in seconds or -1 if it never expires.
VERSION is the version of the document if duplicates are made.
CAT is the category ID chosen. The categories and their IDs can be retrieved via the


The object lepository table (OBJECTREPOSITORY) defines each individual object stored in content server 26. The table includes one or more of the following fields:


The relationships table (RELATIONSHIPS) maintains the relatior ships between all types of objects. It is indexed by PARENTKEY and CHILDKEY and includes SORTORDER and RELATIONSHIPTYPE.
The document table (DOCUMENT) defines the properties for a published document. It is indexed by OE JECTKEY, a unique KEY that is internally generated v/ system 10 for this document. The document table includes:



that is internally gene ated by system 10 for this document. The user group table includes one or more of the following fields: FNAME - User first name (optional). LNAME - User last name (optional).

USERNAME - Unique name for this user (mandatory), PASSWORD - Password assigned if this is a user (mandatory). DEFAULTGROUP -■ User or group assigned to this entry (mandatory). 1A_ID ~ Index to the internal ID. The internal ID is the ID used to access the other systems (see IA_ID) (mandatory).


the USERKEY.
This table contains transaction log information which can be used by the administrator. CREATEDATE is the date this entry was created. It is generated by system 10. ACTION is the action requested by the user. It too is generated by suystem 10. ERRATA is a list of any errors resulting from the action.
As noted above, a profile is created for each user to allow him or her flexibility in the creation of their persona] desktop environment. The profile contains the format of their news,


The template lookup table (TEMPLATELOOKUP) defines each contomizable component of a temp late. In the embodiment shown in Fig. 5, the template lookup table is accessed via TEMPI ATEKEY.
In one embodiment, profile table (PROFILE) contains selections made by users that must be remembered across reboots of the content server.


created by the administrator and saved on content server 12. When a request is made to view a page, the location of the page template is provided on the URL with a ten:plate=X name value pair (X is the name of the template). If the template value pair is not provided on the URL, the default page template specifice in the profile is used.
When a request is made, content server 12 combines the page with the specified


where x is the number of the particular object. Each object has a related section named WOBx where x is the section. The section has the associated parameters needed to complete the call to get the content object. There can be N tags defined, where W is specified in the WOBCount variable in the [WOR] section. When


published to content server 12, only a search stub is created. This search sub is placed into a directory that is indexed by the search engine. The data in the stub is the content that is index. This data in In one embcciment, context server 12 includes a set of administration functions. Access to these admnistration functions is via a Java applet and is restricted to users who are assigned to the admin group. The UI should take the form of an existing admin applet (like the Netscape administrator's application).
In one embodiment, the user interface is a Java applet written with a combination of Java swing classes and HTML. This implies that admin users must have access to a browser that supports JVM ] .12 or higher. The Admin UI provides the following capabilities:
Create / Add Mew User (single & batch)
Delete User
List Users
Create / Edit Profiles
Assign Profiles
Create / Add New Workgroup
Delete Workgroup(s)
List Workgroups
Create / Edit /Report Directories
Delete Repor Directories
Create / Edit 'Channels (Public & Workgroup)
Delete Channels (Public & Workgroup)
Populate the Content Server (single object & batch)
Edit the Repository
Start / Stop Server
Show Access Logs / User Statistics
Session Maragement (browser timeout settings)
Broadcast System Messages
"Kill" a user session
"CreateNewUser" adds a user to the user security database. The administrator will be able to set the profile of the user that will include the Unix user-id and password, the security model, group associations and other entries in the user security record. "DeleteUser"

removes a user from he security database, including the user's profile. "lEditUser" makes changes lo entries iri ially added when the user was created with "CreateNwwUser", including the user's profile. "ListUser" lists the users currently existing on the system, "Create New Group" creates a new group. "Manage Group" provides all the functions needed to administer a group.
In one embod ment, content server 12 has the ability to be installed and run in multiple environmer:ts. It supports the Java internationalization classes wh.ch handle the wide byte (16 bit) character set.


r
Once the user is successfully logged into system 10, a newspage is displayed within a navigation area. In one embodiment, the navigation area is a customizable template under the control of the adminiistrator. Each user can have their own template. In one such embodiment, system 10 includes a template editor which operates under control of the administrator to build user, group or public specific templates. In another embodiment, a template editor is available for the users to create their own pages.
In one embo i ment, headlines associated with the channel are displayed within the
«
newspage and the user can select to read more detailed information relating to the headline simply by clicking cr the headline. If the user wants to add additional channels, she simply adds the channels to her newspage.


"Group or Personal' newspage view, selecting the channel or channels tc be added and submitting the newspage changes. The channel is then displayed on the newspage and updated information is displayed each time the user logs into system 10.
The user can access any material to which she has the correct pemissionds. In addition, if, the user has write pemiission, she can access, modify and save cocuments within system 10. Even if the user lacks permission to modify a document, as long as she has read permission, she can access the document, modify the document if desired aid save the modified document as a new document on system 10. In addition, the user can create a new channel and populate that charmel with documents relevant to that channe.. For instance, if the user were an insuance agent, she might create a channel for insurance agents and publish documents to that channel. Other agents could access that channel through their respective newspages. The user can set the permissions for access to the channel. For instance, the channel may be restricted such that it is available for reading for others in the insurance agent workgroup but they cannot modify anything in the channel.
Before making; a document available on a channel, the user must publish the document to the libnuy. In one embodiment, the user does this by selecting, "Library" in the
4
navigation menu, selecting a workgroup, and selecting a "Publish" icon shown on a toolbar. The document location is highlighted, a title is entered for the document and a headline is entered that will be oisplayed when the document is shown within a channel. The user then sets the permissions and "published" the document to the library. The document then appears in the selected workgroup area in the library.
A link to existing documents can be made simply by publishing the URL associated with the document to a workgroup area in the library.
To publish a report from one of the information sources 14, the user logs onto an information source 14 and designs a report. The report is submitted to the information source 14 and a document generated. The user browses the virtual directory of system 10 and selects a location to publish the document. The report reference is then uploaded from information source 14 to server 26 and report information is stored in repository 22 as detailed above. A reference to the repor is also stored in the content directory and a search meta file is generated and stored ;nto index 28. At the same time the search meta file is broadcast to other content servers.

When a repcrt is viewed by a user, he or she accesses the report from content server 26 and retrieves the document to be displayed in HTML on the user's brower. If the document is an on-cemand repon, the act of requesting the document causes server 26 to query the information source 14 associated with the report. In one embodiment, a URL referencing a cgi program is generated for each on-demand inquiry and an HTML document representing the results of the on-demand report request is forwarded to the user by information source 14.
The user can create messengers to add content to a channel. Messengers help the user to automate the delivery of objects to the preferred destination. They work behind the scenes to automatically update channels by broadcasting headline text messages \/ith links to the
associated content.
In one embodiment, a messenger is created by selecting "Messengers" in the
navigation menu, selecting "Agent Messengers" in the Workgroup area and indicating that
the messenger is a new messenger. A title and headline is entered for the messenger and a
channel is selected as the location to which the messenger is posted. A period (e:g., daily) is
selected and permissions are set for the messenger. The messenger is then saved and
displayed in the channel selected.
In one such embodiment the action of saving the messenger results in sending messenger information to a system 10 servlel. The servlet determines the object key for the messenger and insents the object key in repository 22. The servlet also creates a relationship between the messenger and channel in repository 22. In addition, the messenger is added to the task table is an email has been specified. A servlet maintenance thread then monitors the task table to complet scheduled tasks.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those; of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is interded that this invention be limited only by the claims and the equivalents
thereof.





0What is claimed is:
1. A method of channelizing data within a system having a user interfac-j and a server, comprising:
identifying, at the user interface, data to be published as published content;
sending a request to the server ntilifying the data to the server;
generating, a the server, an object key to the data to be published;
storing the c object key into a content directory as a function of valutes stored in a virtual directory;
associating the object key with a channel; and
displaying the channel on the user interface.
The method according to claim 1, wherein storing the object key includes updating an index to reflect storage of the object key, wherein updating an index includes placing a search meta file associated with the published content in the index;
The method a:cording to claim 2, wherein updating an index further mcludes broadcasting the search meta file to other available servers.
The method according to claim 1, wherein associating the object key with a channel includes:
creating a messenger, wherein a messenger is an automated process which alerts a user when an event c c curs;
generating a messenger object key for the messenger;
storing the messenger object key to a repository; and
associating the messenger with the published content; and
wherein the method further includes scheduling the messenger to execute at a predetermined time and displaying a message regarding execution of the messenger on the user interface.
The method according to claim 4, wherein displaying a message inc udes sending an e-mail message to the user interface..
The method according to claim 4, wherein displaying a message inc udes displaying a

headline associated with the published content on the user interface.
7. The method according to claim 6, wherein displaying a headline includes displaying a
navigation area temp. ate.
The method a:cording to claim 7, wherein the navigation area template is created by an administrator and ; s selected by the user.
The method according to claim 1, wherein identifying data to be published as published content inc udes providing an information source, generating aseport within the information source and storing the report in a location and wherein sending a request to the server identifying the data to the server includes identifying the location where the report was stored.
The method according to claim 9, wherein associating the object key with-a channel includes:
creating a messenger, wherein a messenger is an automated process which alerts a user when an event occurs;
generating a pressenger object key for the messenger;
storing the messenger object key to a repository; and
associating the messenger with the published content; and
wherein the method further includes scheduling the messenger to execute at a predetermined time, i splaying a message regarding execution of the messeager on the user interface and accessing the report via the messenger.
11. A system for presenting data from a plurality of information sources to a user,
comprising:
a user interfact, wherein the user interface selects data from one or more of the plurality of information sources to be identified as published content and issues content requests to access data identified as published content;
content storage wherein the content storage stores published content; and
a server connected to the user interface and the content storage, wherein the server

manages the content requests received from the user interface, wherein the server includes a repository and a conteni directory, wherein the repository manages a virtual directory structure associated with published content and wherein the content directory maintains a content directory structure pointing to all published content stored in the cenlenl storage;
wherein the content directory structure is referenced by the virtual directory structure in the repository.
12. The system according to claim 11, wherein the repository manages the virtual
directory structure in terms of folders, messenger and channels;
wherein folders contain pointers to published content;
wherein messengers are automated processes which alert a user when an event occurs; and
wherein chaajiels are a logical organization of information grouped by a particular subject.
The system according to claim 12, wherein the server includes a sclieduler which monitors and schedihs processing of messengers.
The system ac:ording to claim 12, wherein the server manages content requests as a multi-threaded Java servlet.
The system according to claim 11, wherein the repository includes a security mechanism for restric ing access, based on permissions, by a user to content stored in the content server.
The system according to claim 14, wherein the repository is stored within a relational database.
The system atx ording to claim 11, wherein content requested by the user is displayed as new^spages and wherein the server includes a scheduler for scheduling generation of the newspages.
The system according to claim 11, wherein the server includes a search engine and

wherein the user in surface includes means for accessing content via the seach engine.
The system according to claim 18, wherein the content storage includes storage for a pointer file, wherei the pointer file points at data files stored on remote data storage devices.
A Web port a into business intelligence, comprising:
a plurality of business information sources, including a data warehouse and an on-line transaction processing system;
a user interface, wherein the user interface includes a Web browser, means for publishing data from the data warehouse and from the on-line transaction processing system as published content, means for identifying the data published and means for issuing a content request to acess a document stored as published content;
content storage, wherein the content storage stores the published content; and
a server conncted to the user interface and the content storage, wherein the server manages the content request received from the user interface, wherein the server includes a repository and a cortent directory, wherein the repository contains a virtual directory structure associated v/ith the published content and wherein the content d rectory contains a content directory structure pointing to all published content stored in the concntent storage;
wherein the sever retrieves the document as a function of the concef request by indirectly addressing the content directory structure through the virtual directory structure stored in the repository and
wherein the server transforms the retrieved document into a document which can be displayed on the Web browser and transfers the transformed document to the user interface.
The portal according to claim 20, wherein the means for identifying the data published includes means for displaying, on the user interface, a headline associatec with the published content.
The portal according to claim 21, wherein the means for issuing a content request includes means for clking on the headline.
The portal are ording to claim 20, wherein the data warehouse includes an agent, wherein the agent executes at a first predefined time to generate a report, and wherein the

server includes a messenger, wherein the messenger is associated with tht; irport and wherein the messenger executes at a second predefined time to remind a user to rev ew the report.

Documents:

in-pct-2001-1159-che-abstract.pdf

in-pct-2001-1159-che-assignement.pdf

in-pct-2001-1159-che-claims filed.pdf

in-pct-2001-1159-che-claims granted.pdf

in-pct-2001-1159-che-correspondnece-others.pdf

in-pct-2001-1159-che-correspondnece-po.pdf

in-pct-2001-1159-che-description(complete)filed.pdf

in-pct-2001-1159-che-description(complete)granted.pdf

in-pct-2001-1159-che-drawings.pdf

in-pct-2001-1159-che-form 1.pdf

in-pct-2001-1159-che-form 26.pdf

in-pct-2001-1159-che-form 3.pdf

in-pct-2001-1159-che-form 5.pdf

in-pct-2001-1159-che-form 6.pdf

in-pct-2001-1159-che-pct.pdf


Patent Number 211177
Indian Patent Application Number IN/PCT/2001/1159/CHE
PG Journal Number 50/2007
Publication Date 14-Dec-2007
Grant Date 17-Oct-2007
Date of Filing 16-Aug-2001
Name of Patentee COMPUTER ASSOCIATES THINK, INC
Applicant Address One Computer Associates Plaza, Islandia, NEW YORK 11749
Inventors:
# Inventor's Name Inventor's Address
1 SCHULTZ, Thomas, W 4900 Prescott Circle Edina, MN 55436
2 BRADLEY, Mark, C 5624 West 136th Street Savage, MN 55378
3 HALMRAST, Ted, C. 7350 Bristol Village Drive, #318 Bloomington, MN 55438
4 PETERSON, Thomas, Y. 15038 Iron Hub Road Aitkin, MN 56431
PCT International Classification Number G06F 17/30
PCT International Application Number PCT/US00/01498
PCT International Filing date 2000-01-20
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 09/233,870 1999-01-20 U.S.A.