MXPA04007407A - Mechanism for applying transorms to multi-part files. - Google Patents

Mechanism for applying transorms to multi-part files.

Info

Publication number
MXPA04007407A
MXPA04007407A MXPA04007407A MXPA04007407A MXPA04007407A MX PA04007407 A MXPA04007407 A MX PA04007407A MX PA04007407 A MXPA04007407 A MX PA04007407A MX PA04007407 A MXPA04007407 A MX PA04007407A MX PA04007407 A MXPA04007407 A MX PA04007407A
Authority
MX
Mexico
Prior art keywords
data
transformation
list
stream
transformations
Prior art date
Application number
MXPA04007407A
Other languages
Spanish (es)
Inventor
M Cahill Jason
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA04007407A publication Critical patent/MXPA04007407A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Described is a system and method for applying transforms to multi-part files (202). A request is received to access a stream within a multi-part file. Upon receipt of the request, a list of transforms associated with the stream is identified (210). The list is also included within the multi-part file (202). The transforms specified in the list of transforms are performed on data before completing the request. If the request is a write, the transforms encodes the data (414). If the request is a read, the transforms decode the data (430), the list of transforms is order dependent. The list of transforms includes a data structure having a first stream that includes a map that correlates the stream with a name for the list of transforms, a second stream that lists each of the transforms for the stream, as well as a third stream for each of the transforms listed that identifies information associated with the transform.

Description

MECHANISM TO APPLY TRANSFORMACIOÑES ~ A ~ AKCHIVOS - OF MULTIPLE PARTS This application has been filed as a PCT application filed on May 17, 2003 by MICROSOFT CORPORATION, a national and resident of the United States, designating all countries except E.U.A.
BACKGROUND OF THE INVENTION Current computer systems typically store a large amount of data in several files, the format for the files can be one of several different formats that are compatible with various applications, such as word processors, spreadsheets, and the like. Many times it is necessary to transmit a file to another computer, so that another user can see or manipulate the data within the file. Sometimes, when the file is quite large, a transformation (for example, compression) is performed on the file before sending the file to the other computer. When compressing the file, less bandwidth is required to send the data to the other computer. In other situations, another transformation (for example, cryptic encoding) can be performed to protect the data from being viewed by unauthorized users. Some of these framing "n" is time-specific coding methods - and use a separate file (eg, dictionary) to store the information with respect to the specific coding method. The separate file must be used when you have access to the transformed file. If the separate file is corrupted, lost or otherwise unavailable, the transformed file becomes useless. In addition, since some of these transformations define their own specific coding methods to intersperse encoded data and process information, once the file is transformed, the file can not be shared or have common processing performed on it. In addition, before the transformation of a file, the current transformations require that the data within the file be arranged in contiguous bytes. Ensuring that the bytes for the file remain contiguous consumes a large amount of overhead and is not viable for files that are edited regularly. In this way, although these transformations are very useful, the way in which they are implemented does not offer a versatile experience for the users.
COMPENDIUM OF THE INVENTION The present invention is directed to a system and method for implementing transformations that provide greater flexibility to users. In summary, the present invention provides a mechanism for storing? transformation information associated with one or more transformations within the multi-part file. The multi-part file also contains the data on which one or more transformations are applied. In this way, the present invention provides a file format for the multi-part file, so that applications that have access to the data can easily access the transformed data. In accordance with the invention, multiple data transformations can be chained together. These chained data transformations are referred to as "data spaces". Each data space has a unique edge and type for the transformations that are chained together. For example, two data spaces can specify the transformations, but specify a different order to apply the transformations. The transformation information contains information regarding the data spaces. According to another aspect of the invention, the multi-part file contains a plurality of streams. Each stream can be associated with one of the data spaces. In this way, according to the present invention, some streams within the multi-part file can be transformed, while other streams may remain in their native format. Stability to transform specific streams without requiring the transformation of the entire multipart file offers a great flexibility - of users, such as allowing the user to cryptically encode only the sensitive information within the multipart file (eg, write documents ). In this way, the present invention is directed to a system and method for applying transformations to multiple-part files, a request is received to access a stream within a multi-part file. After receiving the request, a list of transformations associated with the current is identified. The list is also included within the multi-part file. The transformations specified in the transformation list are performed on data before completing the request. If the request is a script, the transformations encode the data. If the request is a reading, the transformations decode the data. The list of transformations is of a dependent order. The list of transformations includes a data structure that has a first stream that includes a map that correlates the stream with a name for the list of transformations. A second stream that lists each of the transformations for the current. A third stream for each of the listed transformations that identifies information associated with the transformation.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram illustrating a computing device that can be used in implementations of the present invention. Figure 2 is a functional flow diagram that generally illustrates a summary of a transformation process according to the present invention. Figure 3 is a graphical representation of an illustrative tree hierarchy representing the transformation metadata shown in Figure 2. Figure 4 is a graphic illustration of the transformation procedure. Figure 5 is a logical flow diagram that generally shows a procedure for accessing transformed data within the multi-part file, according to one embodiment of the invention.
DESCRIPTION DETAIL OF THE PREFERRED MODALITY The invention provides a mechanism for applying transformations to multiple-part files. The mechanism provides a structure for specifying transformation information. Transformation information and transformed data co-exist within the same document. The mechanism of the invention is preferably based on a multi-part file format that allows multiple types of streams within a document. The inventors have determined that the file format of the Linking and Imbibition Object compound (OLE) is especially well suited for implementations of the invention. In this way, the following discussion describes the invention using the composite file format. However, those skilled in the art, after carefully reading the following description, will recognize that other multiple file formats may implement the present invention with various modifications to the mechanism described below to adapt the other multiple file formats. In this way, it will be appreciated that the embodiments of the invention are not limited to those described herein. The invention will now be described first with reference to an example of an illustrative computing environment, wherein the embodiments of the invention can be implemented. Next, a detailed example of a specific implementation of the invention will be described. Alternative implementations may also be included with respect to certain details of the specific implementation.
Illustrative Computing Environment of the Invention Figure 1 is a functional block diagram illustrating a computing device that can be used in implementations of the present invention. Figure 1 illustrates an illustrative computing device that can be used in illustrative implementations of the present invention. With reference to Figure 1, in a very basic configuration, the computing device 100 typically includes at least one processing unit 102 and a system memory 104. Depending on the exact configuration and type of computing device 100, the memory system 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.), or some combination of the two. The system memory 104 typically includes an operating system 105, one or more program modules 106, and may include program data 107. Examples of program modules 106 include a browser application, a finance administration application, a processor word, and the like. This basic configuration is illustrated in Figure 1 through those components within the faded line 108. The computing device 100 may have additional features or functionality. For example, the computing device 100 may also include additional data storage devices (removable and / or non-removable), such as, for example, magnetic disks, optical disks, or tapes. Said additional storage is shown in Figure 1 through removable storage 109 and non-removable storage 110. Computer storage media may include volatile and non-volatile media., removable and non-removable, implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. System memory 104, removable storage 109 and storage did not remove all 110 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, CD-ROM, digital versatile discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, storage on magnetic disk or other magnetic storage devices, or any other means that can be used to store desired information and that can be accessed through the computing device 100. Any computer storage medium can be part of the device 100. The computing device 100 may also have input devices 112 such as a keyboard, mouse, and pen, voice input device, touch input device, etc. Output devices 114 such as a presentation, speakers, printer, etc. may also be included. These devices are well known in the art and do not need to be discussed here. The computing device 100 may also contain communication connections 116 which allow the device 100 to communicate with other computing devices 118, such as through a network. The communication connections 116 are an example of communication means. The means of communication can typically be modeled by computer-based instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and include any means of supplying information. The term "modulated data signal" means a signal having one or more of its characteristics set or changed in such a way as to encode the information in the signal. By way of example, and not limitation, the media includes means by cables such as a wired network or a cable-directed connection, and wireless means such as acoustic, RF, infrared, and other wireless media. The term computer readable media, as used herein, includes both storage media and media.
General Discussion of Components Figure 2 is a functional flow diagram that generally shows a summary of the components of an environment presented by the present invention. A multi-part file 202, preferably an OLE composite file, is illustrated. The OLE document model is known in the art and is widely recognized as a mechanism for containing many different types of data within a single document. Conventionally, the OLE composite file is used in conjunction with several embedded files or other support content associated with a single document. Each eTem ~ eTTt "or eñ arclTivü co ~m" pn_res is stored in a way that can be manipulated by the application that created the element. Each element is stored as a current, such as the currents 204, 206 and 208 shown in Figure 2. As mentioned above, each stream can be one of several types. For example, stream 1 204 may be a word processing document, stream 2 206 may be a spreadsheet, and stream Z 208 may be a graphics file. In the past, after requesting a transformation into a multi-part file 202, all the contents of the multi-part file 202 (i.e., streams 204-208) could be required to be contiguous and could be transformed as a whole. However, according to the present invention, currents 204-208 need not be contiguous. Rather, streams 204-208 can be sector-based. For the following discussion, sector-based files refer to files that have multiple pieces of data that are stored and represent the entire stream. The multiple pieces can be stored contiguously, but typically they are stored in a non-contiguous form. In one embodiment, the pieces may be of fixed size, such as a fixed size of 512 bytes. Alternatively, the pieces may be of variable size without departing from the scope of the invention. When the stream is edited, a new piece of data can be created and stored in noncontiguous bytes in relation to other pieces of data for the cornerTte. This sector-based "roscrum" allows easy editing of the flow without the expense of ensuring that the current remains contiguous. As will be described later in detail, the present invention allows specific pieces of data 240 associated with a stream (e.g., stream 206) within the multi-part file 202 to be transformed without transforming other streams. Since the present invention allows specific streams to be transformed independent of other streams, the invention provides greater flexibility to secure and control the data. For example, Figure 2 illustrates current 2 206 undergoing a transformation procedure. The stream 2 206 may represent a spreadsheet containing the costs associated with a particular item. Therefore, it may be desirable to secure this cost information, so that unauthorized users can not see the costs. In this way, data 240 destined for stream 2 206 undergoes a chain of transformations (i.e., transformations 220-224). One skilled in the art will appreciate, that any number of transformations can be chained and can be chained in any order. The specific transformations that are chained and the order in which the transformations are chained represent a data space 230. In general, a data space can specify a transformation or it can specify multiple transformations. In the previous example, the last transformation (for example, transformation 224) writes down transformed data to current ^ 206, which may reside on a disk (not shown). One embodiment for using the mechanism for applying transformations to multi-part files is described in detail with reference to Figure 4 below.
Discussion of a Particular Modality of the Invention Figure 3 is a graphic representation of a modality of a tree hierarchy representing the transformation metadata 210 shown in Figure 2. In general, the tree hierarchy can be included within the file. Multiple parts in any form compatible with the multi-part file. The following discussion describes the tree hierarchy with reference to composite files. In summary, composite files are commonly considered as a "file system within a file". Within the composite file is a hierarchy of "storages," which are analogous to directories in a file system, and "stream," which are analogous to files in a file system. For Figure 3, the rectangular boxes represent the currents and the ovals represent the storage. Before describing the transformation metadata 210 of the present invention, it will be noted that the currents 204-208 (shown in Figure 2) are illustrated below the root 302 in this hierarchical example. The definition of currents under the root is a common technique for composite file formats.
The transformation metadata 2? 0 provided by the present invention will now be discussed in more detail. A special storage, called 7006 Data Spaces "310 outside the root 302 stores the transformation metadata 210. The storage 310 of / 006 Data Space contains a stream of Data Space Map 320, a storage of Data Space Information 330 , and a storage of Transformation Information 340. For this mode, the name selected for the special storage, "/ 006 Data Spaces", is written in the context of the programming language C. In this way, in this mode, the name It begins with a signal that is not alphanumeric and a signal value of 6. In general, the name assigned to the special storage is arbitrary and depends on the user's implementation The Map of Data Space Map 320 maps the currents ( for example, streams 204-208) with their associated data space In one embodiment, the stream of Data Space Map 320 is a table that has two colu mnas: a current reference column 322 and a Data Space Name column 324. The contents within the current reference column 322 refer to one of the streams (e.g., streams 204-208) stored within the compound document The contents within the data space name refer to a specific data space that has been defined by the associated stream-associated within the current reference column 322. A flat space can be associated with any "current" number. For example, as shown in Figure 3, the data space identified as "Data Space Name 1" is associated with stream 1 204 and stream 2 206. Although the above description of the Space Map stream Data 320 describes the data space map stream 320 as a table, those skilled in the art will appreciate that other data formats can also be used to identify and correlate the stream with a data space. Data 330 contains one or more Data Space Name streams (e.g., Data Space Name stream 332 and 334). ta, the Data Space Name stream is named according to conventions of short name of composite file standards. Each stream of data space name 332 and 334 identifies a list 336 of transformations associated with the respective data space name stream 332 and 334. In one embodiment, each of the data space name streams 332 and 334 may be an ordered list of the transformations that make up the data space. Due to the pile of transformations, the order within the 336 list is important. In one embodiment, the first transformation 337 within the list 336 is referred to as the "background" transformation, which means that the transformation 337 is closest to the bits - in the underlying data stream (e.g. ) The last transformation 3 ~ 39 within the list 336 is referred to as the "higher" transformation, which means the transformation 339 that is closer to the consumer / producer of the data (eg, an application). As will be described in detail below with reference to Figure 4 the order specified in the list 336 determines the flow of data through the transformations. The storage of Transformation Information 340 contains one more Transformation Case storage (e.g., storage of Transformation Case 342, 344 and 346). In a modality, the names of these sub-storage are the names of the transformations. Within each of the Transformation Case storages 342, 344 and 346 there is at least one stream called '7006 primary' 350. The stream / 006 primary 350 contains information relevant to the specific transformation, such as the type of Transformation Class 354 and Transformation Class Name 356. Transformation Class Type 354 denotes a particular transformation class that implements a particular transformation (for example, LZ compression, Digital Rights Management (DRM) protection, and the like) In one embodiment, the transformation class name 356 is specified as a string that uniquely identifies the class (ie, the type) of the transformation.The string that identifies the class can be a class name for the class that implements the class. Transformation The class trick of traversformation-354 specifies a type indicator. which tells you how to interpret the string specified in the Transformation Class Name 356. The primary stream / 006 350 may also contain space for the Transform Case Data 358. The Transform Case Data 358 stores specified information at the specified transformation by the Transformation Class Name 356 and Transformation Class Type 354. For example, if the transformation is a compression transformation, the Transform Case Data 358 may contain a window size, and the like. For certain transformations, the Case Data of Transformation 358 can not allow enough space to store the necessary information. Thus, as an additional refinement, the present invention allows transformations to store additional information in the Transformation Case Data stream (e.g., Transformation Case Data stream 370). This was allowed as long as there were no name collisions with the current / 006 primary 350. The nature of the Transformation Case Data will vary depending on the type of transformation. Although the above tree hierarchy describes a modality of a document format for storing transformed data with its transformation information, those skilled in the art will appreciate that the hierarchy can be changed without impacting the operation of the present invention. Therefore, any tree hierarchy in which the transformation information is stored together with the transformed data does not depart from the present invention. Figure 4 is a graphic illustration of the transformation procedure wherein the mechanism for formatting documents having transformed data according to the present invention is used. In this illustrative transformation procedure, an application 400 attempts to read and write to the multi-part file 202 described in Figure 2. In general, each case of a transformation class takes an inferium of current I as input, and outputs as a result data encoded (i.e., transformed) to another current infer. I. Transformations (eg, transformations 420 and 422) are recorded and the data space associated with stream 206 has already been specified, such as through the interface application programming provided by OLE composite documents. For example, when stream 206 was created first, the application that created stream 206 within the multipart document 202 was responsible for specifying which transformations to apply to the data. This could have happened through an argument list, where each argument called a transformation. The read and write access is through an OS layer. In the past, a write operation will be accessed in the stream 2 206 through the current interface I 414. However, according to the present invention, one or more transformations can be inserted before the current interface I 414 Each ka ^ sf-ofma € + n (by ß + ß-? T? _4? T- U ^ a ^ sformation 420 and 4-22) takes-u-ca current interface I as input ~ (current interface I 41 ü and 412, respectively), and outputs its coded (i.e., transformed) data to another current interface I (current interface I 412 and 414, respectively). Also, when application 400 tries to read stream 2 206 within the multi-part file 202, one or more inverse transformations (e.g., inverse transformations 450 and 452) can be inserted. The number of inverse transformations is identical to the number of transformations in order for the data to be properly decoded so that the application can understand the data. The manner in which the transformations are inserted between the application 400 and the stream 206 will now be described in relation to Figure 5. Figure 5 is a logical flow diagram that generally shows a procedure for accessing transformed data within a composite file, according to the invention. The procedure 500 starts at the start block 501, where an application has requested access to data within a stream of a multi-part file. The transformation information 210 has already been specified for the stream. In the decision block, a determination is made whether the stream is a member of a data space. Referring to Figure 3, for a modality, this determination is made by looking inside the Data Space Map for the current reference 322 which identifies the requested current; If the cornered reference '622 associated with the current is not present, the current has no defined transformation and processing continues at the end.In this situation, the application has access to the data in a However, if current reference 322 is contained within the Data Space Map, processing continues in block 504. In block 504, the Data Space Name associated with the current reference 322 is obtained The Data Space Name may be a string or any other format In block 506, when using the data space name obtained from block 504, the storage of Data Space Information is searched to identify the current Data Space Name associated with the name of the data space identified within the Data Space Map. Transformations associated with this data space name. In block 508, a transformation is identified from within the list. Depending on whether the access is a script or a read, the transformation may encode the data or it may decode the data, respectively. The Data Space Name stream lists each transformation in a specific order. If the access is a script, the order is from top to bottom. If the access is a reading, it is order is from bottom to top. In block 510, the identified transformation is applied. - When the transformation of the case data < Transformation is used to transform the data properly. If the access is a script, the transformation (encode) is applied. If the access is a reading, the inverse transformation (decode) is applied. In decision block 512, a determination is made if the data space includes any chain transformation. This can be determined by seeing if the list 336 refers to more than one transformation case. If the last transformation in the data space has been applied, the last transformation sends the data and the procedure is completed. However, if another transformation is listed, the processing returns to block 508 and proceeds as described above until the last transformation is applied. In addition, one skilled in the art will appreciate that the functionality provided by the method 300 can be implemented in several ways. For example, there may be a map design directly from the stream name to a transformation list (skipping the use of a data space). In this way, the present invention includes this and other modalities for mapping current to its transformation information. The method 500 illustrates such a mode. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made in the spirit and scope thereof, the invention resides in the appended claims. 5/5

Claims (1)

22 CLAIMS
1- A computer-implemented method comprising: receiving a request to access a stream within a multi-part file; identify a list of at least one transformation associated with the stream, the list being identified from inside the multi-part file; and perform the transformations specified in the transformations list on the data before completing the request. 2. The method implemented by computer according to claim 1, wherein the multi-part file includes an OLE composite file. 3. The method implemented by computer according to claim 1, wherein the identification of the list of transformations comprises finding a data space map for the current, the data space map providing a correlation between the current and a name of the data space associated with the data space, the data space defining the list. 4. The method implemented by computer according to claim 1, wherein the list of at least one of the transformations includes a type and a name for each transformation listed. The method implemented by computer according to claim 1, wherein the list also includes transformation case data for one of the transformations identified in the list, the transformation case data specifies relevant information for decoding transformed data. for the transformation. 6. - The method implemented by computer according to claim 1, wherein the request is a request to write a piece of data and at least a transformation is performed 10 on the piece of data to create coded data that is written to a storage medium. 7. - The method implemented by computer according to claim 6, wherein the piece of data is not contiguous with other pieces of data previously written in the middle of 15 storage for the current. 8. - The method implemented by computer according to claim 6, wherein the piece of data is a piece of fixed size with other pieces of data for the stream. 9. - The method implemented by computer according to claim 1, wherein the list includes a compression transformation and a cryptic modification transformation. 10. - The method implemented by computer according to claim 1, wherein the request is a request to read a piece of data and at least one transformation performs a -25 - tr nsforma ci-on - m-versa - en - ha - pioza - de - efat & s --eGu-pe-ra G¾ - de - la 24 e ~~~~~~~~~~~~~~~~ ona ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ memory, the memory being distributed to a plurality of computer executable instructions, which are loaded into memory to be executed by the processor, the executable instructions by computer perform a method comprising: receiving a request to have access to a current within a file of multiple parts, identify a list of at least one transformation associated with the stream, the list being identified from inside the multi-part file, and perform the transformations specified in the list of transformations and n the data before completing the application. 12. - The computer system according to claim 11, wherein the multiple-part file includes an OLE composite file. 13. - The computer system according to claim 11, wherein the identification of the transformation list comprises searching a data space map for the stream, the data space map providing a correlation between the stream and n imro e-de-e s ~ oda o-a ~ aa & ac The do with a data space, the space d¾ † os ~ defining the list. 14. The computer system according to claim 11, wherein the list of at least one transformation includes a type and a name for each listed transformation. 15.- The computer system according to the claim 11, wherein the list also includes transformation case data for one of the transformations identified in the list, the transformation case data specifies the relevant information for decoding data transformed by a transformation. 16. - The computer system according to claim 11, wherein the request is a request to write a piece of data and at least one transformation is performed on the piece of data to create coded data that is written to a storage medium. 17. - The computer system according to claim 16, wherein the piece of data is not contiguous with other pieces of data previously written in the storage medium for the stream. 18.- The computer system according to the claim 16, wherein the piece of data is a piece of fixed size with other pieces of data for the stream. 19. The computer system according to claim 11, wherein the list includes a transformation of understanding and a transformation of cryptic coding 26 2tn The computer system according to claim 11, wherein the request is a request of reading a piece of data and at least one transformation performs an inverse transformation of the piece of data retrieved from the stream to provide decoded data to the requester. 21. A computer-readable medium encoded with a data structure, comprising: a first stream including a map correlating a stream within a multi-part file, with a name for a list of transformations; a second current that lists each of the transformations for the current; and a third stream for each of the transformations, the third stream identifies information associated with the transformation. 22. - The computer readable medium according to claim 21, wherein the data structure is included within the multi-part file. 23. - The computer readable medium according to claim 21, wherein the name for the list of transformations can be correlated with multiple streams within the multi-part file. 24. - The computer readable medium according to claim 21, wherein the list of transformations is of order -25 dependent 27 2 ~ 5t ^ ?? computer readable medium according to Ta claim 21, where the information identifies a class name and a class type for the transformation. 26. - The computer readable medium according to claim 25, wherein the information further identifies case data associated with the transformation. 27. - The computer readable medium according to claim 26, wherein the transformation includes a compression transformation and the case data includes a window size for the compression transformation.
MXPA04007407A 2003-05-17 2003-05-17 Mechanism for applying transorms to multi-part files. MXPA04007407A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2003/015707 WO2004107198A1 (en) 2003-05-17 2003-05-17 Mechanism for applying transorms to multi-part files

Publications (1)

Publication Number Publication Date
MXPA04007407A true MXPA04007407A (en) 2005-02-17

Family

ID=33449011

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04007407A MXPA04007407A (en) 2003-05-17 2003-05-17 Mechanism for applying transorms to multi-part files.

Country Status (9)

Country Link
EP (1) EP1625510A4 (en)
JP (1) JP4378342B2 (en)
KR (1) KR100965709B1 (en)
CN (1) CN100430916C (en)
AU (1) AU2003241506B8 (en)
BR (1) BR0306999A (en)
CA (1) CA2470720C (en)
MX (1) MXPA04007407A (en)
WO (1) WO2004107198A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007139552A1 (en) * 2006-05-31 2007-12-06 Citrix Systems, Inc. Systems and methods for determining the charset encoding for decoding a request submission in a gateway
US8255373B2 (en) 2008-10-24 2012-08-28 Microsoft Corporation Atomic multiple modification of data in a distributed storage system
US9996572B2 (en) 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage
US8886796B2 (en) 2008-10-24 2014-11-11 Microsoft Corporation Load balancing when replicating account data
CN108337208B (en) * 2017-01-19 2020-11-24 中国电信股份有限公司 Data protection method and replacement device based on cloud storage and cloud storage system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8901827A (en) * 1989-07-14 1991-02-01 Oce Nederland Bv SYSTEM FOR PROCESSING FILE ORGANIZED DATA, MANAGEMENT MODULE USED THEREIN AND STORAGE MEDIA, PROVIDED WITH THE PROGRAMMING OF THIS MANAGEMENT MODULE.
JP3308770B2 (en) * 1994-07-22 2002-07-29 三菱電機株式会社 Information processing apparatus and calculation method in information processing apparatus
US5742818A (en) * 1995-12-15 1998-04-21 Microsoft Corporation Method and system of converting data from a source file system to a target file system
US6339775B1 (en) * 1997-11-07 2002-01-15 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US20020001412A1 (en) * 1998-07-21 2002-01-03 Hewlett-Packard Company System for variable quantization in jpeg for compound documents
US6357042B2 (en) * 1998-09-16 2002-03-12 Anand Srinivasan Method and apparatus for multiplexing separately-authored metadata for insertion into a video data stream
SE513356C2 (en) * 1998-11-20 2000-08-28 Ericsson Telefon Ab L M Method and apparatus for encrypting images
US7644366B1 (en) * 1999-07-30 2010-01-05 Computer Associates Think, Inc. Method and system for displaying a plurality of discrete files in a compound file
US6529948B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
US20020003886A1 (en) * 2000-04-28 2002-01-10 Hillegass James C. Method and system for storing multiple media tracks in a single, multiply encrypted computer file
EP1189432A3 (en) * 2000-08-14 2004-10-20 Matsushita Electric Industrial Co., Ltd. A hierarchical encryption scheme for secure distribution of predetermined content

Also Published As

Publication number Publication date
AU2003241506B2 (en) 2009-11-26
JP4378342B2 (en) 2009-12-02
AU2003241506B8 (en) 2010-01-07
EP1625510A4 (en) 2008-03-12
KR20060037217A (en) 2006-05-03
AU2003241506A1 (en) 2005-01-21
BR0306999A (en) 2005-02-09
CN1615477A (en) 2005-05-11
JP2006526191A (en) 2006-11-16
CA2470720A1 (en) 2004-11-17
CA2470720C (en) 2011-10-18
KR100965709B1 (en) 2010-06-24
EP1625510A1 (en) 2006-02-15
WO2004107198A1 (en) 2004-12-09
CN100430916C (en) 2008-11-05

Similar Documents

Publication Publication Date Title
US7523221B2 (en) Mechanism for applying transforms to multi-part files
US7631022B2 (en) Information processing apparatus and recording medium
US6789094B2 (en) Method and apparatus for providing extended file attributes in an extended attribute namespace
US7716570B2 (en) Interfaces for creation and access of extensible markup language paper specification documents
US7917845B2 (en) System and method for managing dynamic document references
US9460060B2 (en) System and method for managing dynamic document references
EP2309398A1 (en) Method and system for performing unstructured data
US8261187B2 (en) System and method for managing dynamic document references
US10726147B2 (en) File encryption support for FAT file systems
JP2008537259A (en) Efficient description of relationships between resources
US8250468B2 (en) System and method for managing dynamic document references
US8775933B2 (en) System and method for managing dynamic document references
JP2005301853A (en) Information processor and information processing method, program, and storage medium
KR20070103464A (en) System and method for extensible metadata architecture for digital images
US7689634B2 (en) Flexible approach to store attribute information (META-DATA) related to files of a file system
CA2470720C (en) Mechanism for applying transforms to multi-part files
US20060242141A1 (en) Abstracted metadata policy component and related architecture
RU2348069C2 (en) Mechanism of modification application to files consisting of multiple parts
CN105243090A (en) Exclusive file acquisition method and system
KR20050006975A (en) Method for Controlling Content Files Using Identification
Wirth et al. Sequential input and output

Legal Events

Date Code Title Description
FG Grant or registration