CA2470720A1 - Mechanism for applying transforms to multi-part files - Google Patents

Mechanism for applying transforms to multi-part files Download PDF

Info

Publication number
CA2470720A1
CA2470720A1 CA002470720A CA2470720A CA2470720A1 CA 2470720 A1 CA2470720 A1 CA 2470720A1 CA 002470720 A CA002470720 A CA 002470720A CA 2470720 A CA2470720 A CA 2470720A CA 2470720 A1 CA2470720 A1 CA 2470720A1
Authority
CA
Canada
Prior art keywords
data
transform
list
stream
transforms
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CA002470720A
Other languages
French (fr)
Other versions
CA2470720C (en
Inventor
Michael J. Hillberg
Roger Cheng
David B. Ornstein
Jason M. Cahill
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CA2470720A1 publication Critical patent/CA2470720A1/en
Application granted granted Critical
Publication of CA2470720C publication Critical patent/CA2470720C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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. A request is received to access a stream within a multi-part fil e. Upon receipt of the request, a list of transforms associated with the stream is identified. The list is also included within the multi-part file. The transforms specifi ed in the list of transforms are performed on data before completing the request. If t he request is a write, the transforms encode the data. If the request is a read , the transforms decode the data. The list of transforms is order dependent. The list of transforms includes a data structure having a first stream that includes a m ap that correlates the stream with a name for the list of transforms. A second strea m that lists each of the transforms for the stream. A third stream for each of the transforms listed that identifies information associated with the transform.

Claims (27)

1. A computer-implemented method, comprising:
receiving a request to access a stream within a mufti-part file;
identifying a list of at least one transform associated with the stream, the list being identified from within the multi-part file; and performing the transforms specified in the list of transforms on data before completing the request.
2. The computer-implemented method of claim 1, wherein the multi-part file includes an OLE compound file.
3. The computer-implemented method of claim 1, wherein identifying the list of transforms comprises searching a data space map for the stream, the data space map providing a correlation between the stream and a data space name associated with a data space, the data space defining the list.
4. The computer-implemented method of claim 1, wherein the list of at least one transforms includes a type and a name for each transform listed.
5. The computer-implemented method of claim 1, wherein the list further includes transform instance data for one of the transforms identified in the list, the transform instance data specifies pertinent information for decoding data transformed by the one transform.
6. The computer-implemented method of claim 1, wherein the request is a write request of a data chunk and the at least one transform is performed on the data chunk to create encoded data that is written to a storage medium.
7. The computer-implemented method of claim 6, wherein the data chunk is not contiguous with other data chunks previously written to the storage medium for the stream.
8. The computer-implemented method of claim 6, wherein the data chunk is a fixed size chunk with other data chunks for the stream.
9. The computer-implemented method of claim 1, wherein the list includes a compression transform and an encryption transform.
10. The computer-implemented method of claim 1, wherein the request is a read request of a data chunk and the at least one transform performs an inverse transform on the data chunk retrieved from the stream to provide decoded data to the requestor.
11. A computer system having a mechanism for applying transforms to multi-part files, the computer system comprising:
a processor; and a memory, the memory being allocated for a plurality of computer-executable instructions which are loaded into the memory for execution by the processor, the computer-executable instructions performing a method comprising:
receiving a request to access a stream within a multi-part file;
identifying a list of at least one transform associated with the stream, the list being identified from within the multi-part file; and performing the transforms specified in the list of transforms on data before completing the request.
12. The computer system of claim 11, wherein the multi-part file includes an OLE compound file.
13. The computer system of claim 11, wherein identifying the list of transforms comprises searching a data space map for the stream, the data space map providing a correlation between the stream and a data space name associated with a data space, the data space defining the list.
14. The computer system of claim 11, wherein the list of at least one transforms includes a type and a name for each transform listed.
15. The computer system of claim 11, wherein the list further includes transform instance data for one of the transforms identified in the list, the transform instance data specifies pertinent information for decoding data transformed by the one transform.
16. The computer system of claim 11, wherein the request is a write request of a data chunk and the at least one transform is performed on the data chunk to create encoded data that is written to a storage medium.
17. The computer system of claim 16, wherein the data chunk is not contiguous with other data chunks previously written to the storage medium for the stream.
18. The computer system of claim 16, wherein the data chunk is a fixed size chunk with other data chunks for the stream.
19. The computer system of claim 11, wherein the list includes a compression transform and an encryption transform.
20. The computer system of claim 11, wherein the request is a read request of a data chunk and the at least one transform performs an inverse transform on the data chunk retrieved from the stream to provide decoded data to the requestor.
21. A computer-readable medium encoded with a data structure, comprising:
a first stream including a map that correlates a stream within a multi-part file with a name for a list of transforms;
a second stxeam that lists each of the transforms for the stream; and a third stream for each of the transforms, the third stream identifies information associated with the transform.
22. The computer-readable medium of claim 21, wherein the data structure is included within the multi-part file.
23. The computer-readable medium of claim 21, wherein the name for the list of transforms may be correlated with multiple streams within the multi-part file.
24. The computer-readable medium of claim 21, wherein the list of transforms is order dependent.
25. The computer-readable medium of claim 21, wherein the information identifies a class name and a class type for the transform.
26. The computer-readable medium of claim 25, wherein the information further identifies instance data associated with the transform.
27. The computer-readable medium of claim 26, wherein the transform includes a compression transform and the instance data includes a window size for the compression transform.
CA2470720A 2003-05-17 2003-05-17 Mechanism for applying transforms to multi-part files Expired - Fee Related CA2470720C (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 (2)

Publication Number Publication Date
CA2470720A1 true CA2470720A1 (en) 2004-11-17
CA2470720C CA2470720C (en) 2011-10-18

Family

ID=33449011

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2470720A Expired - Fee Related CA2470720C (en) 2003-05-17 2003-05-17 Mechanism for applying transforms 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337208A (en) * 2017-01-19 2018-07-27 中国电信股份有限公司 Data guard method, alternative based on cloud storage and cloud storage system

Families Citing this family (4)

* 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

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337208A (en) * 2017-01-19 2018-07-27 中国电信股份有限公司 Data guard method, alternative based on cloud storage and cloud storage system
CN108337208B (en) * 2017-01-19 2020-11-24 中国电信股份有限公司 Data protection method and replacement device based on cloud storage and cloud storage system

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
CA2470720C (en) 2011-10-18
MXPA04007407A (en) 2005-02-17
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
US8825617B2 (en) Limiting deduplication based on predetermined criteria
US11106633B2 (en) DNA-based data center with deduplication capability
US7831821B2 (en) System backup and recovery solution based on BIOS
US20140359233A1 (en) Read-write control method for memory, and corresponding memory and server
US20120137054A1 (en) Methods and systems for object level de-duplication for solid state devices
KR20150121703A (en) Methods and systems for storing and retrieving data
US10649905B2 (en) Method and apparatus for storing data
NO20003923D0 (en) Information storage and retrieval system for Õ store and retrieve information in visual form from a user program in a database
US20100082537A1 (en) File system for storage device which uses different cluster sizes
WO2006089092A3 (en) Hierarchal data management
CN102375850B (en) File arrangement method and starting method of electronic equipment and electronic equipment
US9959046B2 (en) Multi-streaming mechanism to optimize journal based data storage systems on SSD
US20040230576A1 (en) Mechanism for applying transforms to multi-part files
CN110569202A (en) Multimedia file playing method and system for movable storage equipment
TW200504577A (en) Management method for data storage in data recording medium, and information processing device using the same
US11210406B2 (en) Encrypting system level data structures
CA2470720A1 (en) Mechanism for applying transforms to multi-part files
TW200713235A (en) Distributed copying method and system
US10311026B2 (en) Compressed data layout for optimizing data transactions
US7565483B2 (en) Method and apparatus for exchanging data with a hard disk
US11592986B2 (en) Methods for minimizing fragmentation in SSD within a storage system and devices thereof
RU2001110366A (en) DATA MANAGEMENT IN THE RECEIVER / DECODER
JP2007215149A (en) Memory card with function of video/audio data processing
WO2016186602A1 (en) Deletion prioritization
CN104618644A (en) Method and terminal for writing image data into file

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20200831