throbber
US007356771B2
`
`a2) United States Patent
`US 7,356,771 B2
`(10) Patent No.:
`
` Paulet al. (45) Date of Patent: Apr.8, 2008
`
`
`(54) ADAPTIVE CONTENT PLATFORM AND
`METHOD OF USING SAME
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`seccceccessee 707/10
`6/2002 Stempet al.
`6,401,094 B1*
`Inventors: GaryZakonLecingtonMA(US)
`(75)
`6,816,904 B1* 11/2004 Ludwig et al... 709/226
`43) Assionce: O
`Ww: hth
`MA ,
`2002/0083124 AL*
`6/2002 Knox et al. vccsccccsscees 709/203
`(73)
`Assignee:
`Openpages, Waltham,
`(US)
`
`(*) Notice:—Subjectto any disclaimer, the term ofthis 2002/0152286 Al* 10/2002 Peddu et al. «0... 709/219
`patent is extended or adjusted under 35
`2003/0023953 AL*
`1/2003 Lucassen et al. sess 717/106
`USC. 154(b) by 602 days.
`2003/0046201 AL*
`3/2003 Cheyer veces 705/35
`(21) Appl. No.: 10/256,613
`2003/0105644 AL*
`6/2003 Alii et al. cesses 705/1

`2003/0222906 AL* 12/2003 Fishet al. ccccccsees 345/744
`Sep. 26, 2002
`2006/0074727 AL*
`4/2006 Briere osc 705/8
`
`Filed:
`
`(22)
`
`(65)
`
`Prior Publication Data
`
`US 2004/0010796 Al
`
`.
`Po
`cited by examiner
`Primary Examiner—William Thomson
`Related U.S. Application Data
`(60) Provisional application No. 60/394,441, filed on Jul.—488is¢ant Examiner—Charles E Anya oo,
`
`9, 2002.
`(74) Attorney, Agent, or Firm—Wilmer Cutler Pickering
`Hale & Dorr LLP
`
`Jan. 15, 2004
`
`(51)
`
`Int. Cl.
`(2006.01)
`GO6F 3/00
`(2006.01)
`GO06F 7/00
`(2006.01)
`GO6F 9/44
`(52) US. Che vecccsscesseeeeeeeeee 715/744: 707/3; 715/762;
`;
`; 717/100
`719/311
`(58) Field of Classification Search
`719/328-332, 318; 709/201-207, 217-219;
`707/110, 102, 201-206; 715/501.1, 733,
`715/734, 738, 740-753, 513, 762, 763; 726/1-21,
`726/27-30; 705/19; 717/100-105
`See application file for complete search history.
`
`(57)
`
`ABSTRACT
`
`Anadaptive content platform includes one or more content-
`enabled, dependent applications, each of which includes a
`user interface and business logic. A services layer, which is
`interfaced with the dependent applications and a software
`infrastructure, provides one or moreservices that are usable
`by the dependent applications.
`
`146 Claims, 8 Drawing Sheets
`
`00
`
`providing one or more content-enabled,
`dependantapplications, each of which includes
`a user interface and business logic
`
`providing a services layer, which is interfaced
`with the one or more content-enabkd
`dependant applications and provides one or
`more services that are usable by the content-
`enabled, dependant applications.
`
`interfacing the services layer with a software
`infrastructure
`
`one ot more databases
`
`interfacing a data layer with the sofware
`infrastructure, wherein the data layer mcludes
`
`Google Exhibit 1040
`Google v. VirtaMove
`
`Google Exhibit 1040
`Google v. VirtaMove
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 1 of 8
`
`US 7,356,771 B2
`
`8e
`
`Ov
`
`sJEMIJOS Jahe|
`
`+P
`
`yuepuscdepul
`
`uojeaydde
`
`
`
`eoeUeyulJesn
`
`
`
`olBo]sssuisng
`
`|sovues
`
`Z8dlAles
`
`or
`
`J@SMOlgGem
`
`
`
`JAP]JOAIBSGoM
`
`uoyeodde
`
`uoneoldde
`
`juepuedap
`
`Otvbch
`
`quepuedsp
`
`juepuedep
`
`uojeojdde
`
`
`
`SoeVoyurJesn
`
`
`
`alboyssaulsng
`
`gl
`
`0z
`
`ve
`
`Zeoe8%|sa1nes
`
`€BOIAIOS
`
`SedlAles
`
`
`
`Jae]eyep
`
`1aA2e|SO
`
`|“Bld
`
`SINJONMYSCILU!
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 2 of 8
`
`US 7,356,771 B2
`
`
`
`Alousoda suonesidde
`BolasUdJeasaolas
`
`
`
`dnoi6juswebeuew}Ue}U00
`
`
`yuepuedep0}
`
`Z‘bd
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 3 of 8
`
`US 7,356,771 B2
`
`Jasn suoneoydde
`QdlAJesUOeoyjOUBDIAIaSBdIAIOSMOUYYIOM
`
`
`
`
`
`juepuadapo}
`
`jusweBbeuew
`
`
`
`pues}usAeuoeojusyNepue
`
`
`
`dnoi6uonesogeljoopueMOYOM
`
`€‘Bly
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 4 of 8
`
`US 7,356,771 B2
`
`
`
`suoneoiddejuepusdep0}
`
`
`
`
`
`uones6ajuldopsepBurjpueyjus}Uu09
`
`
`BlaseovuesWodu!BOIAIOS
`
`
`
`dnoJ6uonedsojU9]U09Jepow-njnw
`
`pueuolewojsue.y
`
`p‘Big
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 5 of 8
`
`US 7,356,771 B2
`
`oe}s suoneaydde
`
`
`aolesBurysigndSOIAIaS
`
`dnoi6juswAo|dapjauueyo-)jnuw
`
`
`aiueuApBuiysijqnd
`
`juepuedapo}
`
`g‘bid
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 6 of 8
`
`US 7,356,771 B2
`
`‘zoe
`
`POE
`
`OLe
`
`9“bid
`
`/
`
`
`
`sake]Sed|AJOsS
`
`juepuadap
`
`uojeojdde
`
`uoneondde|<yuepuedep
`
`oO
`
`o
`oy
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 7 of 8
`
`US 7,356,771 B2
`
`
`
`eSursnsuonestddeyuepusdapwiaisya
`
`
`
`
`
`
`
`ay)Ysnompayeaolaresaytoadssisenbor
`
`
`
`
`
`
`
`0}pawissesovpiojurSunuuvsBoiduoyeoydde
`
`
`
`
`
`
`
`QOIAIOSIBY)
`
`
`
`ZBly
`
`
`
`yom®WIMsadtaapSurNdur0opuodaspueisIT]al]SurjIaUMOIIJUI
`
`
`
`
`
`ase
`
`SAaSEQEIEPSIOJO90
`
`
`
`
`
`
`
`dorunueisoidvoteatyddeanbrunesuusisse
`
`
`
`‘SQOTAIASOIOUIIO9UOSY}JOYoRs0}odeIAWUT
`
`
`
`SOPHOI9AR]IEPsy]Waray‘aImONseIU
`
`
`
`
`
`9SE
`
`
`
`
`
`BIUMFOSIY}TIMISAL]eyepwBuroepiayu
`
`
`
`
`
`-juaquosayyAqatqesnareIVY}sad1Atas
`
`
`
`
`
`suotjeorddeyuepusdap‘payqeua
`
`
`
`SIOULIOsuoseptaoldDARTSadTAIASat]WloJeyM
`
`
`
`
`
`
`
`‘SINPTUISEITMaIVMypos&puesucyeordde
`
`
`
`OIZO]ssoutsng
`
`SE
`
`ALOSUUIAPOOKJIOIUTSTYTJaAv]soolAIase‘soraap
`
`
`SuyndiossjOurd1eWO“SimjnoaxKa
`
`
`
`‘suoneatiddeyuepuodap“payqeus-jusyu0ss10ur
`
`
`
`Ioduo‘aolAapBuyndiuospeso]eUO“sUyNDaxa
`
`yuepuadappayqeis-juayWO09sIOTWJO
`
`
`
`
`pleJ0RpJayUIJosn&sapNjouryoryMJoyoes
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 8, 2008
`
`Sheet 8 of 8
`
`US 7,356,771 B2
`
`
`
`P2IdBpIOPSTYOM“IOAT]SAdTAIaseBSuIpLaoid
`
`
`
`PAQeUd-JUI]U0dSIOU!JOSUOY}TIA
`
`
`
`
`
`Iouosapraoidpuesuoneoyddeyuepuadap
`
`
`
`-JU9}U09ayyAQa|qESNareyLY]SITAIAsSaIOUL
`
`
`
`
`
`
`
`
`
`‘suoneortddeyuepuadap‘payqeua
`
`
`
`
`
`STEMIOS&UNAIAP]SOOTAIASBU}BuTOepIIIUI
`
`dINjONLseIyUT
`
`
`
`SIEMJOSayyTIMJsAey]VyepevSuyepIoNN
`
`
`
`sopnyout1aAe]eLEpay}Waray‘oanjonyseryut
`
`
`
`
`
`SASEQEIEPS1010uO
`
`gBig
`
`
`
`
`
`d1BO]SsauisnqpuredoejJayUIIssnB
`
`
`
`
`
`
`
`
`
`SapnypoulYornJoyova‘suoyeorddeyuepusdep
`
`
`
`‘parqeua-jua}uoOsalow!JoauSurpraoid
`
`°o
`
`Ot
`
`
`

`

`US 7,356,771 B2
`
`1
`ADAPTIVE CONTENT PLATFORM AND
`METHOD OF USING SAME
`
`RELATED APPLICATIONS
`
`This application claims the priority of: U.S. Provisional
`Patent Application No. 60/394,441, entitled “Adaptive Con-
`tent Platform”, and filed on Jul. 9, 2002.
`
`BACKGROUND
`
`This invention relates to software development, and more
`particularly to software developmentplatforms.
`For a suite of applications developed for a common
`software platform (e.g., an application server platform), each
`application within the suite typically includes a group of
`services (e.g., content management services, workflowser-
`vices, publishing services, search and query services) that
`are common amongst the applications in the suite.
`Asthe software platform does not allow the services of
`one application to be shared by another, these services must
`be coded for and included in each application written for the
`software platform, even though multiple applications use
`commonservices.
`
`SUMMARY
`
`According to an aspect of this invention, an adaptive
`content platform includes one or more content-enabled,
`dependent applications (thus forming an application layer),
`each of which includes a user interface and business logic.
`A services layer, which is interfaced with the content-
`enabled dependentapplications and a software infrastructure
`(e.g., an application server), provides one or more services
`that are usable by the content-enabled, dependent applica-
`tions.
`
`One or more of the following features may be included.
`The services layer includes a unique application program-
`ming interface for each of the one or moreservices, such that
`dependent applications using a specific service make
`requests through the application programming interface
`assigned to that service.
`The services include a content managementservice (for
`storing and managing files), which includes: a repository
`service for storing files; and a search service for allowing
`users to search files stored by the repository service, for
`example.
`The services also include a workflow and collaboration
`
`service (for managing projects and users), which includes: a
`workflow service for managing the workflow of files; a user
`management and authentication service for managing the
`users and user groups; and an events and notification service
`for managing and broadcasting notifications to the users that
`were generated by the services, for example.
`Additionally, the services include a multi-modal content
`creation service (for manual creation and automated impor-
`tation and conversion offiles), which includes: a transfor-
`mation and content handling service for converting the
`formats of files; a desktop integration service for manual
`contribution of content; and an import servicefor facilitating
`file importation from external systems, for example.
`The services further include a multi-channel deployment
`service (for publishing files to one or more publishing
`channels), which includes: a publishing service for publish-
`ing files to one or more publishing channels (such as a web
`site, an email broadcast, a wireless broadcast, a syndication
`
`10
`
`15
`
`20
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`stream, or a printed publication, for example); a dynamic
`publishing service; and a static publishing service,
`for
`example.
`A data layer is interfaced with the software infrastructure,
`such that the data layer includes one or more databases.
`The above-described adaptive content platform may be
`implemented in a distributed computing system, in that a
`first
`(or local) computing device executes the content-
`enabled, dependent applications, and a second (or remote)
`computing device executes the services layer. This second
`computer may be a web server.
`In a distributed computing system, the first and second
`computing devices are interconnected by a network, such as
`a local area network,
`the Internet, or an intranet,
`for
`example.
`The above-described adaptive content platform and dis-
`tributed computing system may be implemented as a method
`or a sequence of instructions executed by a processor.
`One or more advantages can be provided from the above.
`By providing the programmer with a commonset of reus-
`able services, applications are no longer required to include
`stand-alone services. Since these applications are not
`required to include services, application development
`is
`significantly accelerated and deploymentis simplified. Addi-
`tionally, by using a commonset of services, compatibility
`issues are minimized. Further, as applications share a com-
`monset of services, application size is reduced. In addition,
`by separating an application’s services from the applica-
`tion’s business logic/user interface, distributed computingis
`possible, leading to superior scalability and availability.
`The details of one or more embodiments of the invention
`are set forth in the accompanying drawings and the descrip-
`tion below. Other features, objects, and advantages of the
`invention will be apparent from the description and draw-
`ings, and from the claims.
`
`DESCRIPTION OF DRAWINGS
`
`FIG. 1 is a block diagram of an adaptive content platform;
`FIG. 2 is a block diagram of a content management group
`of the adaptive content platform;
`FIG. 3 is a block diagram of a workflow and collaboration
`group of the adaptive content platform;
`FIG. 4 is a block diagram of a multi-modal content
`creation group of the adaptive content platform;
`FIG. 5 is a block diagram of a multi-channel deployment
`group of the adaptive content platform;
`FIG. 6 is a block diagram the adaptive content platform
`incorporated into a distributed computing system;
`FIG.7 is a flow chart of a distributed computing method;
`and
`
`FIG.8 is a flow chart of a multi-tier software development
`method.
`
`DETAILED DESCRIPTION
`
`Referring to FIG. 1, an adaptive content platform 10
`includes one or more dependent applications 12, 14, 16, each
`of which includes a user interface (e.g., user interface 18)
`and business logic (e.g., business logic 20). This group of
`dependent applications may be referred to as an application
`layer 22. Each user interface 18 allows a user of the
`dependent application to access and use the functionality of
`the dependent application. Business logic 20 performs the
`functions native to the dependent application. Note that
`while dependentapplications typically include some form of
`user interface, this is not required.
`
`

`

`US 7,356,771 B2
`
`3
`the dependent applications 12, 14, 16, are
`Typically,
`content-cnabled dependent applications, in that they manage
`and process content (e.g., documents, images, audio clips,
`video clips). Examples of content-enabled applications are
`web content management systems, shareholder and regula-
`tory reporting applications, corporate marketing and com-
`munications systems, newspaper publishing systems, and so
`forth. Content-enabled applications typically include a com-
`bination of content management, workflow management,
`and publishing capabilities.
`Adaptive content platform 10 is a multi-tiered software
`architecture that includes a services layer 24 for interfacing
`the application layer 22 and a software infrastructure 26
`(e.g., an application server). Examples of an application
`server are BEA Weblogic™, and IBM Websphere™, both of
`which implement the Java™ 2 Enterprise Edition standard
`(J2EE).
`Services layer 24 provides a group of services 28, 30, 32,
`which are available for use by dependent applications 12,
`14, 16. Examples of these services include content manage-
`mentservices, search services, and file conversion services,
`for example. These services, which will be discussed below
`in greater detail, are shared services common to the depen-
`dent applications; as opposed to each dependent applica-
`tion’s native functions, which are handled by the dependent
`application’s business logic.
`Dependent applications 12, 14, 16 maybe J2EE (“Java™
`2 Enterprise Edition”) compliant dependentapplications that
`adhere to v1.3 standards and are compatible with and run on
`a Java™ 2 Enterprise Edition application server.
`A data layer 34 is interfaced to the software infrastructure
`26, and provides data services for platform 10. Data layer 34
`may provide access to database servers 36, such as Oracle™,
`IBM DB2™, and Microsoft SQL Server™. Further, data
`layer 34 may provide access to file servers 38, such as
`Microsoft Windows 2000 Servers™, Microsoft Windows
`NT Servers™, and Unix Servers™. Additionally, data layer
`34 may allow access to legacy systems 40 (1.e., applications
`and data that have been inherited from languages, platforms,
`and techniques earlier than current technology).
`Data layer 34 is typically interfaced with an operating
`system (OS) layer 42, which includes the operating system
`that manages the above-described layers,
`infrastructures,
`and dependent applications. Examples of compatible oper-
`ating systems are Windows™,Solaris™, and Linux™.
`Typically, a web server layer 44 is interfaced with the
`application layer (i.e., dependent applications 12, 14, 16)
`and allows a user (not shown) to use and access the
`functionality of the individual dependent applications from
`with a web browser46 (e.g., Microsoft Internet Explorer™,
`Netscape Navigator™). Examples of web server layer 44 are
`Microsoft Internet Information Server™, and Apache web
`server™,
`
`By combining the user interface 18 and business logic 20
`of a dependent application 12 with one or more of the
`services 28, 30, 32 offered by the services layer 24, the
`functionality of a “stand-alone” independent application 48
`can be emulated without the application having to include
`dedicated services 50, 52, 54.
`Concerning the services 28, 30, 32, offered by services
`layer 24, these services can typically be loosely described as
`four groups of services, namely: content management;
`workflow and collaboration; multi-modal content creation;
`and multi-channel deployment, each of which will be dis-
`cussed below in greater detail.
`Referring to FIG. 2, the content management group 100,
`which stores and manages files and content used by the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`adaptive content platform, may include a repository service
`102 and a search service 104.
`
`Repository service 102 works in conjunction with the data
`layer (generally), and the database servers, the file servers,
`and the legacy systems(specifically) to store, organize, and
`managefiles and content (hereinafter “files”).
`Repository service 102 allows for the production, orga-
`nization, and management of numerous content types that
`definethe specific type offiles being produced and managed.
`Additionally, repository service 102 allows users/adminis-
`trators to define numerousproperty fields or meta-datafields
`(e.g., release date, revision number, production date, revi-
`sion date, and approval date, for example) that define and
`refine the files stored by the data layer. Access to thefiles
`managed by repository service 102 can be controlled by
`regulating the users who can view, check out, edit, print, and
`save a particular file, for example. Additionally, the data
`structure in whichthefiles are stored (e.g., the directory tree
`structure) is defined and controlled using repository service
`102. Typically, repository service 102 works in conjunction
`with a relational database, e.g., database 36 (FIG. 1), that is
`accessed through data layer 34 (FIG.1).
`The search service 104 allows a user to search thefiles
`
`stored by the repository service 102. Searches may be
`performedoneither file properties or content. If the files are
`stored in a structured database (as described above), search
`service 104 may be an SQL (“structured query language”)
`database query engine. Alternatively, if the files are stored as
`HTML or XML (“Extensible Markup Language”) based
`documents, search service 104 may use search engine tech-
`nology to generate a list of relevant documents.
`The dependent applications 12, 14, 16 (FIG. 1) described
`above may access each service offered by content manage-
`ment group 100 (e.g., repository service 102 and search
`service 104) by making the appropriate request of and
`establishing a connection through the API (“application
`programming interface’’) assignedto that particular service.
`For example, API 106 is assigned to repository service 102,
`and API 108 is assigned to search service 104. Therefore, if
`a user of a dependent application (e.g., dependent applica-
`tion 12, FIG. 1) wanted to execute a search for a particular
`file, dependent application 12 would make the appropriate
`request from API 108.
`Referring to FIG.3, the workflow and collaboration group
`150, which manages projects and users of the adaptive
`content platform, may include a workflow service 152, a
`user management and authentication service 154, and an
`events and notification service 156.
`The workflow service 152 allows the administrator or user
`
`to control the workflow offiles through the adaptive content
`platform. For example, if a file is produced for publishing
`purposes, that file might need to be approved by a midlevel
`manager prior to it being sent to an upper level manager.
`Further, the upper level manager might have to approve the
`file prior to it being published or otherwise disseminated.
`Therefore, workflow service 152 could mandate thatthe file
`be approved by a midlevel managerprior to it being sent to
`the higher level manager, who approvesit prior to publica-
`tion. Further, workflow service 152 may assign time limits
`for the completion of certain tasks, such as the midlevel or
`upper level review and approval process.
`The user management and authentication service 154
`provides a set of tools to the user/administrator that allows
`them to manage users and user groups. Individual users can
`be produced and deleted using user managementand authen-
`tication service 154. Further, the rights and privileges of
`these individual users also can be controlled and regulated.
`
`

`

`US 7,356,771 B2
`
`5
`these users can be assigned to, moved
`Additionally,
`between, and deleted from various users groups, which are
`also maintained using user management and authentication
`service 154. Further, as rights and privileges can be assigned
`to auser group, by adding an individualuserto a user group,
`the rights or privileges of an individual user can be effi-
`ciently defined.
`The events and notification service 156 allows for the
`delivery of notification events generated by the services
`offered by the applet service layer 24 (FIG. 1). These
`message can be delivered to individual users of the system,
`broadcast to entire user groups, or delivered to the various
`services offered by the applet service layer 24 (FIG.1).
`As above, the dependent applications 12, 14, 16 (FIG. 1)
`described above may access each service offered by work-
`flow and collaboration group 150 (e.g., workflow service
`152, user management and authentication service 154, and
`the events and notification service 156) by making the
`appropriate request of and establishing a connection through
`the API assignedto that particular service. Forthis particular
`group, API 158is assigned to the workflow service 152, API
`160 is assigned to the user management and authentication
`service 154, and API 162 is assigned to the events and
`notification service 156.
`
`the multi-modal content creation
`Referring to FIG. 4,
`group 200, which imports and convertsfiles for the adaptive
`content platform, may include a transformation and content
`handling service 202, an import service 204, and a desktop
`integration service 210.
`The transformation and content handling service 202
`provides file format conversion services, thus allowing the
`user to import files of various types and convert them over
`into a common format (e.g., XML and HTML). Converter
`templates are available for popular applications, such as
`Microsoft Word™, Microsoft Excel™, Adobe PDF™, and
`Microsoft PowerPoint™, for example.
`The import service 204 allows for automated import of
`files from external systems. Import service 204 is configured
`to monitor, on a periodic basis, the files located on a network
`drive, an FTP (“file transfer protocol”) site, and an HTTP
`site. When newfiles are detected on one of these sources, the
`files are automatically imported into the system. Further, if
`a format conversion is required, import service 204 will
`work in conjunction with transformation service 202 to
`import and convert the file.
`The desktop integration service 210 allows content to be
`contributed by users via standard desktop creation tools.
`These tools include the Microsoft Office™ suite, as well as
`Adobe™and Macromedia™ applications. The service uses
`the WEBDAVprotocol (WEB-basedDistributed Authoring
`and Versioning), which is an extension of the HTTPproto-
`col, to communicate with the desktop tools.
`As above, the dependent applications 12, 14, 16 (FIG. 1)
`described above may access each service offered by multi-
`modal content creation group 200 (e.g.,
`transformation
`service 202,
`import service 204, and desktop integration
`service 210) by making the appropriate request of and
`establishing a connection through the API assigned to that
`particular service. For this particular group, API 206 is
`assigned to the transformation service 202, API 208 is
`assigned to the import service 204, and API 212 is assigned
`to the desktop integration service 210.
`Referring to FIG. 5, the multi-channel deployment group
`250, which publishesfiles to one or more publishing chan-
`nels, may include a static publishing service 252, and a
`dynamic publishing service 254.
`
`30
`
`45
`
`6
`The static publishing service 252 allows for proactive
`publishing offiles based on predefined templates. Therefore,
`the structure and format of the file published (and the
`document produced) is defined ahead of time and is not
`varied depending on the content of the document. Addition-
`ally, the content itself is semi-dynamic, in that it changes
`periodically (e.g. a few times a week). An example ofstatic
`documents generated using a static publishing service is a
`newsroom home page of a corporate web site in which one
`hundred press releases are currently being displayed. The
`home page is a collection of one hundred summary links,
`and eachlink leadsto a press release detail page. A corporate
`communications officer can publish the homepage and the
`one hundred detail pages by invoking the static publishing
`service, which merges the appropriate press release content
`with the detail page template to generate HTML. By gen-
`erating the pages using static publishing, the communica-
`tions officer ensures that web site visitors have fast page
`retrieval, since the content is already in HTML format and
`does not need to be regenerated for every website visitor.
`The dynamic publishing service 254 allows for reactive
`publishing of files that are dynamically altered based on
`current conditions, user preferences, and query results, for
`example. In an online auction house that has one-hundred
`items for sale, a dynamic document may be created in
`response to a user query. For example, while one-hundred
`items may be offered, the user (an avid World War II buff)
`may only be interested in those items that relate to World
`WarII. Therefore, the user would enter their search criteria
`and a dynamic document would be generated that includes
`fourteen items, each of whichis related to World War II. This
`dynamically generated list, which itemizes the fourteen
`items, mayalso specify the starting bid, the current bid, and
`the auction ending time for each item. By generating this
`document with dynamic publishing services 254, documents
`can be generated that more accurately reflect current con-
`ditions.
`Regardless of whetherthe static publishing service 252 or
`dynamic publishing service 254 producethefile, the file can
`be published over various channels, such as: a web site; an
`email broadcast; a wireless broadcast; a syndication stream;
`and a printed publication, for example. The file can also be
`published in various formats, such as HTML, XML, and
`PDF, for example.
`For web site publishing, the file being published may be
`posted to a website so that the file is accessible by various
`users and guests. If security or access is a concern, thefile
`may be published on an intranet (which is not remotely
`accessible), or within a restricted access user section of a
`website.
`
`the file can be published as an
`For email broadcasts,
`attachment to an email that is sent out to a distributionlist
`
`of individual users. Alternatively, the file may be converted
`into a format (e.g., ASCII text, and HTML)that is easily
`incorporated into the body of an email.
`For wireless broadcasts, the file can be transmitted to
`users over a wireless network. This file may be text-based
`(such as an email attachmentsent to a wireless email device)
`or multimedia-based (such as a soundfile sent to a cellular
`telephone).
`For syndication streams, the file may be published on data
`streams that are text-based (such as streaming messages),
`audio-based (such as streaming audio), video-based (such as
`streaming video), or multimedia-based (such as streaming
`audio/video), for example.
`For printed publications, the file being published may be
`printed on traditional printing systems (laser printers) and
`
`

`

`US 7,356,771 B2
`
`7
`distributed using traditional distribution paths(e.g., interof-
`fice mail, courier, or the postal service, for example).
`As above, the dependent applications 12, 14, 16 (FIG. 1)
`described above access each service offered by multi-chan-
`nel deployment group 250 (e.g., static publishing service
`252, and dynamic publishing service 254) by making the
`appropriate request of and establishing a connection through
`the API assignedto that particular service. For this particular
`group, API 256 is assigned to the static publishing service
`252, and API 258 is assigned to the dynamic publishing
`service 254.
`
`Referring to FIG. 6, a distributed computing system 300
`is shown which incorporates the adaptive content platform
`described above. Distributed computing
`system 300
`includesa local(orfirst) computing device 302 that executes
`one or more content-enabled dependent applications 12, 14.
`As described above, each of the dependent applications
`includes business logic and a user interface (FIG. 1).
`A storage device 304 stores the individual instruction sets
`and subroutines of dependent applications 12, 14. Storage
`devices 304 may be a hard disk drive, a tape drive, an optical
`drive, a RAID array, a random access memory (RAM), or a
`read-only memory (ROM), for example. Local computing
`device 302 includesat least one processing unit (not shown)
`and main memory system (not shown).
`A remote (or second) computing device 306 (e.g., a web
`server) executes the services layer 24, as described above.
`Typically, services layer 24 is interfaced with a software
`infrastructure (not shown), which is interfaced with a data
`layer (not shown), which is interfaced with an OSlayer (not
`shown).
`A storage device 308 stores the individual instruction sets
`and subroutines of services layer 24 (and any additional
`required layers or infrastructure). Storage device 308 may be
`a hard disk drive, a tape drive, an optical drive, a RAID
`array, a random access memory (RAM), or a read-only
`memory (ROM), for example. Remote computing device
`306 includes at least one processing unit (not shown) and
`main memory system (not shown).
`Local computing device 302 and remote computing
`device 306 are interconnected with a network 310, such as
`a LAN (local area network), WAN (wide area network), the
`Internet, or an intranet, for example.
`While the above-described embodiment discusses the
`
`deployment of the services layer on a single second com-
`puter, other configurations are possible, such as those in
`whicheachservice, or a group of services, is deployed onits
`own dedicated computer.
`While the above-described embodimentdescribes a local
`and a remote computing device,this is not intendedto define
`the physical
`location of either computing device and is
`merely intended to indicate that
`the second computing
`device is remote (1.e., separate) from the first computing
`device.
`While the above-described embodiment discusses the use
`
`of content-cnabled dependent applications, other configura-
`tions are possible, such as data-enabled dependent applica-
`tions (i.e., those designed to manage data, as opposed to
`content).
`While the above-described embodiment specifies a soft-
`ware infrastructure 24 that is an application server, other
`configurations are possible, such as a general-purpose oper-
`ating system (e.g. UNIX, Windows 2000) or a special-
`purpose operating system (e.g. embedded OS,real time OS).
`While the above-described embodiment
`illustrates the
`
`availability of three services and three dependent applica-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`tions, the actual numberof services and dependent applica-
`tions can be adjusted based on system requirements.
`Referring to FIG. 7, a distributed computing method 350
`is shown. One or more content-enabled, dependent applica-
`tions are executed 352 on a local computing device. Each
`dependent application includesa user interface and business
`logic. A services layer, which is interfaced with the depen-
`dent applications and a software infrastructure, is executed
`354 on a remote computing device. The services layer
`provides one or moreservices that are usable by the content-
`enabled, dependent applications.
`A data layer, which includes one or more databases, is
`interfaced 356 with the software infrastructure. A unique
`application programming interface is assigned 358 to each
`of the services. Dependent applications using a specific
`service make requests through the application programming
`interface assigned to that service.
`The first and second computing devices are intercon-
`nected 360 with a network.
`
`Referring to FIG. 8, a multi-tier software development
`method 400 is shown. One or more content-enabled, depen-
`dent applications are provided 402, each of which includes
`a user interface and business logic. A services layer is
`provided 404, which is interfaced with the one or more
`content-enabled dependent applications and provides one or
`more services that are usable by the content-enabled, depen-
`dent applications. The services layer is interfaced 406 with
`a software infrastructure interfaced 408 with a data layer.
`The data layer includes one or more databases.
`The embodiments described herein are not limited to the
`
`embodiments described above; it may find applicability in
`any computing or processing environment. The embodi-
`ments may be implemented in hardware, software, or a
`combination of the two. For example, the embodiments may
`be implemented using circuitry, such as one or more of
`programmablelogic (e.g., an ASIC), logic gates, a processor,
`and a memory.
`The embodiments may be implemented in computer pro-
`grams executing on programmable computers that each
`includes a processor and a storage medium readable by the
`processor (including volatile and non-volatile memory and/
`or storage elements). Each such program may be imple-
`mented in a high-level procedural or object-oriented pro-
`gramming language to communicate with a computer
`system. However,
`the programs can be implemented in
`assembly or machine language. The language may be a
`compiled or an interpreted lan

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket