US Patent 6,671,696: Informational object authoring and distribution system (Pardalis Inc.)
Thursday, July 3, 2008 at 2:41AM
Steve Holcombe

Title: Informational object authoring and distribution system
Patent Number: US Patent 6,671,696
Issued: December 30, 2003
Filed: August 20, 2001
Parent case: n/a
Inventor(s): Steven L. Holcombe & Marvin L. Stone
Assignee: Pardalis, Inc.
Referenced at issuance: US Patent 5,511,197 (Microsoft Corporation) Φ, US Patent 5,724,588 (Microsoft Corporation) Φ, US Patent 6,438,560 (IBM Corporation) Φ, and US Patent 6,493,719 (Microsoft Corporation) Φ.
Referenced after issuance: US Patent 7,225,302 (SAP AG)
Blogger comment:

There were 7 references to prior patents at issuance, including US Patent 5,511,197 (Microsoft Corporation), US Patent 5,724,588 (Microsoft Corporation), US Patent 6,438,560 (IBM Corporation), and US Patent 6,493,719 (Microsoft Corporation). The remaining 3 references are unremarkable for the scope and purposes of this blog.

An advanced search at USPTO online on June 30, 2008 for distinguishing references to this patent after its issuance using ref/6,671,696 reveals 1 reference: US Patent 7,225,302 (SAP AG).

Furthermore, US Patent 6,671,696 has been subsequently distinguished from US Patent 5,220,657 (Xerox Corporation) Φ by the Australian patent examiners in Australian Patent 2002323103, a foreign filing of US Patent 6,671,696.

[EDITOR'S UPDATE 14 Feb 2013: For more information on US Patent 6,671,696, see The Roots of Common Point Authoring (CPA) published elsewhere at this blog site.] 

Abstract:

A typical immutable informational object and its contents that are authored, distributed and maintained by the present informational object authoring and distribution system comprise a unique identifier that designates the informational object, as well as one or more immutable data elements, each of which itself is identified by a corresponding unique identifier. The informational object may also contain other data, such as formatting data, permissions data, security data and the like. The data elements that are associated with a particular informational object are typically stored in a separate file system from the informational object, and are linked via the use of pointers, which comprise the data element unique identifiers.

Independent claims (as numbered):

1. An information authoring and distribution system for generating information objects, each of which contains a set of immutable data, comprising: first means for maintaining in a read-only mode, a plurality of immutable data elements, each of which is identified by a unique identifier; second means for maintaining in a read-only mode, a set of data that defines an informational object, said set of data comprising a plurality of said unique identifiers that correspond to a selected set of said plurality of data elements; means for enabling an authorized authoring member to create data comprising at least one of a draft data element and a draft informational object; means for authenticating said at least one of a draft data element and a draft informational object created by said authorized authoring member; means for converting said authenticated at least one of a draft data element and a draft informational object created by said authorized authoring member to a corresponding immutable at least one of a data element and an informational object; means for writing said created immutable at least one of a data element and an informational object into a memory for use by said first and said second means for maintaining.

12. A method for generating information objects, each of which contains a set of immutable data, comprising the steps of: maintaining in a read-only mode, a plurality of immutable data elements, each of which is identified by a unique identifier; maintaining in a read-only mode, a set of data that defines an informational object, said set of data comprising a plurality of said unique identifiers that correspond to a selected set of said plurality of data elements; enabling an authorized authoring member to create data comprising at least one of a draft data element and a draft informational object; authenticating said at least one of a draft data element and a draft informational object created by said authorized authoring member; converting said authenticated at least one of a draft data element and a draft informational object created by said authorized authoring member to a corresponding immutable at least one of a data element and an informational object; writing said created immutable at least one of a data element and an informational object into a memory for use by said first and said second means for maintaining.

23. An information authoring and distribution system for generating information objects, each of which contains a set of immutable data, comprising: data element database means for maintaining in a read-only mode, a plurality of immutable data elements, each of which is identified by a unique identifier; informational object database means for maintaining in a read-only mode, a set of data that defines an informational object, said set of data comprising a plurality of said unique identifiers that correspond to a selected set of said plurality of data elements; authoring client server means for enabling an authorized authoring member to create data comprising at least one of a draft data element and a draft informational object; authoring server means for converting said at least one of a draft data element and a draft informational object created by said authorized authoring member to a corresponding at least one of a data element and an informational object; database management means for writing said created at least one of a data element and an informational object into a corresponding one of said data element database means and said informational object database means.

Key Drawing(s):

Terminal Equipment and Communications Environment

FIGS. 1A & 1B illustrate in block diagram form the overall architecture of the informational object authoring and distribution system 10 and a typical environment in which it is operational. The members are typically equipped with one or more of a personal computer T1, T2, hand held computing device (not shown), cellular communication device T3, wireless computer device T4, or other data interface device, collectively termed "terminal equipment" herein. The data communication connection between the member's terminal equipment T1 and the present informational object authoring and distribution system 10 can be via the Internet 103, using the well known personal computer modem and Internet browser technology available at the member's terminal equipment T1. The member's terminal equipment is generally served by the Public Switched Telephone Network (PSTN) which consists of a plurality of Local Exchange Systems 101, 102 interconnected via an Inter-Exchange Carrier Network 100. The physical connection that supports this data communication connection is typically effected from member's terminal equipment T1 through the Local Exchange System 102 of the Public Switched Telephone Network (PSTN) via a data communication medium (such as the Internet), termed IP Network 103 herein, to an Internet Service Provider 112 which is also connected thereto. The Internet 103 is also connected to a Local Exchange System 101 via Internet Service Provider 111 that serves the gateway 122 of the informational object authoring and distribution system 10. Alternatively, the member's terminal equipment, in the case of cellular communication device T3, or wireless computer device T4, is connected via the Mobile Telecommunications Switching Office (MTSO) 104 to the Public Switched Telephone Network (PSTN).

2093760-1700737-thumbnail.jpg
Figs. 1 & 2 [original image modified
for size and/or readability]
The informational object authoring and distribution system 10 is connected to at least one data communication medium 103 (such as the Internet) to thereby enable members to obtain data communication connections with the informational object authoring and distribution system 10, as described in more detail below.

In addition, other computer systems, such as Advertiser WEB Site Server 130 can be served by the informational object authoring and distribution system 10. The advertiser WEB site server system typically comprises a firewall gateway 132, a server 131, terminal device(s) 133 and a mass storage device represented here as an advertising database 134. Such a system can be used to create advertisement materials for use in conjunction with the informational object authoring and distribution system 10 and to be provided to members who are linked to the advertiser WEB site system by the operation of the informational object authoring and distribution system 10 as described below.

The resources illustrated herein are selected for the purpose of illustrating the concept of the informational object authoring and distribution system 10 and are not intended to limit the applicability of this concept to other network implementations or system configurations.

Architecture of the Informational Object Authoring and Distribution System

Informational object authoring and distribution system 10 consists of a server 121 which is connected to the Internet 103 via a gateway 122 that comprises the firewall which protects the informational object authoring and distribution system 10 from unauthorized access and also implements the functionality to communicate with Internet Service Provider 111. The informational object authoring and distribution system 10 includes a plurality of databases, as described below. These databases include, but are not limited to: member database 123, registered data element database 124, registered informational object database 125, registered advertisement database 126, tracking/billing database 127, advertising association database 128, and software database 129. The databases noted herein are delimited by function for the purpose of simplifying the description of the informational object authoring and distribution system 10, but these databases can be implemented in a single physical database or a lesser or greater number of databases than is shown herein. Such selections are simply a matter of engineering choice and do not relate to the concepts disclosed herein. Similarly, a single server 121 is illustrated herein, executing a plurality of software modules: authentication server 141, tracking/billing server 142, authoring server 143, member accessing server 144, advertising server 145, but multiple servers can be used to perform this task. Thus, the informational object authoring and distribution system 10 disclosed herein represents one of many possible implementations to provide the described functionality to the designated recipients.

Informational Object and Data Elements 

2093760-1666391-thumbnail.jpg
Fig. 2 [original image modified
for size and/or readability]
FIG. 2 illustrates a typical informational object and its contents that can be authored, distributed and maintained by the present informational object authoring and distribution system. In particular, the informational object 200 comprises a unique identifier 201 that designates the informational object 200, as well as a plurality of data elements 211-216, each of which itself is identified by a corresponding unique identifier 221-226. The informational object 200 can also contain other data 202, such as formatting data, permissions data, and the like as described herein. The data elements 211-216 that are associated with a particular informational object 200 are typically stored in a separate file system from the informational object 200, and are linked via the use of pointers, which comprise the data element unique identifiers 221-226.

Member Enrollment Process

2093760-1718728-thumbnail.jpg
Fig. 3 [original image modified
for size and/or readability]
FIG. 3 illustrates in flow diagram form the operation of the member enrollment process of the present informational object authoring and distribution system 10 ....

At step 304, the prospective member provides the requested information by completing the data entry fields of the enrollment and agreement form and transmitting the completed form to the informational object authoring and distribution system 10. At step 305, the informational object authoring and distribution system 10 generates a unique enrollment number to identify and distinguish this prospective member from all other members, including members with duplicative or identical names, and checks at step 306 whether the enrollment and agreement form has been properly completed. If not, the processing branches to step 307 where an appropriate error message is returned to the prospective member indicating the improper form completion and noting that any enrollment fees will be returned if the enrollment process is terminated at this juncture, since enrollment has not been effected. If the enrollment form is correctly completed, processing advances to step 308 where, using the processes illustrated in FIG. 4, the prospective member's name and unique enrollment number are entered into the membership database 123 ....

If the processes illustrated in FIG. 4 reject the prospective member's name, processing returns to step 307 where an appropriate error message is returned to the prospective member indicating the violation of a quality standard and noting that any enrollment fees will be returned if the enrollment process is terminated at this juncture, since enrollment has not been effected. If the prospective member's name is acceptable, at step 309 the informational object authoring and distribution system 10 approves the enrollment and agreement form and assigns a user name and password to this new member to enable future access of the informational object authoring and distribution system 10. At step 310, the informational object authoring and distribution system 10 deposits all of the enrollment data that was entered by the member on the enrollment and agreement form, and makes an initial entry of good standing, into the membership database 123. An invoice is generated for the tracking/billing database 127 to debit the member for the enrollment fee. Failure of a member to timely pay for invoices, debits, usage fees, membership dues and other charges associated with membership in the informational object authoring and distribution system 10 results in the striking of the entry of good standing in the membership database 123.

At step 311, the informational object authoring and distribution system 10 transmits a notification of good standing to the member of a successful enrollment and delivers the user name and password, generated at step 309, to the member. In addition, the informational object authoring and distribution system 10 downloads the software modules from the software database 129 to the member terminal device T1 that are necessary to enable the member to perform the tasks for which they have subscribed. As described below, there are a number of software modules, including but not limited to: member client software, authoring client software, advertiser client software. Each of these modules corresponds to a basic function for which the member is enabled. The enrollment process then exits at step 312.

Data Element Creation Process

FIG. 4 illustrates in flow diagram form the operation of the data element creation process of the present informational object authoring and distribution system 10 ....

2093760-1699534-thumbnail.jpg
Fig. 4 [original image modified
for size and/or readability]
At step 402, a member, in the process of creating a data element at step 512, uses the authoring client software module executing on the terminal device T1 to identify and choose the category of data element and submits the proposed content for this data element. At step 402, a prospective member, in the process of creating a member's name as a pre-defined data element at step 308, is permitted by the authentication server 141 only to identify and chose a specific category for that of a member name. In either case, the category information indicates which of the various data entry fields shown in FIG. 2 is selected for placement of this particular draft data element. There are typically differences among these data entry fields and the review and certification process executed by the informational object authoring and distribution system 10 relates the proposed draft data element to all other data elements of this category stored in the system database.

Therefore, at step 403, the authoring server 143 of the informational object authoring and distribution system 10 reviews the draft data element to determine whether the language contained therein is in approved format and content, using a content parsing review process to compare the language of the draft data element with a dictionary of approved terms. In addition, where the selected category accepts image data, the image data is reviewed for content and coding where appropriate. The format is similarly checked to ensure that adequate and thorough information is provided. If the content check discerns any flaws in the draft data element, at step 406 a message is returned to the member rejecting the draft data element, with appropriate notation relating to the reason for rejection. At step 404, if the draft data element is approved, the content is reviewed to determine whether the data element content corresponds to a member name. If so, processing branches to step 410 where the member name data element creation process subroutine is activated. This subroutine creates a standard immutable data element that comprises the member name for use in creating one or more informational objects, since the member's name appears on each informational object that the author creates. At step 411, the prospective member enters the unique enrollment number assigned at step 305, and at step 412 the informational object authoring and distribution system 10 assigns the unique enrollment number as an identifier to the prospective member's name data element. At step 413, the prospective member's name and registered data element identifier are permanently added to the membership database 123, the subroutine ends and processing exits at Step 414.

At step 404, if the draft data element is not a member name, processing advances to step 405 where the draft data element is compared by the authoring server 143 with all previously registered data elements of this category to ensure that the draft data element is not duplicative of a prior data element. If duplication is determined, at step 406 a message is returned to the member rejecting the draft data element, with appropriate notation relating to the reason for rejection. Otherwise, at step 407 the authoring server 143 of the informational object authoring and distribution system 10 generates a unique registered data element identifier and assigns this to the draft data element and at step 408, the informational object authoring and distribution system 10 translates the data element into other languages and appends a language identifier to each translation of the data element. Processing then advances to step 409 where this newly created data element is permanently added to the registered data element database 124, along with its corresponding unique identifier. This process then exits at step 414.

Informational Object Creation Process

FIG. 5 illustrates in flow diagram form the operation of the informational object creation process of the present informational object authoring and distribution system 10 ....

2093760-1699546-thumbnail.jpg
Fig. 5 [original image modified
for size and/or readability]
If the member is in good standing, the informational object authoring and distribution system 10 certifies the member as an "author" for this process and advances to step 505 where the authoring client software module executing on the member's terminal device T1 is checked to identify the version of the software so that the authoring session executing of the informational object authoring and distribution system 10 can be compatible with the member's software. At step 506 the member initiates the authoring process for an informational object by creating an unregistered or draft informational object. At step 507, the authoring server 143 of the informational object authoring and distribution system 10 inserts various basic information into the unregistered informational object, such as a name freelanced by the member and an identifier of the software version used to create the informational object. The member at step 508 identifies the various formats available for use with this informational object, so various members who retrieve the informational object receive it formatted for their use, which formats are referred to as Document Versions ....  At step 509, the member must select their name by selecting a data element from the membership database 123 that corresponds to a previously stored data element whose content is the member's name. The authoring server 143 at step 510 enables the member to set permissions for access to the informational object as well as for ancillary services associated with the informational object. At step 511, these data elements selected in steps 509-510 are written into the informational object, at step 512 the member may create additional data elements using the process of FIG. 4, and at steps 513-514, the member must use previously created data elements found in the Registered Data Element Database 124 for insertion into the informational object.

At step 515, the tracking/billing server 142 of the informational object authoring and distribution system 10 calculates any fees that are due and enters this information into the tracking/billing database 127. The member determines at step 516 whether all of the necessary data elements have been inserted into the informational object. If not, processing returns to step 512 for such insertion. If all the necessary data elements have been provided, processing advances to step 517 where the member sets the permissions for this unregistered informational object and then transmits the unregistered informational object at step 518 for registration so this unregistered informational object can be processed to become a registered informational object, and the process exits at step 519.

Informational Object Registration Process

2093760-1699516-thumbnail.jpg
Fig. 6 [original image modified
for size and/or readability]
FIG. 6 illustrates in flow diagram form the operation of the informational object registration process of the present informational object authoring and distribution system 10. At step 601, the unregistered informational object created using the process described with respect to FIG. 5, is submitted to the informational object authoring and distribution system 10 for registration. At step 602, the authoring server 143 checks the unregistered informational object for proper content, format and permissions. If the content and format are proper, at step 603 the authoring server 143 of the informational object authoring and distribution system 10 generates a unique informational object identification and substitutes this for the filename created by the member. At step 604, the authoring server 143 of the informational object authoring and distribution system 10 date and time stamps the informational object to complete the registration process and stores the registered informational object in immutable form in the informational object database 125 at step 605. At step 606, the informational object authoring and distribution system 10 updates the tracking/billing database 127 to debit the member's account for the cost of registering this informational object. This process exits at step 607.

Article originally appeared on The @WholeChainCom Blog (http://www.pardalis.com/).
See website for complete article licensing information.