Techniques for generating custom objects representing content files
20 claims: 4 independent, 16 dependent
- 1コンテンツファイルをデジタルモンタージュの表示面の表示タイルと関連付けるための制御指示を受信するステップであって、前記表示タイルは前記表示面の別個の領域を画定している、ステップと、 前記コンテンツファイルのコンテンツファイルタイプを特定するステップと、 前記コンテンツファイルタイプに基づいて前記コンテンツファイルのコンテンツ部分を取り込むステップと、 前記コンテンツ部分に基づいて前記表示タイルに関するタイルオブジェクトを生成するステップであって、前記タイルオブジェクトは対応するタイルオブジェクトコンテナーを備える、ステップと、 前記コンテンツ部分からの情報が前記タイルオブジェクトのタイルオブジェクトコンテナーの現在の寸法には大きすぎることを判定するステップと、 前記タイルオブジェクトコンテナーの寸法を増加してコンテンツ部分からの情報を収容するステップとを含む、コンピューター実施方法。
- 2対応するタイルオブジェクトコンテナー内に格納される選択されたコンテンツ部分クリップを有するタイルオブジェクト面として、前記タイルオブジェクトを生成するステップを含む、請求項1に記載のコンピューター実施方法。
- 3前記コンテンツファイルのコンテンツファイルタイプを、ワードプロセッシングファイル、スプレッドシートファイル、プレゼンテーションファイル、個人情報マネージャファイル、データベースファイル、パブリッシャーファイル、ドローイングファイル、メモ帳ファイル、またはメッセージファイルを含むアプリケーションファイルタイプとして識別するステップを含む、請求項1に記載のコンピューター実施方法。
- 4前記コンテンツファイルタイプに基づいて前記コンテンツファイルのコンテンツ部分からコンテンツ部分クリップを選択するステップを含む、請求項1に記載のコンピューター実施方法。
- 5前記コンテンツファイルタイプと関連付けられるタイプ定義に基づいて、前記コンテンツファイルの前記コンテンツ部分からコンテンツ部分クリップを選択するステップを含み、前記タイプ定義が、コンテンツおよびプロパティクラス、コンテンツオブジェクトクラス、またはコンテンツページクラスの情報を含む、請求項1に記載のコンピューター実施方法。
- 6選択されたコンテンツ部分クリップをタイルオブジェクト面の対応するタイルオブジェクトコンテナーと関連付けるステップを含む、請求項1に記載のコンピューター実施方法。
- 7前記コンテンツファイルの前記コンテンツ部分からコンテンツ部分クリップを選択するための制御指示を入力デバイスから受け取ることを含む、請求項1に記載のコンピューター実施方法。
- 8前記コンテンツファイルの前記コンテンツ部分からのコンテンツ部分クリップを、対応するタイルオブジェクトコンテナーと関連付けるための制御指示を入力デバイスから受け取るステップを含む、請求項1に記載のコンピューター実施方法。
- 9対応するタイルオブジェクトコンテナー内にコンテンツ部分クリップを収めて、前記対応するタイルオブジェクトコンテナーのコンテナー定義とフィッティングアルゴリズムとのセットに従って、埋まったコンテナーを形成するステップを含む、請求項1に記載のコンピューター実施方法。
- 10前記タイルオブジェクト の 面と 、 フィッティングアルゴリズムの画面定義のセットに従って埋まったコンテナーを 前記 タイルオブジェクト の 面内に収めるステップを含む、請求項1に記載のコンピューター実施方法。
- 11実行されると、 コンテンツファイルをデジタルモンタージュの表示面の表示タイルと関連付けるための制御指示を受信することであって、前記表示タイルの各々は前記表示面の別個の画定された領域を含む、制御指示を受信すること、 前記コンテンツファイルのコンテンツファイルタイプを特定すること、 前記コンテンツファイルタイプに基づいて前記コンテンツファイルからのコンテンツを有する前記表示タイルに関するタイルオブジェクトを生成することであって、前記タイルオブジェクトは対応するタイルオブジェクトコンテナーを含む、タイルオブジェクトを生成すること、 コンテンツ部分からの情報が、前記タイルオブジェクトの前記タイルオブジェクトコンテナーの現在の寸法には大きすぎることを判定すること、 前記タイルオブジェクトコンテナーの寸法を増加して前記コンテンツ部分からの情報を収容すること、をシステムが実行することを可能にする命令を格納した記憶媒体を備える製品。
- 12実行されると、個々のタイルオブジェクトコンテナー内に含まれる選択されたコンテンツを有するタイルオブジェクト面として前記タイルオブジェクトを生成することを前記システムが実行することを可能にする命令をさらに含む、請求項11に記載の製品。
- 13実行されると、前記コンテンツファイルタイプに基づいてコンテンツファイルからコンテンツを選択することを前記システムが実行することを可能にする命令をさらに含む、請求項11に記載の製品。
- 14実行されると、前記コンテンツファイルからのコンテンツを個々のタイルオブジェクトコンテナー内に収めて、前記対応するタイルオブジェクトコンテナーのコンテナー定義とフィッティングアルゴリズムとのセットに従って、埋まったコンテナーを形成することを前記システムが実行することを可能にする命令をさらに含む、請求項11に記載の製品。
- 15実行されると、前記タイルオブジェクト の 面と 、 フィッティングアルゴリズムの画面定義のセットに従って埋まったコンテナーを 前記 タイルオブジェクト の 面内に収めることを前記システムが実行することを可能にする命令をさらに含む、請求項11に記載の製品。
- 16デジタルモンタージュのためのタイルオブジェクトを生成するように動作可能な作成コンポーネントを含むモンタージュアプリケーションを実行するように構成された論理デバイスであって、前記作成コンポーネントが、コンテンツファイルを前記デジタルモンタージュの表示面の表示タイルと関連付けるための制御指示を受け取り、前記コンテンツファイルのコンテンツファイルタイプを特定し、前記コンテンツファイルタイプに従って、前記コンテンツファイルからの情報を伴う 前記表示タイルに関する 前記タイルオブジェクトを生成し、前記コンテンツファイルからの情報が前記タイルオブジェクトのタイルオブジェクトコンテナーの現在の寸法に対し大きすぎることを判定し 、タ イルオブジェクトコンテナーの寸法を増加して、前記コンテンツファイルからの情報を収容する、論理デバイス を備え、前記表示タイルは前記表示面の別個の領域を画定し、前記タイルオブジェクトは対応するタイルオブジェクトコンテナーを含む、 装置。
- 17前記作成コンポーネントは、1以上のタイルオブジェクトコンテナー内に含まれる前記コンテンツファイルから選択された情報を有するタイルオブジェクト面として前記タイルオブジェクトを生成するよう動作する、請求項16に記載の装置。
- 18前記作成コンポーネントは、各コンテンツファイルタイプに対応する複数のタイプモジュールを含み、タイプモジュールはコンテンツファイルからの情報をコンテンツファイルタイプに対するタイプ定義に基づいて取り込むよう動作する、請求項16に記載の装置。
- 19作成コンポーネントは、タイルオブジェクトコンテナーの前記コンテンツファイルから情報を、前記コンテンツファイルタイプに対応するタイプモジュールのタイプ定義に基づいて選択し、前記選択された情報に基づいて前記タイルオブジェクトを生成するよう動作する、請求項16に記載の装置。
- 20前記作成コンポーネントが、フィッティングアルゴリズムを実行し、前記フィッティングアルゴリズムが、1つまたは複数のタイルオブジェクトコンテナー内に前記コンテンツファイルからの情報を収めて、対応するタイルオブジェクトコンテナーのコンテナー定義と前記フィッティングアルゴリズムとのセットに従って、埋まったコンテナーを形成するように構成される、請求項16に記載の装置。
Independent claims20
143 paragraphs, as filed
[0001] A montage may include integrating separate elements into a single synthetic element. For example, a montage can include a composite photo composed of several separate photos, or a video sequence that includes a fast sequence of completely different images. Electronic montage systems have been designed to create digital montages using digital content, such as synthetic web pages that contain different structured web pages provided by different web applications. In some cases, constituent web pages are organized according to a subject such as a web page related to a given search term used by a search engine, or a web page stored in the browser history that is always visited by the user. A structured web page is often a low fidelity representation of an actual web page due to spatial constraints on the composite web page. Thus, the user can select a configured web page to capture a more fidelity version of the selected web page for a finer display.
<p num="0002"> [0002] However, as the amount of digital information grows, it becomes increasingly difficult to build digital montages in a way that provides meaningful information to users. More specifically, content from multiple content sources can be represented in a digital montage in a way that allows users to make informed decisions about whether they are interested in a particular content source. It's getting harder and harder. This improvement was needed as a result of considering these and other considerations.</p>
<p num="0003"> [0003] This "outline of the invention" is given to introduce in a simple form what has been selected from a plurality of concepts further described in the "forms for carrying out the invention" below. This "outline of the invention" is not intended to identify the main or essential features of the claimed subject matter or to help determine the scope of the claimed subject matter.</p><p num="0004"> [0004] Various embodiments generally cover electronic montage systems. Some embodiments specifically target electronic montage systems configured to generate digital montages from dissimilar data sources. Electronic montage systems allow users to generate customized digital montages with a customized representation of the data source, which is of interest to other users for a more detailed view. It enables you to quickly identify and select a data source. Electronic montage systems can expose customized digital montages to other users via a public model, a messaging model, or a combination of public and messaging models.</p><p num="0005"> [0005] In one embodiment, for example, the device may include a logical device configured to run a montage application. The logical device may include, for example, a processing system having a processor and memory. The montage application provides a display surface with multiple display tiles, receives control instructions for associating a content file with display tiles, and generates tile objects for the content file based on the content file type of the content file. It may contain a creation component that can act to store the display surface and the tile object as a montage.</p><p num="0006"> [0006] A montage application may further include a creation component that can act to generate tile objects for a digital montage. The creation component associates the content file with the display tiles on the display surface of the digital montage, identifies the content file type of the content file, and provides control instructions to generate a tile object with information from the content file according to the content file type. You can receive it. The create component can generate a tile object as a tile object face with selected information from a content file stored in one or more tile object containers.</p><p num="0007"> [0007] The Montage application also generates a first user interface view for displaying each tile object within each associated display tile on the display surface and provides control instructions for selecting the tile object. It may include a display component that can act to receive and generate a second user interface view to display the content file corresponding to the tile object.</p><p num="0008"> [0008] These and other features and advantages will be apparent by reading the embodiments for carrying out the invention below and reviewing the relevant drawings. It should be understood that both the general description described above and the embodiments for carrying out the invention below are merely examples and do not limit the aspects claimed.</p>
<figref num="1">[0009] It is a figure which shows an embodiment of the montage system.</figref><figref num="2">[0010] FIG. 6 is a diagram illustrating an embodiment of a creation component.</figref><figref num="3A">[0011] It is a figure which shows the embodiment which has a display surface.</figref><figref num="3B">[0012] It is a figure which shows the embodiment which has a display surface with a tile object.</figref><figref num="3C">[0013] FIG. 6 illustrates an embodiment of a tile object with a tile object container.</figref><figref num="4">[0014] It is a figure which shows an example of a creation component.</figref><figref num="5">[0015] FIG. 6 illustrates an embodiment of a messaging system.</figref><figref num="6">[0016] FIG. 6 is a diagram of an embodiment with a message flow of a messaging system.</figref><figref num="7AB">[0017] FIG. 7A is a diagram of an embodiment with a user interface view of the message. [0018] FIG. 7B is a diagram of an embodiment with a user interface view of the montage.</figref><figref num="7CD">[0019] FIG. 7C is a diagram of an embodiment with a user interface view of tile objects. [0020] FIG. 7D is a diagram of an embodiment with a user interface view of the content file.</figref><figref num="8A">[0021] It is a figure which shows the embodiment which has a logical flow for the creation component to generate a montage.</figref><figref num="8B">[0022] FIG. 6 illustrates an embodiment with a logical flow for a creation component to generate a tile object for a montage.</figref><figref num="9">[0023] It is a figure which shows the embodiment which has a logical flow for exposing a component.</figref><figref num="10">[0024] FIG. 6 illustrates an embodiment of a computing architecture.</figref>
[0025] Various embodiments generally cover electronic montage systems configured to generate digital montages from dissimilar data sources. Electronic montage systems may allow users, for example, to generate highly customized digital montages using content files generated by different software programs, such as application programs.
[0026] A digital montage may include one or more tile objects, including a customized representation of the underlying content file. A tile object can include a representation of a content file, an agent, or a "teaser". Tile objects are a way that allows content consumers to quickly and easily determine if they are interested in an associated content file and whether the associated content file deserves more detailed investigation. A concise set of information from a rendered, associated content file. Tile objects can be constructed using information that is selectively extracted from the content file and formatted according to the type definitions created specifically for the content file. Type definitions include detailed information about content files, such as file extensions, data schemas, format controls, embedded objects, embed codes, properties, scripts, and other file-specific information. The type definition also includes a set of rules regarding the type of information to extract from the content file, the format of the extracted information, the number of tile object versions to create, and so on. In this way, it is possible to build a tile object with a high degree of expression that provides meaningful information to the viewer while creating a digital montage using a wide range of content files. This technique allows the viewer to easily explore the tile objects in the montage, identify the content file of interest from a large number of tile objects, and select a tile object for content for more detailed display. Allows you to import files quickly. As a result, embodiments can improve price, scalability, modularity, scalability, or interoperability for operators, devices, or networks.
[0027] FIG. 1 shows a block diagram of a montage system 100 with a montage application 140. In one embodiment, for example, the montage system 100 and the montage application 140 may include various components such as, for example, components 110, 130. As used herein, the terms "system" and "application" and "component" are computer-related, including either hardware, hardware and software in combination, software, or running software. Intended to point to an entity. For example, a component can be implemented as a process running on a processor, a processor, a hard disk drive, multiple storage devices (of optical / or magnetic storage media), objects, executables, threads of execution, programs, and / or computers. .. By way of example, both the application running on the server and the server can be components. One or more components may be in processes and / or threads of execution, and components may be localized to one computer and / also, depending on the wishes of a given implementation. It may be distributed across two or more computers. The embodiments are not limited in this context.
[0028] In the illustrated embodiment shown in FIG. 1, the montage system 100 and the montage application 140 may be implemented by an electronic device. Examples of electronic devices are, but are not limited to, mobile devices, mobile information terminals, mobile computing devices, smartphones, mobile phones, handset, receiving pagers, two-way pagers, messaging devices, computers, personal computers (PCs), Desktop computers, laptop computers, notebook computers, handheld computers, tablet computers, servers, server arrays or server farms, web servers, network servers, internet servers, workstations, minicomputers, mainframe computers, supercomputers, network equipment, Web devices, distributed computing systems, multi-processor systems, processor-based systems, game devices, home appliances, programmable home appliances, televisions, digital televisions, set-top boxes, wireless access points, base stations, subscriber stations, It can include mobile subscriber centers, wireless network controllers, routers, hubs, gateways, bridges, switches, machines, or combinations thereof. The montage application 140 shown in FIG. 1 has a limited number of elements in one topology, whereas the montage application 140 has more or fewer elements in an alternative topology, as required for a given implementation. It can be understood that it may include elements of.
[0029] Components 110, 130 may be communicably coupled via various types of communication media . Components 110 and 130 can coordinate their behavior with each other. This coordination may involve the exchange of unidirectional or bidirectional information. For example, components 110, 130 can communicate information in the form of signals that are communicated through a communication medium. The information can be implemented as signals assigned to various signal lines. In such an assignment, each message is a signal. However, further embodiments can utilize data messages instead. Such data messages can be sent through various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.
[0030] In the illustrated embodiment shown in FIG. 1, the montage system may include one or more content files 104-c and a montage application 140. Content file 104-c may include digital content generated by a software program, such as an application program, web application, web service, etc. The montage application 140 can generate the montage 120 using one or more selected content files 104-c. In one embodiment, one or more content files 104-c may be manually selected by the user. In one embodiment, one or more content files 104-c are always visited by, for example, search results related to a given search term used by a search engine, or a user stored in the browser history. It can be automatically selected by a software program using the existing content file 104-c.
[0031] The montage application 140 may include, among other elements, a creation component 110 and a display component 130. Creation component 110 can be used by the user to create or generate a montage 120. The user who creates or generates the montage 120 may be referred to herein as the "content creator." The display component 130 may be used by the user to view or manipulate the montage 120. A user who views or operates the montage 120 may be referred to herein as a "content user." The montage application 140 further includes other components as described in more detail with reference to FIGS. 2-11.
[0032] Creation component 110 generally includes generating user interface views and tools to allow content creators to generate, create, or otherwise create montages 120. You can manage the creation behavior for the montage application 140. The montage 120 may include a single synthesis or integration of digital information elements from the selected content file 104-c to form a single synthetic digital information element. The montage 120 may include synthetic documents with different constituent digital information elements generated by different applications, such as application files for application programs. In some cases, constituent digital information elements are organized according to subject matter, such as whether such digital information elements relate to business projects, personal vacations, or holidays. Constituent digital information elements are a low fidelity representation of the actual content file 104-c, often due to spatial constraints in the composite document. Therefore, the content user can select a constituent digital information element to capture a more fidelity version of the associated content file 104-c for a finer display.
[0033] In one embodiment, for example, the creation component 110 may be configured to provide a display surface 122 for a montage 120. The display surface 122 may have a plurality of display tiles 124-a defined or arranged on the display surface 122 in a certain topology. The creation component 110 can receive control instructions 102-b to associate some content files 104-c with some display tiles 124-a. Creation component 110 can generate tile objects 126-e for content file 104-c based on various content file types and the type definitions associated with content file 104-c. The creation component 110 can store the display surface 122 and the tile object 126-e as part of the montage 120, which can then be published or distributed to various content users.
[0034] It is noteworthy that "a" and "b" and "c" and similar identifiers as used herein are intended variables representing arbitrary positive integers. So, for example, if you set the value a = 5 in one implementation, the complete set of display tiles 124-a would be display tiles 124-1, 124-2, 124-3, 124-4, and 125-. Can include 5. The embodiments are not limited in this context.
[0035] The creation component 110 can initiate a creation operation for generating a montage 120 by providing a display surface 122 having a plurality of display tiles 124-a. The display surface 122 may include a two-dimensional (2D) or three-dimensional (3D) topological space of any defined size having a coordinate system and boundaries. Examples of display surface 122 are typically by word processing program documents, presentation program slides, spreadsheet program worksheets, notepad program notepads, personal information manager (PIM) contact cards, and application programs. May include other spaces used for.
[0036] Display tile 124-a may include a defined area of display surface 122 designed to present a set of specific information such as tile object 126-e. The defined area may be of any size, size, or shape, depending on the desire in a given implementation. A given display surface 122 may have any number of display surfaces 124-a, and each display tile 124-a has all display tiles 124-a within a given size of the display surface 122. It may have a set of definitions (eg, size, shape, dimensions, arrangement) that will fit securely. The definition of display tile 124-a is the display surface 122, the set of content files 104-c, the association between the content file 104-c and the display tile 124-a, the tile object 126-e associated with the content file 104-c, It can change dynamically based on display characteristics, device characteristics, user preferences, and other factors. The embodiments are not limited in this context.
[0037] In one embodiment, the content creator can custom define the display surface 122 and the display tile 124-a. The user interface of the montage application 140 can provide various control mechanisms specifically defined to modify the characteristics of the display surface 122 and the set of display tiles 124-a on the display surface 122. Examples of such a control mechanism may include, but are not limited to, a drawing control mechanism, a dimensional control mechanism, a size control mechanism, a width control mechanism, a height control mechanism, a pixel control mechanism, a refresh control mechanism, and the like. Alternatively, the content creator can choose from any number of montage templates that provide different display surfaces and display tiles 124-a.
[0038] The creation component 110 can receive control instructions 102-b for associating some content files 104-c with some display tiles 124-a. The creation component 110 can generate a user interface view and tools that allow the user to select the content file 104-a and associate the content file 104-a with the display tile 124-a. For example, the user can use an input device, such as a pointing device, to select content file 104-1 and drag content file 104-1 onto display tile 124-1. The user's selection can generate control instructions 102-b as a message or signal indicating the selection to create component 110. Alternatively, control instruction 120-b may be generated programmatically according to a content selection algorithm. For example, a content selection algorithm may have a defined set of rules for automatically selecting content files 104-c from search results generated by search engines or by analyzing user browsing patterns. .. The embodiments are not limited in this context.
[0039] Content file 104-c may include any digital information element or digital content generated by a software program, such as an application program, web application, web service, client application, server application, system program. Different software programs can produce different types of digital content. Therefore, digital content produced by different software programs may include dissimilar digital content. Examples of content file 104-c are, without limitation, word processing files, spreadsheet files, presentation files, personal information manager (PIM) files, database files, publisher files, drawing files, notepad files, message files, Can include application files, such as project files. Further examples of content file 104-c include audio files, image files, video files, audio / video (AV) files, video files, game files, markup files, web page files, social networking service (SNS) files, etc. May include multimedia files. It can be understood that these are only a few examples of content files 104-c and the embodiments are not limited to these examples.
[0040] In one embodiment, the content file 104-c is manufactured by Microsoft Corporation in Redmond, Washington, for a particular operating system, such as the MICROSOFT® OFFICE Productivity Suite for MICROSOFT WINDOWS®. It can contain content files for a productivity suite of interrelated client applications, server applications, and web services designed for this purpose. Examples of client applications are, without limitation, MICROSOFT WORD, MICROSOFT EXCEL®, MICROSOFT POWERPOINT®, MICROSOFT OUTLOOK®, MICROSOFT ACCESS®, MICROSOFT INFOPATH®, MICROSOFT ONENOTE®, MICROSOFT PROJECT, MICROSOFT PUBLISHER, MICROSOFT SHARE POINT® It may include WORKSPACE, MICROSOFT VISIO®, MICROSOFT OFFICE INTERCONNECT, MICROSOFT OFFICE PICTURE MANAGER, MICROSOFT SHAREPOINT DESIGNER, and MICROSOFT LYNC. Examples of server applications are, without limitation, MICROSOFT SHAREPOINT SERVER, MICROSOFT LYNC SERVER, MICROSOFT OFFICE FORMS SERVER, MICROSOFT OFFICE GROOVE® SERVER, MICROSOFT OFFICE PROJECT SERVER, MICROSOFT OFFICE PROJECT PORTFOLIO SERVER, and MICROSOFT OFFICE PERFORMANCEPOINT. Registered trademark) SERVER may be included. Examples of web services are not limited to MICROSOFT WINDOWS It may include LIVE®, MICROSOFT OFFICE WEB APPLICATIONS, MICROSOFT OFFICE LIVE, MICROSOFT LIVE MEETING, MICROSOFT OFFICE PRODUCT WEB SITE, MICROSOFT UPDATE SERVER, and MICROSOFT OFFICE 365. The embodiments are not limited in this context.
[0041] In one embodiment, the content file 104-c may include a content file personally created by the same content creator of the montage application 140 to create the montage 120. For example, suppose the content creator is the project manager for a business project and, in the course of the business project, created various application files related to the business project, such as word processing files, spreadsheet files, and presentation files. Content creators can use the creation component 110 of the montage application 140 to create reports for executives with tile objects 126-e for each file created personally by the content creator. ..
[0042] The creation component 110 can generate tile objects 126-e for the selected content file 104-c based on the various content file types of the content file 104-c. When the content file 104-c is associated with the display tile 124-a, the create component 110 can generate the tile object 126-e for the selected content file 104-c. In one embodiment, a single content file 104-c may be associated with a single display tile 124-a, thereby forming a one-to-one correspondence. In one embodiment, multiple content files 104-c may be associated with a single display tile 124-a, thereby forming a one-to-many correspondence.
[0043] The tile object 126-e may include a representation, agent, or "teaser" of content file 104-c. The tile object 126-e allows content users to quickly and easily determine if they are interested in the associated content file 104-c and if the associated content file 104-c deserves more detailed investigation. A concise set of information from the associated content file 104-c, rendered in a way that makes it possible to determine.
[0044] Tile object 126-e can be generated using content portion 106-d taken from content file 104-c. Content portion 106-d may include a subset of information derived or extracted from the complete set of information stored by content file 104-c. One advantage of the montage 120 is that information from different content files 104-c can be displayed on a single display surface 122. However, each content file 104-c may contain a larger amount of information that may be displayed within the defined area of a single display tile 124-a. For example, if the content file 104-1 contains a word processing document, the creation component 110 will contain all the information contained within the word processing document (eg, text, diagrams, images, pictures, even if it is miniaturized as a thumbnail. It may not be possible to fit an embedded object) within the available area or space of display tile 124-1. Therefore, the create component 110 takes a subset of the information from the set of information contained within the content source 104-1 and formats the subset of information into the set of boundaries of the display tile 124-1, tile object 126-1. A subset of the information formatted as can be stored. For example, tile object 126-1 can include a combination of a word processing document, a content creator of the word processing document (eg, the creator), and an image from the word processing document.
[0045] The tile object 126-e may also include, or may be associated with, a reference (eg, an address, pointer, or link) to the corresponding content file 104-c. If the tile object 126-e is selected by the user for further investigation, this reference is used to capture the corresponding content file 104-c and to display the full fidelity of the content file 104-c. Can be done. In one embodiment, the reference may be to content file 104-c, such as stored in a local data store. In this case, the reference can be used to capture the content file 104-c using peer-to-peer technology. In one embodiment, the reference may be to content file 104-c stored in a remote data store. In this case, the reference can be used to capture the content file 104-c using network storage and access technology.
[0046] In one embodiment, a single content file 104-c may be associated with a single display tile 124-a. In this case, a single tile object 126-e is displayed within each display tile 124-a. In one embodiment, the plurality of content files 104-c may be associated with a single display tile 124-a. In this case, the plurality of tile objects 126-e may be displayed in a single display tile 124-a. When rendered, the content user uses the selection tool provided by the display component 130 to move back and forth between multiple tile objects 126-e displayed on different display tiles 124-a and a single. Since it is possible to move back and forth between the plurality of tile objects 126-e displayed on the display tile 124-a, the content user can select the tile object 126-e of interest. For example, suppose the content creator associates photos from the corresponding content files 104-1 to 104-100 with display tile 124-1. Thumbnails of 100 photos may be generated as tile objects 126-1 to 126-100 and may be sized to fit within a given dimension of display tile 124-1. The selection tool can be used to move back and forth between tile objects 126-1 to 126-100 to select and magnify a given image.
[0047] When the user completes the create operation to associate the different content files 104-c with the different display tiles 124-a on the display surface 122, the create component 110 will be part of the montage 120 with the display surface 122 and the tile object. Can memorize 126-e.
[0048] The display component 130 can generally manage the display behavior of the montage application 140, including generating a user interface view and tools for displaying the montage 120 on the electronic display of the electronic device. In one embodiment, for example, the display component 130 provides a first user interface view for displaying each tile object 126-e within each associated display tile 124-a on the display surface 122 of the montage 120. Can be generated. The display component 130 receives the control instruction 132-f for selecting the tile object 126-e, and a second user interface view for displaying the content file 104-c corresponding to the selected tile object 126-e. Can be generated.
FIG. 2 shows a more detailed block diagram of the creation component 110 of the montage application 140. Creation component 110 captures some portion of the content from content file 104-c based on the type definition of the type of content file 104-c, thereby associating the tile object 126 for content file 104-c. e can be generated intelligently. For example, the content portion may include text from content file 104-c, metadata from content file 104-c, objects from content file 104-c, or any combination thereof.
[0050] In one embodiment, the content file 104-c may be stored in a local data store 210 implemented within the same electronic device that implements the montage application 140. For example, a computing device can implement a montage application 140 using content files 104-1 and 104-2 stored in the computing device's high-capacity storage device. In one embodiment, the content file 104-c may be stored in a remote data store 212 implemented by an electronic device different from the electronic device that implements the Montage application 140. For example, a computing device can implement a montage application 140 using content files 104-3 stored in a high-capacity storage device on a server device.
[0051] In the illustrated embodiment shown in FIG. 2, the creation component 110 may include or implement multiple types of modules 202-g. Each type module 202-g may correspond to the content file type of each content file 104-c. Examples of content file types for content file 104-c are, without limitation, word processing file types, spreadsheet file types, presentation file types, PIM file types, database file types, publisher file types, drawing file types, notes. It can include application file types such as book file types and message file types. Further examples of content file 104-c include multimedia file types such as audio file type, image file type, video file type, AV file type, video file type, game file type, markup file type, web page type, etc. obtain. It can be understood that these are only a few examples of content file types and the embodiments are not limited to these examples.
[0052] Type module 202-g fetches information from content file 104-c based on type definition 204-h for a content file type, and tile object 126- based on the captured information and type definition 204-h. e can be generated. Type definition 204-h extracts the selected part from the content file 104-c and formats the extracted part into the defined area of display tile 124-a. It can include a set of methods, events, coordinates, or instructions. By implementing a particular type definition 204-h for a particular content file 104-c, the create component 110 can be configured for a particular situation (eg work, private) and for a relevant set of content consumers. It is possible to generate specially designed, highly customized tile objects 126-e. The type definition 204-h may be the default type definition provided to the montage application 140 or a user-defined type definition created using the montage application 140.
[0053] As an example, the content file 104-1 is the word processing document 104-1, the type module 202-1 is for the word processing file type, and the type definition 204-1 is for the word processing file type. Suppose it is a set of definitions of. The type definition 204-1 may contain various types of information used when creating the type object 126-1. For example, type definition 204-1 is an extended markup language format (eg .docx, .docm, .dotx, .dotm), a binary format (eg .doc, .dot), and an open document format (eg .docx, .dotm). It can include supported file formats associated with various versions of word processing applications, such as odt). Type definition 204-1 may include security credentials (eg, password, certificate, public or private key) to access the encrypted file. Type definition 204-1 may include embed code for the file or tools for accessing loaded code (eg macros, expansion packs). Type definition 204-1 may include supported fields in the document (eg Ask field, Author field, Database field, Fillin field, Includepicture field, Includetext field, Mailmerge field). Type definition 204-1 may include rules for handling links to documents (eg, linked objects, master documents, template references, linked cascading stylesheet references). Type definition 204-1 may include rules for working with datasets (eg, mail merge data). Type definition 204-1 may contain rules for dealing with object linking and embedding (OLE) objects. Other information of type definition 204-1 is possible and embodiments are not limited in this context.
[0054] Further, the type definition 204-1 may include a set of rules regarding the type of information to be fetched from the content file 104-1. For example, type definition 204-1 is a content and property class from content file 104-1 (for example, a paragraph or property), a content object class for content file 104-1 (for example, an image, an embedded object), and content file 104. It can contain three classes of information and related rules, including content page classes within -1 or any combination of these. It can be understood that any number of classes or categories can be defined for a given content file type.
[0055] In one embodiment, examples of content and property classes may be shown in Table 1 as follows.
<tables num="1"><img id="000002" he="73" wi="158" file="JP6231981B2_D0001.tif" img-format="tif" img-content="drawing" /></tables>
[0056] In one embodiment, an example of a content object class can be shown in Table 2 as follows.
<tables num="2"><img id="000003" he="182" wi="159" file="JP6231981B2_D0001.tif" img-format="tif" img-content="drawing" /></tables>
[0057] In one embodiment, an example of a content page class can be shown in Table 3 as follows.
<tables num="3"><img id="000004" he="136" wi="159" file="JP6231981B2_D0001.tif" img-format="tif" img-content="drawing" /></tables>
[0058] The creation component 110 can use the type module 202-1 and the associated type definition 204-1 to populate the content portion 106-1 from the content file 104-1 from the local data store 210. .. Type module 202-1 can then organize and format content portion 106-1 to generate tile object 126-1. For example, a rule for type definition 204-1 may stipulate that any text taken from within a document, such as the first N paragraphs, retains the style format specified in the document. Another rule could be that content properties that are not actual text in the document are formatted as the normal style defined in the document. Yet another rule could be that the ellipsis "..." is added to the end of the text if the entire text of content portion 106-1 cannot fit within the dimensions of display tile 124-1. .. These are just a few exemplary rules and other rules are possible. The embodiments are not limited in this context.
[0059] In some cases, type definition 204-1 is from a combination of content and property classes and content object classes and content page classes, which is sometimes informally referred to as "mashup". , You can define a set of rules for creating tile object 126-1. This provides a highly customized tile object 126-1 that is constructed to represent the content of content file 104-1.
[0060] In one embodiment, examples of different class combinations can be shown in Table 4 as follows.
<tables num="4"><img id="000005" he="93" wi="159" file="JP6231981B2_D0001.tif" img-format="tif" img-content="drawing" /></tables>
[0061] Type definition 204-1 can also provide rules that limit tile object 126-1 to a single class or a type within a class. For example, a rule can define type module 202-1 to use only content in the form of text from content file 104-1 or only content objects in the form of images in content file 104-1. ..
[0062] Type definition 204-1 can further identify the device for generating the tile object 126-1 for content file 104-1. For example, a rule can define a type module 202-1 for interacting with a server device to create and populate tile object 126-1.
[0063] Type definition 204-1 can also provide rules for generating a list of multiple versions of tile object 126-1 to display to the user for final selection. For example, the rule can generate P versions of tile object 126-1, where P represents any positive integer (for example, P = 10). A list of multiple versions of tile object 126-1 can be generated according to the example given in Table 5 as follows.
<tables num="5"><img id="000006" he="202" wi="159" file="JP6231981B2_D0001.tif" img-format="tif" img-content="drawing" /></tables>
[0064] Type module 202-g can generate tile object 126-e with additional information to the information provided by type definition 204-h. For example, type module 202-g can receive as input information about display tile 124-a selected for content file 104-a. Type module 202-g can receive information such as position, size, shape, dimensions, placement, boundaries, adjacent display tile 124-a, adjoining display tile 124-a, and so on. For example, if type module 202-1 uses type definition 204-1 to build a tile object 126-1 that is too large for the current dimensions of display tile 124-1, type module 202-1 will Whether the current dimensions of display tile 124-1 can be increased to accommodate the larger tile object 126-1, using information about adjacent or adjacent display tiles 124-2, 124-3. , And whether the current dimensions of display tiles 124-2, 124-3 can be reduced accordingly. The creation component 110 can implement various fitting algorithms to handle such cases.
[0065] FIG. 3A shows an embodiment of the user interface view 300 generated by the creation component 110. The user interface view 300 may include a display surface 122 with a plurality of empty display tiles 124-a before any tile object 126-e is created for the content file 104-c. The user interface view 300 also has various graphical user interfaces (GUIs) for receiving control instructions 102-b from the author, such as copy command 302-1, cut command 302-2, and paste command 302-3. May include tools 302-s. Other GUI tools 302-s other than those shown in Figure 3A, such as move commands, select format and paste commands, may be used.
[0066] The user interface view 300 may further include a file navigation tool 304. The file navigation tool 304 may include a file manager application for a given operating system designed for navigating a file system with stored data files. For example, the file navigation tool 304 can be used to navigate and view various content files 104-c from the local data store 210 or the remote data store 212. An example of File Navigation Tool 304 may include MICROSOFT WINDOWS EXPLORER designed for the MICROSOFT WINDOWS operating system. Other file navigation tools may also be used.
During the creation operation, the creation component 110 controls the creation component 110 to associate the content file 104-1 from the input device with the display tile 124-1, for example, a pointing device 308 or a gesture 310 on a touch screen display 102. You can receive -b. For example, content authors create montages 120 by utilizing the file navigation tool 304 for navigating and displaying content files 104-c stored by one or both data stores 210, 212. be able to. Content authors can use a variety of input devices, such as pointing device 308 or gesture 310 on a touch screen display, to select content file 104-c for display tile 124-a. As shown, the pointing device 308 can be used to select content file 104-1 and use drag-and-drop techniques to move content file 104-1 onto display tile 124-1. Alternatively, the GUI input tool 302 can be used to perform similar operations.
[0068] FIG. 3B shows an embodiment of the user interface view 320 generated by the creation component 110. The user interface view 320 may include a display surface 122 with a filled display tile 124-1 after the tile object 126-1 has been created for the content file 104-1. When the content creator creates the content file 104-1 and associates it with the display tile 124-1, the creation component 110 can identify the content file type of the content file 104-1. In this example, the creation component 110 identifies the content file type of the content file 104-1 as an application file type, more specifically a word processing file. Creation component 110 can utilize type module 202-1 and type definition 204-1 specially designed to generate tile objects from word processing files. Type module 202-1 can use type definition 204-1 to populate the appropriate content part 106-1 from the content file 104-1, where the content part 106-1 is the content and property class, the content object. Contains information about a class, content page class, or combination of classes. Type module 202-1 can generate tile object 126-1 using content portion 106-1 and display tile object 126-1 within the boundaries of display tile 124-1.
[0069] FIG. 3C shows an embodiment of the user interface view 340 generated by the creation component 110. User interface view 340 shows the construction of tile object 126-e after a given content file 104-c is associated with the corresponding display tile 124-a.
[0070] As explained earlier, it is desirable to have some kind of meaningful representation of the content file 104-c, such as MICROSOFT OFFICE documents, websites, maps, feeds, articles, weblogs (blogs), etc. In some cases. The tile object 126-e provides a custom representation of the content file 104-c that requires or encourages the user to read or view the content from the content file 104-c. To be prominent, one desirable feature of tile object 126-e is that it must be readable and engaging, such as a teaser or preview of content file 104-c. In addition, the tile object 126-e should be automatically generated without any forced user input or interaction. However, in some cases, user interface controls (eg, GUI Input Tool 302) may be optionally displayed to encourage user input.
[0071] To initiate the tile creation operation, the create component 110 may receive control instructions 102-b to associate the content file 104-c with the display tile 124-a on the display surface 122 of the digital montage 120. it can. The creation component 110 can identify the content file type of the content file 104-c and generate a tile object 126-e with information from the content file 104-c according to the content file type.
[0072] In various embodiments, the creation component 110 is a tile object with selection information taken from content file 104-c as stored or displayed in one or more tile object containers 342-u. A tile object 126-e with face 346 can be automatically generated. In one embodiment, the information selected is the content portion taken from the content file 104-c, for example, the content from the content file 104-c, or the content portion 106-1 for the content file 104-1. Can include.
[0073] Similar to the display tile 124-a on display surface 122, the tile object container 342-u is designated to display a specific set of information, such as a content part or content part clip 344-v. It may contain a defined area of tile object surface 346. The defined area may be of any size, size, or shape, depending on the desire in a given implementation. A given tile object surface 346 may have any number of tile object containers 342-u, where each tile object container 342-u is where all tile object containers 342-u are at tile object surface 346. It may have a set of definitions (eg, size, shape, dimensions, arrangement) to ensure that it fits within a given size. The definition of tile object container 342-u is the association between other tile object container 342-u, tile object surface 346, content part or content part clip 344-v and tile object container 342-u, one or more displays. Tile 124-a, display surface 122, set of content file 104-c, association between content file 104-c and display tile 124-a, tile object 126-e associated with content file 104-c, display characteristics, It can change dynamically based on device characteristics, user preferences, and other factors. The embodiments are not limited in this context.
[0074] In one embodiment, the content creator can custom define the tile object surface 346 and the tile object container 342-u. The user interface of Montage Application 140 has various control mechanisms (eg, GUI input tools) specially defined to modify the characteristics of tile object surface 346 and the set of tile object containers 342-u on tile object surface 346. 302) can be provided. Examples of such a control mechanism may include, but are not limited to, a drawing control mechanism, a dimensional control mechanism, a size control mechanism, a width control mechanism, a height control mechanism, a pixel control mechanism, a refresh control mechanism, and the like. Alternatively, the content creator can choose from any number of tile templates that provide different tile object faces and tile object containers 342-u.
[0075] In one embodiment, for example, the creation component 110 can select information from content files 104-c suitable for each tile object container 342-u. Creation component 110 can select such information, for example, based on the content file type of content file 104-c. As described in detail with reference to FIG. 2, the creation component 110 contains a plurality of type modules 202-g corresponding to each content file type, and each type module 202-g is a type module 202-g. Based on the type definition 204-h for, it is configured to fetch a set of information from the content file 104-c in a special way. Creation component 110 identifies the content file type of content file 104-c, selects information from content file 104-c using type module 202-g and associated type definition 204-h, and is selected. A tile object 126-e with information can be generated.
[0076] In one embodiment, the creation component 110 performs a fitting algorithm designed to contain information from content file 104-c within one or more tile object containers 342-u and the corresponding tiles. A buried container 348-w can be formed according to a set of container definitions and fitting algorithms for object container 342-u. In one embodiment, the container definition may include a portion of type definition 204-h of type module 202-g. In addition, or alternative, the container definition may contain additional information to the information provided by type definition 204-h. For example, type module 202-g can receive as input information about the tile object container 342-u for display tile 124-a selected for content file 104-c. Type module 202-g can receive information such as position, size, shape, dimensions, placement, boundaries, adjacent tile object containers 342-u, adjacent tile object containers 342-u, and so on. For example, if type module 202-1 uses type definition 204-1 to build tile object 126-1, which is too large for the current dimensions of tile object container 342-1 for display tile 124-1. , Type module 202-1 uses information about adjacent or adjacent tile object containers 342-2, 342-3, and the current dimensions of tile object container 342-1 are more than from content part 106-1. It can be determined whether it can be increased to accommodate a large amount of information and whether the current dimensions of the tile object containers 342-2, 342-3 can be reduced accordingly. The creation component 110 can implement various fitting algorithms to handle such cases.
[0077] It is desirable to allow the user to select a tile template for a given tile object 126-e from a set of automatically generated tile templates available for a particular content file 104-c. There can be cases. For example, if the user does not like either the tile template or the automatically generated tile object 126-e, the user uses a set of user interface controls to use the tile template or a specific tile object 126-e. You can edit and customize the content selected for the tile object 126-e. An example of a user interface control mechanism may include, for example, a GUI input tool 302.
[0078] As explained with reference to Figure 3B, when the content creator selects the content file 104-1 and associates it with the display tile 124-1, the creation component 110 of the tile object 126-1. You can start creating, building, or generating and represent the content contained within the content file 104-1.
[0079] For example, the creation component 104-1 can specify the content file type of the content file 104-1. In this example, the creation component 110 identifies the content file type of the content file 104-1 as an application file type, more specifically a word processing file. Creation component 110 can take advantage of type module 202-1 and type definition 204-1 specially designed to generate tile objects from word processing files. Type module 202-1 can use type definition 204-1 to capture the appropriate content portion 106-1 and / or content portion clip 344-v from content file 104-1 and content portion 106-1. Contains information about content and property classes, content object classes, content page classes, or combinations of classes. Type module 202-1 can use content portion 106-1 and / or content portion clip 344-v to generate one or more filled containers 348-w for tile object 126-1. .. Type module 202-1 can then display containers 348-w filled within the boundaries of tile object 126-1.
[0080] With reference to FIG. 3C, user interface view 340 may show the case where content file 104-1 is associated with display tile 124-1 as described with reference to FIGS. 3A, 3B. More specifically, user interface view 340 shows the construction of tile object 126-1 after a given content file 104-1 is associated with the corresponding display tile 124-1. As shown in Figure 3C, user interface view 340 is a content portion clip 344-1 from content portion 106-1 of content file 104-1 during the creation of tile object 126-1 of content file 104-1. Indicates a tile object 126-1 with a buried container 348-1 to store. For example, the creation component 110 can extract one or more content portion clips 344-v from the content portion 106-1 captured from the content file 104-1. Type definition 204-1 may include a set of rules regarding the type of information to be retrieved from content file 104-1. For example, type definition 204-1 is a content and property class from content file 104-1 (for example, a paragraph or property), a content object class for content file 104-1 (for example, an image, an embedded object), and content file 104. It can contain three classes of information and related rules, including content page classes within -1 or any combination of these. The creation component 110 can use the rules provided by type definition 204-1 to capture the content portion clip 344-v selected from the content portion 106-1 of the content file 104-1. In the user interface view 340, the content part clip 344-1 is taken from the content part 106-1 and the corresponding tile object container -Shows the case of forming a buried container 344-1 placed in 342-1. Creation component 110 creates additional filled containers 348-2 to 348-w according to the rules provided by type definition 204-1 until tile object 126-1 is completely filled, content part 106-1. You can continue to capture the content part clip 344-v selected from.
[0081] Figure 4 shows an example of a creation component 110 that creates a tile object 126-1. As shown, the content file 104-1 contains information of various types of content and property classes, including title 402, first paragraph 404, second paragraph 406, and various metadata 408. obtain. Content file 104-1 may further contain various types of information in the content object class, including image 410, bar graph 412, and equation 414. Type definition 204-1 sets the author from metadata 408, with a first rule for using a particular tile template named "tile template 1", a second rule for capturing title 402, and A third rule for capturing, a fourth rule for capturing the first N paragraphs 404, 406 (eg N = 2), and in this case a bar graph 412 for capturing the first graph. It may contain five rules, including a fifth rule. Type module 201-1 uses type definition 204-1 to capture content portion 106-1 from content file 104-1 and generate object 126-1 in accordance with rules 1-5 of type definition 204-1. Object 126-1 is displayed as a user interface view with specific information of content portion 106-1 formatted according to "tile template 1".
[0082] FIG. 5 illustrates an embodiment of a messaging system 500 suitable for publishing or distributing a montage 120 generated by a montage application 140. Content authors can use the montage application 140 to generate montage 120 using the various user interface views provided by user interface component 538. The user interface component 538 may include a native user interface component of Montage Application 140, or a user interface component for the OS running Montage Application 140 (eg, MICROSOFT WINDOWS). Once the montage 120 is generated, content creators can use the publishing model, messaging model, or a combination of publishing and messaging models to deliver the montage 120 to a variety of content consumers.
[0083] In one embodiment, the montage application 140 can use the publishing component 532 to publish the montage and associated content files 104-c from the local data store 210 to the remote data store 212. .. The remote data store 212 may be implemented as part of a network storage server 530, accessible by network services such as social networking services (SNS). Content users can access the network service to view multiple versions of the network service.
[0084] In one embodiment, the montage application 140 uses the native message component 534 to send the montage 120 and associated content files 104-c through a messaging architecture such as message server 540, message 516 and It can be sent as an attachment to a message. Content consumers can access and view multiple versions of the message. Alternatively, the montage application 140 may use an external (non-native) messaging application 542-k.
[0085] In one embodiment, the montage application 140 uses a combination of both a publishing model and a messaging model by exposing the montage 120 and associated content files 104-c to a network service and is associated with the montage 120. You can receive a link 518-n for a network version with the content file 104-c and send a message 516 with the link 518-n. Content users can access message 516, select link 518-n, and view the network version of montage 120. In addition, the content user can select the tile object 126-e in Montage 120 and see the network version of the content file 104-c associated with the selected tile object 126-e.
[0086] Montage application 140 can use security component 536 to manage permissions and permissions for content users to montage 120 and related content files 104-c. Security component 536 can manage accounts, credentials, authorization information, security information (eg encryption / decryption algorithms, security keys, certificates, etc.), permission levels, and more. In one embodiment, security component 536 is for allowing communication of content files 104-c from a local data store 210 to a remote data store 212 for a network storage server 550 accessible to network services. , Control instructions representing commands from the content creator can be received from the input device.
[0087] In the illustrated embodiment shown in FIG. 5, the messaging system 500 comprises a plurality of computing devices 510-j, a message server 540, and a network storage server 550, all communicating through network 530. Can include. Each computing device 510-j can implement montage application 140 and / or one or more messaging applications 542-k. The messaging system 500, as shown in FIG. 5, has a limited number of elements in one topology, whereas the messaging system 500 has more or fewer in alternative topologies, depending on the desires of a given implementation. It can be understood that it may include elements of.
[0088] Network 530 may include a communication framework designed to communicate information between various devices of the messaging system 500. Network 530 can be a packet-switched network (for example, a public network such as the Internet, a private network such as a corporate intranet), a circuit-switched network (for example, a public exchange telephone network), or a combination of a packet-switched network and a circuit-switched network (appropriate). Any well-known communication technique can be implemented, such as a technique suitable for use with (with multiple gateways and converters).
[0089] The message server 540 may include or utilize one or more server computing devices and / or server programs that operate to perform various methods according to the embodiments described. For example, a server program, once installed and / or deployed, can support one or more server functions of a server computing device to provide several services and functions. An exemplary message server 540 is a stand-alone enterprise-sized server running a server operating system, for example, MICROSOFT OS, UNIX® OS, LINUX® OS, or any other suitable server-based OS. May include a computer. An exemplary server program is, for example, MICROSOFT OFFICE COMMUNICATIONS for managing incoming and outgoing messages. Communication server programs such as SERVER (OCS), email, voicemail, VoIP, instant messaging (IM), group IM, extended presence, and MICROSOFT EXCHANGE SERVER for unified messaging (UM) of audio and video conferencing. Messaging server programs, and / or other types of programs, applications, or services according to the described embodiments.
[0090] The network storage server 550 may also include or utilize one or more server computing devices and / or server programs that operate to perform various operations according to the embodiments described. .. For example, a server program, once installed and / or deployed, can support one or more server functions of a server computing device to provide several services and functions. An exemplary network storage server 550 may include a stand-alone enterprise-sized server computer running a server OS, such as MICROSOFT OS, UNIX OS, LINUX OS, or other suitable server-based OS. An exemplary server program provides online network storage of documents and files, including multimedia files or media files such as images, photos, photo albums, videos, video albums, MICROSOFT. May include network storage server programs such as LIVE. Illustrative server programs also include, for example, social networking application programs, search applications, document management programs, weblogs (blogs), word processing programs, spreadsheet programs, database programs, drawing programs, document sharing programs, messaging applications, the web. It may include services, web applications, web servers, and / or other types of programs, applications, or services according to the embodiments described.
[0091] Each computing device 510-j may include a processor 502 and a memory 504 communicatively coupled to the processor 502. The processor 502 and the memory 504 can each be communicatively coupled to the communication interface 509. An exemplary architecture and example of computing device 510-j can be illustrated with reference to FIG.
[0092] Communication interface 509 includes or implements various communication techniques to allow computing device 510-j to communicate with each other and with other devices of messaging system 500 over network 530. can do. For example, the various devices in the messaging system 500 each have one or more communication interfaces, network interfaces, network interface cards (NICs), wireless, wireless transmitters / receivers (transmitters), wired and / or wireless communications. It may include a communication interface 509 that implements various types of standard communication elements designed to interoperate with network 530, such as media, physical connections, and so on. As an example, but not limited to, the communication medium includes a wired communication medium and a wireless communication medium. Examples of wired communication media can include wires, cables, metal leads, printed circuit boards (PCBs), backplanes, switch configurations, semiconductor materials, twisted pair wires, coaxial cables, optical fibers, propagation signals and the like. Examples of wireless communication media may include acoustic media, radio frequency (RF) spectral media, infrared media, and other wireless media.
[0093] In various embodiments, the communication interface 509 may include a plurality of different types of transfer mechanisms 512-m. Each of the transfer mechanisms 512-m can implement or utilize the same or different sets of communication parameters to communicate information between various devices of the messaging system 500. In one embodiment, for example, each of the transfer mechanisms 512-m can implement or utilize different sets of communication parameters to communicate information between the computing device 510-j and the message server 540. Some examples of communication parameters are, without limitation, communication protocols, communication standards, radio frequency (RF) bands, radios, transmitters / receivers (transmitters), radio processors, baseband processors, network scan thresholds. Parameters, Radio Frequency Channel Parameters, Access Point Parameters, Speed Selection Parameters, Frame Size Parameters, Aggregation Size Parameters, Packet Retry Limit Parameters, Protocol Parameters, Radio Parameters, Modulation and Coding Method (MCS), Acknowledgment Parameters, Medium Access Control It may include (MAC) layer parameters, physical (PHY) layer parameters, and any other communication parameters that affect the operation on communication interface 509 performed by the computing device 510-j. The embodiments are not limited in this context.
[0094] In various embodiments, the communication interface 509 of the computing device 510-1 can implement different communication parameters that provide different bandwidths or speeds. For example, transfer mechanism 512-1 may include a high-speed interface that implements communication parameters suitable for high-speed communication of information to network 530, whereas transfer mechanism 512-2 is suitable for low-speed communication of information to network 530. It may include a slow interface that implements communication parameters.
[0095] With respect to wired communication, for example, the transfer mechanism 512-1 may include a network interface designed to communicate information through a packet-switched network such as the Internet. The transfer mechanism 512-1 may be configured to provide data communication capabilities according to different types of wired network systems or protocols. Examples of suitable wired networks that provide data communication services include the Internet Engineering Task Force (IETF) Transmission Control Protocol (TCP) and Internet Protocol (IP) communication standard suites, User Datagram Protocol (UDP), and Datagram Congestion Control Protocol (DCCP). ), Stream Control Transmission Protocol (SCTP), Resource Reservation Protocol (RSVP), Explicit Congestion It can include Notification (ECN) Protocol, Open Shortest Path First (OSPF) Protocol Suite, Reliable Transport Protocol (RTP), IETF Real-Time Transport Protocol (RTP), and more. The transfer mechanism 512-2 is Simple Mail Transfer Protocol (SMTP), extended SMTP (ESMTP), Post Office Protocol (POP), POP3, Internet Message Access Protocol (IMAP), Multipurpose Internet Mail Extensions (MIME) protocol, Unix-to. -International Telecommunication such as Unix Copy (UUCP) protocol, ITU-T X.400 protocol It can be configured to provide data communication according to various message protocols, such as the Union (ITU) protocol suite. It can be understood that other wired communication techniques may be implemented and embodiments are not limited in this context.
[0096] With respect to wireless communication, for example, the transfer mechanism 512-1 may include a radio designed to communicate information over a wireless local area network (WLAN). The transfer mechanism 512-1 may be configured to provide data communication capabilities according to different types of wireless network systems or protocols. Examples of suitable wireless network systems that provide data communication services are the IEEE802.11a / b / g / n standard protocol series and their variants (also known as "WiFi"), the IEEE802.16 standard protocol series and its variants ("" WiMax), IEEE802.20 standard protocol series and variants thereof, Institute of Electrical and Electronics It may include the Engineers (IEEE) 802.xx protocol series. The transfer mechanism 512-2 may include a radio designed to communicate information through a data networking link provided by one or more cellular radiotelephone systems. Examples of cellular wireless telephone systems that provide data communication services are GSM® (GSM / GPRS) with General Packet Radio Service (GPRS) systems, CDMA / 1xRTT systems, and Enhanced Data Rates for Global Evolution (EDGE) systems. , Evolution Data Only or Evolution Data Optimized (EV-DO) System, Evolution For Data and Voice (EV-DV) System, High Speed Downlink Packet Access (HSDPA) System, High Speed Uplink Packet It may include Access (HSUPA) and so on. It can be understood that other wireless techniques may be implemented and embodiments are not limited in this context.
[0097] In various embodiments, the communication interface 509 of the computing device 510-1 can implement the same set of communication parameters that provide the same or substantially similar bandwidth or communication speed. However, transfer mechanisms 512-1 and 512-2 may be utilized by montage application 140 and / or message application 542-1 at different times. In one embodiment, for example, the montage application 140 can communicate with the montage 120 and one or more content files 104-c for the montage 120 during the first period, the montage application 140 and / or Message application 542-1 can communicate message 516 with information related to montage 120 and / or supporting content file 104-c during the second period. In one embodiment, for example, the first and second periods may be completely discontinuous, in which case the start and end times of the first period are greater than the start times of the second period. Before. In one embodiment, for example, the first period and the second period may partially overlap, in which case the start time of the first period is earlier than the start time of the second period. However, the end time of the first period is later than the start time of the second period. The embodiments are not limited in this context.
[0098] The computing device 510-j is a montage application 140 with a message component 534, and / or one or more message applications 542, each configured to communicate different types of messages in different formats. You can implement -k. One embodiment is described for the message application 542-k as a messaging model, but such description may apply to other embodiments that utilize the message component 534 of the montage application 140.
[0099] Each of the message applications 542-k may represent a particular type of forwarding mechanism that allows the processing of a particular type and format of message for a particular application. The messaging application 542-k is, without limitation, a facsimile application, a video messaging application, an instant messaging (IM) application, a chat application, an email (email) application, a short message service (SMS) application, a multimedia message service. It may include (MMS) applications, social network system (SNS) applications, etc. It should be understood that embodiments are not limited in this regard and that message application 542-k may include any other type of messaging or communication application that is consistent with the embodiments described. It should also be appreciated that each computing device 510-j can implement other types of applications in addition to the messaging application 542-k, which is consistent with the embodiments described.
[00100] As shown in FIG. 5, for example, computing devices 510-1 and 510-2 can implement the respective message applications 542-1 and 524-2. Message applications 542-1, 524-2 generally generate, send, receive, update, modify, and otherwise manage messages for computing devices 510-1, 510-2. Can work. The implementation details shown for computing device 510-1 and its message application 542-1 as described herein also apply to computing device 510-2 and its corresponding message application 544-2. Can be understood.
[00101] In one implementation, the message applications 542-1, 524-2 are network-based message applications implemented on a network device and accessed by computing devices 510-1, 510-2 via a web browser. Instead, it is implemented as a stand-alone client-based application that is stored and executed by local resources provided by compute devices 510-1, 510-2, such as processor 502 and memory 504 of compute device 510-1. .. In one embodiment, message applications 542-1, 524-2 are distributed processes that are partially executed on local resources of computing devices 510-1 and 510-2 and partially executed on network resources. Can include distributed applications suitable for. In addition, or as an alternative, the messaging applications 542-1, 524-2 are network-based messaging applications implemented on network devices and accessed by computing devices 510-1, 510-2 via a web browser. May include. The embodiments are not limited in this context.
[00102] In one embodiment, for example, message application 542-1 may be configured to communicate message 516 through transfer mechanism 512-2. Message 516 may include one or more embedded links 518-n and / or one or more content files 104-c and / or montage 120 to montage 120 when communicating through transfer mechanism 512-2. One or more embedded links 518-n are references to montage 120 and / or one or more content files 104-c that are stored in network storage server 550 and accessible by the message sender or message recipient, for example. May include.
[00103] Each of the links 518-n may include a reference or pointer to a stored montage 120 and content file 104-c that the user can follow directly or the program automatically follows. A reference is a data type that refers to a stored montage 120 and content file 104-c, such as an object, file, data item, etc., elsewhere in the memory of the device (for example, a file server). Yes and is used to access the reference. In general, a reference is a value that allows a program to access the reference directly. The reference target can be stored in the same device as the reference or in a device different from the reference. Most programming languages support some form of reference. The example of link 518-n is not limited to World Wide It can contain hypertext and hyperlinks, such as those used by the Web (WWW). Hypertext is text with hyperlinks. The hyperlink typically contains an anchor, which is the location in the message where the hyperlink can exist. The target of the hyperlink is the stored montage 120 and / or the content file 104-c that the hyperlink leads to. When the anchor is shown, the user clicks on the anchor by activating it in some way, for example by touching the anchor (eg by touch screen display), or by pointing device (eg mouse). By doing so, you can follow the link. When Link 518-n is activated, its target is displayed through a web browser or application program.
[00104] As previously described, the Montage application 140 has a publishing model and a messaging model by exposing the Montage 120 and associated content files 104-c to a remote data store 212 on the network storage server 550. Both hybrids can be used to receive link 518-n for the network version of Montage 120 and the associated content file 104-c and send message 516 with link 518-n. Content users can access message 516, select link 518-n, and view the network version of montage 120. In addition, content consumers can select tile object 126-e in Montage 120 to see the network version of content file 104-c associated with the selected tile object 126-e. This hybrid model can be described in more detail with reference to FIG.
[00105] FIG. 6 shows an embodiment with a message flow for the messaging system 500. As shown in FIG. 6, the publishing component 532 can expose the montage 120 and the associated content files 104-c to network service 652. The public component 532 can send the montage 120 and the associated content files 104-c to the network storage server 550 through transfer mechanism 512-1 as indicated by arrow 602. As a fast transfer mechanism, the transfer mechanism 512-1 has sufficient bandwidth to transfer, for example, the message size of message 516, which is typically a larger size file associated with content file 104-c. Can have width.
[00106] The network storage server 550 can receive the montage 120 and the associated content files 104-c and store them in a remote data store 212. The network storage server 550 can then send a link 518-n to the montage 120 and content file 104-c as stored in the remote data store 212, as indicated by arrow 604.
[00107] Public component 532 can receive link 518-n and forward the link to create component 110. Creation component 110 associates link 518-n with each tile object 126-e, and the content user selects tile object 126-e to learn more about the associated content file 104-c from the remote data store 212. Montage 120 can be updated with the above associations so that it can be accessed for viewing.
[00108] In one embodiment befitting a public model, the creation component 110 can send an updated montage 120 to the public component 532. The public component 532 can then publish the updated montage 120 and link 518-n on network service 652, as indicated by arrow 606. For example, network service 652 may include a social networking service (SNS), and content users (eg, friends) who have a defined relationship with the content creator can montage via public link 518-n. You can access 120 and related content files 104-c. In another example, network service 652 can provide an account to the content creator, which can be viewed by content consumers according to the permission set for network service 652 and / or security component 536. Can be. As indicated by arrow 610, the content user accesses network service 652 via computing device 510-2 and selects link 518-n to the file for montage 120 via a web browser. You can request a montage 120 from a remote data store 212. As indicated by arrow 612, network service 652 can receive the request and send the montage 120 to computing device 510-2. The computing device 510-2 can display the montage 120 as a user interface view of the display surface 122 with the tile object 126-e in the display tile 124-a. The computing device 510-2 is a montage application 140 or montage designed to view a montage 120 or as a web page for a web browser.
[00109] In one embodiment suitable for the messaging model, the creation component 110 can forward the updated montage 120 and the link 518-n to the message component 534 (or message application 542-1). The message component 534 can receive the link 518-n and the message content 620 as input. The message content 620 may include a message from the content creator. Message component 534 can generate message 516 with message content 620 and link 518-n. In addition, or alternative, message 516 optionally includes montage 120 and / or some content files 104-c, depending on file size constraints and available bandwidth in message transfer mechanism 512-2. May include. The montage 120 may include a full fidelity version of the montage 120, or a lower fidelity version of the montage 120 that is more suitable for the available bandwidth of transfer mechanism 512-2, such as a thumbnail version of the montage 120.
[00110] As indicated by arrow 608, message component 534 may send message 516 through transfer mechanism 512-2 to message application 542-2 on computing device 510-2 via message server 540. it can. As indicated by arrow 610, content users can open message 516, select link 518-n to montage 120, and request montage 120 from a remote data store 212. As indicated by arrow 612, network service 652 can receive the request and send the montage 120 to computing device 510-2. The computing device 510-2 can display the montage 120 as a user interface view of the display surface 122 with the tile object 126-e in the display tile 124-a. The computing device 510-2 can generate a user interface view as a user interface view of an application program, such as a web page for a web browser, or a montage application 140 or montage viewer designed to view a montage 120. ..
[00111] FIG. 7A illustrates an embodiment of user interface view 700 of exemplary message 516. As described with reference to FIG. 6, the content author uses the montage application 140 and / or the messaging application 542-1 to generate and send a message 516 with a reference to the montage 120 or montage 120. be able to. Content consumers can receive message 516 via computing device 510-2 and messaging application 544-2. User Interface View 700 provides an example where message 516 is implemented as an email message.
[00112] Message 516 may include a ribbon bar 702, among other things, with various command elements for email, such as a reply button, a reply button to everyone, a forward button, a delete button, a move to folder button, a rule creation button, and so on. .. Message 516 may further include an address bar 704 with address information and a message body 706. The message body 706 may include a screen having a montage file thumbnail 720 and a link 510-1 to the montage 120 as stored in a remote data store 212. The montage file thumbnail 720 may contain a less fidelity version of the montage 120.
[00113] The content user can select the montage thumbnail 720 by using an input device such as the pointing device 710. Content users can also use an input device, such as Gesture 712 on a touch screen display, to select link 518-1 entitled "Student Class Trip." In either case, this selection launches a web browser or application program to view the montage 120.
[00114] FIG. 7B shows an embodiment of user interface view 740 of montage 120 after being invoked from message 516. Depending on the given implementation of Compute Device 510-2, Compute Device 510-2 is a Montage Application 140 or Montage Viewer specially designed for viewing as a web page for a web browser or for viewing Montage 120. A user interface view 740 can be generated as a user interface view of an application program such as the 730. For example, the display component 130 of the montage application 140 implemented for the computing device 510-2 and / or the montage viewer 730 receives the control instructions to open the montage 120 and captures the montage 120 from the remote data store 212. The operation can be started. The display component 130 and / or the montage viewer 730 can display the user interface view 740 of the montage 120, including the display surface 122 with the tile object 126-e in the appropriate display tile 124-a.
[00115] When rendered as a web page, display component 130 may use code specifically designed for the web page, such as hypertext markup language (HTML) or similar code. However, the HTML code can be limited by a given type of web browser implemented by client device 510-2. When rendered as a user interface view for the montage viewer 730, the display components 130 and / or the montage viewer 730 can use code optimized for the montage viewer 730. For example, Montage 120 may be generated using HTML code for web pages, with extended markup language (XML) code embedded in the HTML code. The XML code can be generated by a data schema specially designed for montage application 140 or montage viewer 730. Therefore, the montage application 140 or montage viewer 730 can render a higher fidelity version of the montage 120 compared to the less fidelity version of the montage 120 used for the web page.
[00116] FIG. 7C shows an embodiment of the user interface view 750 of an example of the montage 120, which is displayed in the montage viewer 730. As described with reference to FIG. 7B, the montage viewer 730 displays the user interface view 740 of the montage 120, including the display surface 122 with the tile object 126-e in the appropriate display tile 124-a. be able to. Display surface 122 is assumed to contain tile object 126-1 for content file 104-1 as described above with reference to FIG.
[00117] The content user can select the tile object 126-1 using an input device such as the pointing device 710. The display component 130 of the montage application 140 implemented for the computing device 510-2 and / or the montage viewer 730 receives a control instruction to select the tile object 126-1 and the tile object from the remote data store 212. Import content file 104-1 for 126-1.
[00118] FIG. 7D shows an embodiment of user interface view 760 of content file 104-1 after being launched from montage 120. The display component 130 and / or the montage viewer 730 can display the user interface view 760, along with a full fidelity version of the content file 104-1 captured from the remote data store 212. Alternatively, content file 104-1 uses a native application program similar to that used to generate content file 104-1, or is a viewer specially designed for such application programs. Can be rendered using. The embodiments are not limited in this context.
[00119] In various embodiments, the display component 130 dynamically generates a montage 120 for viewing on a display with different characteristics such as different sizes, resolutions, refresh rates, backlights, power consumption, etc. be able to. In such cases, the display component 130 may be configured to detect the display characteristics of the display and modify the montage 120 for display on the display. For example, the display component 130 is much larger, with more display tiles 124-a and tile objects 126-e, when displayed on a large wall display by touch control, as is done in many conference rooms. Version of Montage 120 can be generated. The display component 130, on the other hand, can generate a smaller version of the montage 120 with fewer display tiles 124-a and tile objects 126-e when displayed on a smartphone. Similarly, the display component 130 can generate a montage 120 with different levels of fidelity based on the screen resolution or pixel size of a given display. In another example, the display component 130 may generate one version of the montage 120 in portrait mode and another version of the montage 120 in panoramic mode, for example when the user rotates a smartphone or tablet. it can. The embodiments are not limited in this context.
[00120] The operation of the embodiments described above may be further described with reference to one or more logical flows. It can be understood that each logical flow does not necessarily have to be performed in the order presented or in any particular order, unless otherwise indicated. Moreover, the various operations described for logical flows can be performed in sequence or in parallel. Logical flows are implemented using one or more hardware and / or software elements of the embodiments described or alternatives as required for a given set of design and performance constraints. Can be done. For example, a logical flow can be implemented as logic (eg, a computer program instruction) for execution by a logical device (eg, a general purpose or dedicated computer).
[00121] FIG. 8A shows an embodiment of Logic Flow 800. The logical flow 800 represents some or all of the actions performed by one or more embodiments described herein, such as the creation component 110 of the montage application 140 for generating the montage 120. You may.
[00122] In the illustrated embodiment shown in FIG. 8A, logic flow 800 can provide a display surface with a plurality of display tiles in block 802. For example, the creation component 110 can provide a display surface 122 with a plurality of display tiles 124-a via the user interface 538. The display surface 122 may be selected from a large number of montage templates, or may be custom designed by the content creator.
[00123] At block 804, logical flow 800 can receive control instructions for associating a content file with a display tile. For example, the creation component 110 can receive control instructions 102-b to associate the content file 104-c with the display tile 124-a. Control instruction 102-b may be from an input device indicating a command by the content creator.
[00124] The logical flow 800 can specify the content file type of the content file in block 806. For example, the creation component 110 can identify the content file type for content file 104-c. Specifics are for the file extension of content file 104-c, the metadata of content file 104-c, the analysis of information in content file 104-c, and the application programs used to create content file 104-c. It can be done by investigating information and the like.
[00125] In block 808, the logical flow 800 can fetch some part of the content from the content file based on the content file type. For example, the create component 110 selects type module 202-g based on the content file type and uses the selected type module 202-g to associate it with the content file type found for content file 104-c. The appropriate content part 106-d can be fetched from the content file 104-c according to the type definition 204-h. In one embodiment, the content file 104-c may be stored in the local data store 210 and the content portion 106-d is captured through the data bus using the file navigation tool 304. In one embodiment, the content file 104-c may be stored in a remote data store 212 and the content portion 106-d is captured over the network using the file navigation tool 304.
[00126] The logical flow 800 can generate a tile object based on the content portion in the block 810. For example, the creation component 110 can use the selected type module 202-g to generate tile objects 126-e from the captured content portion 106-d according to the associated type definition 204-h. The tile object 126-e may be displayed within the display tile 124-a. The tile object 126-e allows the content user to determine whether they want to see the full fidelity view of the content file 104-c, so that the underlying content file 104-c It is designed to display enough information about.
[00127] The logical flow 800 can store the display surface and the tile object as a montage in the block 812. For example, the creation component 110 can store the display surface 122 and any tile object 126-e as a montage 120. The montage 120 can then be distributed, published and utilized by various content users, for example using the messaging system 500.
[00128] FIG. 8B shows an embodiment of logic flow 820. The logical flow 820 is part of or a part of the operation performed by one or more embodiments described herein, such as the creation component 110 of the montage application 140 for generating the tile object 126-e of the montage 120. It can represent everything.
[00129] In the illustrated embodiment shown in FIG. 8B, the logical flow 820 can receive control instructions at block 822 to associate the content file with the display tiles of the display surface of the digital montage. For example, the creation component 110 can receive control instructions 102-b to associate the content file 104-1 with the display tile 124-1 on the display surface 122 of a digital montage, such as a montage 120.
[00130] The logical flow 820 can specify the content file type of the content file in the block 824. For example, the creation component 110 can identify the content file type of content file 104-1. The creation component 110 is a content file 104-, among other things, as one of a word processing file, a spreadsheet file, a presentation file, a personal information manager file, a database file, a publisher file, a drawing file, a notepad file, or a message file. One content file type can be specified.
[00131] The logical flow 820 can capture the content portion of the content file at block 826 based on the content file type. For example, the creation component 110 can capture the content portion 106-1 of the content file 104-1 based on the identified content file type.
[00132] The logical flow 820 can generate a tile object based on the content portion in the block 828. For example, the create component 110 can automatically generate the tile object 126-1 based on the content portion 106-1. More specifically, the create component 110 creates a tile object 126-1 as a type object screen 346 with a selected content partial clip 344-v stored in the corresponding tile object container 342-u. Can be done.
[00133] The creation component 110 can automatically select some content part clips 344-v from the content part 106-1 of the content file 104-1 based on the content file type. More specifically, the create component 110 can select the content part clip 344-v from the content part 106-1 of the content file 104-1 based on the type definition 204-h associated with the content file type. , The type definition contains information about the content and property class, the content object class, or the content page class. When selected, the creation component 110 can associate the selected content partial clip with the corresponding object container 342-u on tile object face 346.
[00134] In addition, or as an alternative, the creation component 110 selects some content portion clips 344-v from the content portion 106-1 of the content file 104-1 in response to user control instructions. Can be done. For example, the creation component 110 can receive control instructions 102-b from the input device to select the content portion clip 344-v from the content portion 106-1 of the content file 104-1. In addition, the creation component 110 also provides control instructions 102-b for associating the selected content portion clip 344-v from the content portion 106-1 of the content file 104-1 with the corresponding tile object container 342-u. Can be received from the input device.
[00135] When the Content Part Clip 344-v is associated with the Tile Object Container 342-u, the Create Component 110 utilizes a fitting algorithm to fit the Content Part Clip 344-v into the corresponding Tile Object Container 342-u. The filled container 348-w can then be formed according to the container definition of the corresponding tile object container 342-u and / or the set of tile object faces 346.
[00136] When a set of filled containers 348-w is generated, the creation component 110 utilizes the same or similar fitting algorithm and follows the set of screen definitions for tile object faces 346 and / or display faces 122. The buried container 348-w can fit inside the tile object surface 346.
[00137] FIG. 9 shows an embodiment of the logic flow 900. The logical flow 900 may represent some or all of the operations performed by one or more embodiments described herein, such as the display component 130 of the montage application 140.
[00138] In the illustrated embodiment shown in FIG. 9, logical flow 900 generates a montage in block 902 that includes a display surface with multiple display tiles, each with a tile object for the corresponding content file. can do. For example, the display component 130 can generate a montage 120 that includes a display surface 122 with a plurality of display tiles 124-a, each having a tile object 126-e for the corresponding content file 104-c.
[00139] The logical flow 900 can transmit the montage and the content file to the network service in the block 904. For example, the public component 532 of Montage Application 140 sends Montage 120 and associated content files 104-c to network storage server 550 for storage by a remote data store 212 accessible via network service 652. Can be done.
[00140] Logical flow 900 can receive montages and references to each content file in block 906. For example, the public component 532 can receive a montage 120 and a link 518-n to each content file 104-c. Link 518-n may include a reference or pointer to a network version of montage 120 and each content file 104-c, such as stored in a remote data store 212.
[00141] Logical flow 900 can associate a reference to a content file with a corresponding tile object in block 908. For example, the public component 532 can pass the received link 518-n to the create component 110. The creation component 110 can associate the link 518-n to the content file 104-c with the corresponding tile object 126-e. When the content user selects tile object 126-e, display component 130 can populate the content file 104-c associated with tile object 126-e via the associated link 518-n.
[00142] FIG. 10 shows an embodiment of an exemplary computing architecture 1000 suitable for implementing various embodiments as previously described. Computing Architecture 1000 includes one or more processors, coprocessors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia inputs / outputs (I / O). Includes various common computing elements such as components. However, the embodiment is not limited to the implementation by the computing architecture 1000.
[00143] As shown in FIG. 10, the computing architecture 1000 includes a processing unit 1004, system memory 1006, and system bus 1008. The processing unit 1004 may be any of a variety of commercially available processors. Dual microprocessors and other multiprocessor architectures can also be utilized as processing unit 1004. System bus 1008 provides processing unit 1004 with an interface for system components, including, but not limited to, system memory 1006. System Bus 1008 is a combination of several types of buses that can be further interconnected to memory buses (with or without a memory controller), peripheral buses, and local buses using any of a variety of commercial bus architectures. It can be any of the architectures.
[00144] The system memory 1006 includes read-only memory (ROM), random access memory (RAM), dynamic RAM (DRAM), double data rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), and programmable. Polymer memory such as ROM (PROM), erasable programmable ROM (EPROM), electronically erasable programmable ROM (EEPROM), flash memory, dielectric polymer memory, orbonic memory, phase change memory or dynamic random memory, silicon -Oxide-Nitride-Oxide-Silicon (SONOS) may include various types of memory units, such as memory, magnetic or optical cards, or any other type of medium suitable for storing information. In the illustrated embodiment shown in FIG. 10, system memory 1006 may include non-volatile memory 1010 and / or volatile memory 1012. The basic input / output system (BIOS) can be stored in non-volatile memory 1010.
[00145] Computer 1002 includes an internal hard disk drive (HDD) 1014, a magnetic floppy (registered trademark) disk drive (FDD) 1016 for reading from and writing to a removable optical disk 1018, and a removable optical disk 1022 (eg, for example. It may include various types of computer readable storage media, including an optical disc drive 1020 for reading from (CD-ROM or DVD) and writing to it. HDD1014, FDD1016 and optical disk drive 1020 may be connected to system bus 1008 by HDD interface 1024, FDD interface 1026, and optical drive interface 1028, respectively. HDD interface 1024 for external drive implementations may include at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies.
[00146] Drives and associated computer-readable media provide volatile and / or non-volatile storage of data, data structures, computer executable instructions, and so on. For example, a large number of program modules may be stored in drives and memory units 1010, 1012, including operating system 1030, one or more application programs 1032, other program modules 1034, and program data 1036. One or more application programs 1032, other program modules 1034, and program data 1036 can be, for example, Montage Application 140, Create Component 110, Display Component 130, Security Component 536, Public Component 532, Message Component 534, User Interface 538. , And the messaging application 542 may be included.
[00147] A user may enter commands or information into computer 1002 through one or more wired / wireless input devices, such as a keyboard 1038 and a pointing device such as a mouse 1040. Other input devices may include microphones, infrared (IR) remote controls, joysticks, gamepads, stylus pens, touch screens, and the like. These and other input devices are often connected to the processing unit 1004 through an input device interface coupled to the system bus 1008, but other such as parallel port, IEEE1394 serial port, game port, USB port, IR interface, etc. It may be connected by an interface.
[00148] A monitor 1044 or other type of display device is also connected to the system bus 1008 via an interface such as the video adapter 1046. In addition to the monitor 1044, computers typically include other peripheral output devices such as speakers and printers.
[00149] Computer 1002 can operate in a networked environment using logical connections over wired and / or wireless communication to one or more remote computers, such as remote computer 1048. The remote computer 1048 may be a workstation, server computer, router, personal computer, portable computer, microprocessor-based entertainment device, peer device or other common network node, typically associated with computer 1002. Although it contains many or all of the elements described in, only the memory / storage device 1050 is shown for brevity. The logical connections shown include wired / wireless connections to local area networks (LAN) 1052 and / or larger networks, such as wide area networks (WAN) 1054. Such LAN and WAN networking environments are common in offices and businesses, all of which support global telecommunications networks, such as enterprise-scale computer networks such as intranets that can connect to the Internet.
[00150] When used in a LAN networking environment, computer 1002 is connected to LAN 1052 through a wired and / or wireless communication network interface or adapter 1056. The adapter 1056 can assist in wired and / or wireless communication to the LAN 1052, which may also include a wireless access point deployed to communicate with the wireless capabilities of the adapter 1056.
[00151] When used in a WAN networking environment, computer 1002 may include a modem 1058, or be connected to a communication server on WAN1054, or have other means for establishing communication through WAN1054, for example via the Internet. Modem 1058, which can be a wired and / or wireless device, whether internal or external, connects to system bus 1008 via input device interface 1042. In a networked environment, the program modules illustrated in connection with computer 1002, or parts thereof, may be stored in remote memory / storage device 1050. It will be appreciated that the network connections shown are exemplary and other means of establishing communication links between computers may be used.
[00152] Computer 1002 is, for example, a printer, scanner, desktop and / or portable computer, personal digital assistant (PDA), communications satellite, any device or location associated with a wirelessly detectable tag (eg, a store, newspaper). Wired and wireless devices or entities that use the IEEE802 standards, such as stores, break rooms), and operably deployed wireless devices that are in wireless communication with a telephone (eg, IEEE802.11 wireless modulation technique). It can operate to communicate. This is at least Wi-Fi (or Wireless) Includes Fidelity), WiMax, and Bluetooth® wireless technologies. Thus, the communication may be a predefined structure, such as a traditional network, or simply ad hoc communication between at least two devices. Wi-Fi networks use a wireless technology called IEEE802.11x (a, b, g, etc.) to provide a secure, reliable, and fast wireless connection. Wi-Fi networks can be used to connect computers to each other to the Internet and to wired networks (using IEEE 802.3 related media and features).
[00153] Various embodiments may be implemented using hardware elements, software elements, or a combination of both. Examples of hardware elements are devices, logic devices, components, processors, microprocessors, circuits, circuit elements (eg transistors, resistors, capacitors, inducers, etc.), integrated circuits, application-specific integrated circuits (ASICs), programmable. It may include logic devices (PLDs), digital signal processors (DSPs), field programmable gate arrays (FPGAs), memory units, logic gates, registers, semiconductor devices, chips, microprocessors, chipsets, and the like. Examples of software elements are software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, applications. It can include program interfaces (APIs), instruction sets, compute code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. The embodiment determines whether implemented using hardware elements and / or software elements, as desired in a given implementation, desired computational speed, power Le Bel, heat tolerances, processing It can vary according to any number of factors, such as the amount of cycles, input data rate, output data rate, memory resources, data bus rate, and other design or performance constraints.
[00154] Some embodiments may include manufactured articles. The manufactured article may include a storage medium for storing logic. Examples of storage media can store electronic data, including volatile or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writable or rewritable memory, etc.1 It may include one or more types of computer-readable storage media. Examples of logic are software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application programs. It can include various software elements such as interfaces (APIs), instruction sets, compute code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. In one embodiment, for example, a manufactured article may store executable computer program instructions that, when executed by a computer, cause the computer to perform a method and / or operation according to the described embodiment. Executable computer program instructions can include any suitable type of code, including source code, compiled code, interpreted code, executable code, static code, and dynamic code. Executable computer program instructions can be implemented according to a predefined computer language, method, or syntax for instructing a computer to perform a function. Instructions can be any suitable high-level programming language, low-level programming language, object-oriented programming language, visual programming language, compiler programming language, and / also.
[00155] Some embodiments may be described using the expression "one embodiment" or "some embodiment" with their derivatives. These terms mean that a particular function, structure, or feature described in relation to an embodiment is included in at least one embodiment. The appearance of the phrase "in one embodiment" in various places herein does not necessarily refer to the same embodiment.
[00156] Some embodiments may be described using the expressions "combined" and "connected" with their derivatives. These terms are not necessarily intended to be synonymous with each other. For example, some embodiments use the terms "connected" and / or "bonded" to indicate that two or more elements are in direct physical or electrical contact with each other. May be explained using. However, the term "combined" can also mean that two or more elements are not in direct contact with each other but are still cooperating or interacting with each other.
[00157] It is emphasized that the summary of this disclosure has been given to allow the reader to quickly identify the nature of the technical disclosure. The abstract is submitted with the understanding that it is not used to explain or limit the scope or meaning of the claims. In addition, it can be understood that in the embodiments for carrying out the invention described above, the various features are grouped together in a single embodiment for the purpose of simplifying the present disclosure. This method of the present disclosure should not be construed as reflecting the intent that the claimed embodiments require more features than those expressly stated in each claim. Rather, as the claims set forth below, the subject matter of the invention lies within, but not all, features of a single disclosed embodiment. Therefore, the following claims are incorporated herein into embodiments for carrying out the invention, and each claim is independent as a separate embodiment. To the extent of the attached claims, "including" and "in" The term "which" is used as a plain English synonym for the respective terms "comprising" and "where in", respectively. Moreover, terms such as "first," "second," and "third" are used merely as markers and are not intended to impose numerical requirements on their objects.
[00158] While this subject has been described in terms specific to structural features and / or the behavior of the method, the subject matter defined in the appended claims is the particular feature described above or It should be understood that the behavior is not necessarily limited. Rather, the particular features and behaviors described above are disclosed as exemplary forms that implement the claims.
19 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP2003513350A | Cites | Japan |
| JP2010170500A | Cites | Japan |
| JP2002014854A | Cites | Japan |
| JP08123813A | Cites | Japan |
| JP07129658A | Cites | Japan |
| JP2002278994A | Cites | Japan |
| JP2006277727A | Cites | Japan |
| JP2006244276A | Cites | Japan |
92 members in 18 offices
Priority claims24
| Document | Office | Kind | Date |
|---|---|---|---|
| 13161215 | United States of America | – | |
| 201113161215 | United States of America | A | |
| 201113161215 | United States of America | A | |
| 2011065489 | United States of America | W | |
| 2011065489 | United States of America | W | |
| PCTUS2011065489 | United States of America | – | |
| 13422814 | United States of America | – | |
| 201213422814 | United States of America | A | |
| 201213422814 | United States of America | A | |
| 2012030952 | United States of America | W | |
| 2012030952 | United States of America | W | |
| PCTUS2012030952 | United States of America | – | |
| 2012042830 | United States of America | W | |
| 2012042830 | United States of America | W | |
| 13161215 | – | – | – |
| 13422814 | – | – | – |
| PCTUS2011065489 | – | – | – |
| PCTUS2012030952 | – | – | – |
| US201113161215 | – | – | – |
| US2012042830 | – | – | – |
| US201213422814 | – | – | – |
| WO2011US65489 | – | – | – |
| WO2012US30952 | – | – | – |
| WO2012US42830 | – | – | – |
Members92
| Document | Office | Kind | |
|---|---|---|---|
| CA2821409A1 | Canada | A1 | |
| US2012162266A1 | United States of America | A1 | |
| US2012166496A1 | United States of America | A1 | |
| US2012166953A1 | United States of America | A1 | |
| US2012166954A1 | United States of America | A1 | |
| WO2012087824A2 | World Intellectual Property Organization (WIPO) | A2 | |
| TW201227371A | Taiwan Province of China | A | |
| CN102637444A | China | A | |
| WO2012087824A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2012087824A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US2012254713A1 | United States of America | A1 | |
| WO2012135348A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2012087824A4 | World Intellectual Property Organization (WIPO) | A4 | |
| TW201250506A | Taiwan Province of China | A | |
| WO2012174491A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2012135348A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2012135348A3 | World Intellectual Property Organization (WIPO) | A3 | |
| CN102915319A | China | A | |
| CN102929922A | China | A | |
| WO2013044194A2 | World Intellectual Property Organization (WIPO) | A2 | |
| TW201314670A | Taiwan Province of China | A | |
| WO2012174491A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2013044194A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2013044194A3 | World Intellectual Property Organization (WIPO) | A3 | |
| AR084586A1 | Argentina | A1 | |
| US2013174001A1 | United States of America | A1 | |
| AU2011349627A1 | Australia | A1 | |
| SG191130A1 | Singapore | A1 | |
| MX2013007194A | Mexico | A | |
| EP2656298A2 | European Patent Office (EPO) | A2 | |
| CO6781552A2 | Colombia | A2 | |
| CL2013001812A1 | Chile | A1 | |
| KR20130143614A | Republic of Korea | A | |
| KR20130143614A | Republic of Korea | A | |
| AR086868A1 | Argentina | A1 | |
| KR20140012698A | Republic of Korea | A | |
| EP2691833A2 | European Patent Office (EPO) | A2 | |
| CN103608803A | China | A | |
| KR20140043394A | Republic of Korea | A | |
| JP2014509097A | Japan | A | |
| AR087887A1 | Argentina | A1 | |
| EP2721522A2 | European Patent Office (EPO) | A2 | |
| KR20140069007A | Republic of Korea | A | |
| US2014208212A1 | United States of America | A1 | |
| EP2758862A2 | European Patent Office (EPO) | A2 | |
| JP2014519673A | Japan | A | |
| ZA201304331B | South Africa | B | |
| ZA201304331B | South Africa | B | |
| JP2014523552A | Japan | A | |
| RU2013128608A | Russian Federation | A | |
| RU2013128608A | Russian Federation | A | |
| JP2015503132A | Japan | A | |
| EP2758862A4 | European Patent Office (EPO) | A4 | |
| EP2691833A4 | European Patent Office (EPO) | A4 | |
| EP2721522A4 | European Patent Office (EPO) | A4 | |
| SG10201510550SA | Singapore | A | |
| SG10201510550SA | Singapore | A | |
| EP2656298A4 | European Patent Office (EPO) | A4 | |
| CN102929922B | China | B | |
| US9436685B2 | United States of America | B2 | |
| US2016334987A1 | United States of America | A1 | |
| JP6054401B2 | Japan | B2 | |
| TWI567570B | Taiwan Province of China | B | |
| JP2017021818A | Japan | A | |
| JP6081924B2 | Japan | B2 | |
| JP6092184B2 | Japan | B2 | |
| MX347008B | Mexico | B | |
| TWI579827B | Taiwan Province of China | B | |
| CN103608803B | China | B | |
| US9679404B2 | United States of America | B2 | |
| RU2625938C2 | Russian Federation | C2 | |
| US9715485B2 | United States of America | B2 | |
| CN107025916A | China | A | |
| CN102915319B | China | B | |
| CN107093055A | China | A | |
| JP6209259B2 | Japan | B2 | |
| US2017286369A1 | United States of America | A1 | |
| US2017309052A1 | United States of America | A1 | |
| JP6231981B2This record | Japan | B2 | |
| JP2018014116A | Japan | A | |
| KR20180049232A | Republic of Korea | A | |
| KR20180049232A | Republic of Korea | A | |
| IL227063A | Israel | A | |
| IL227063B | Israel | B | |
| BR112013016113A2 | Brazil | A2 | |
| KR101945064B1 | Republic of Korea | B1 | |
| KR101985558B1 | Republic of Korea | B1 | |
| US10331335B2 | United States of America | B2 | |
| EP2691833B1 | European Patent Office (EPO) | B1 | |
| US10515139B2 | United States of America | B2 | |
| CN107025916B | China | B | |
| EP2758862B1 | European Patent Office (EPO) | B1 |
13 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 | |
| Notification of change in applicantJAPANESE INTERMEDIATE CODE: A711A711 | A711 |
Numbers
- Publication
- 6231981
- Publication, DOCDB
- 6231981
- Publication, EPODOC
- JP6231981B
- Application
- 2014516070
- Application, DOCDB
- 2014516070
- Application, EPODOC
- JP20140516070
Titles2
- Japanese
- コンテンツファイルを表すカスタムオブジェクトを生成するための技法
- English
- Techniques for creating custom objects that represent content files
Classification
- CPC, 2
- G06F16/4393
- G06F16/958
- IPC, 1
- G06F3 0484
